from attrdict.mixins import MutableAttr
from typing import Any, Optional


class AttrDefault(MutableAttr):
    def __init__(self, default_factory: Optional[Any] = ..., items: Optional[Any] = ..., sequence_type: Any = ...,
                 pass_key: bool = ...) -> None: ...

    def __getitem__(self, key: Any): ...

    def __setitem__(self, key: Any, value: Any) -> None: ...

    def __delitem__(self, key: Any) -> None: ...

    def __len__(self): ...

    def __iter__(self) -> Any: ...

    def __missing__(self, key: Any): ...
