from _typeshed import Incomplete
from typing import Any

# Necessary for mypy to not throw AssertionError with win32com.client
class CDispatch:
    def __init__(
        self,
        IDispatch,
        olerepr,
        userName: Incomplete | None = ...,
        UnicodeToString: Incomplete | None = ...,
        lazydata: Incomplete | None = ...,
    ) -> None: ...
    def __call__(self, *args): ...
    def __bool__(self) -> bool: ...
    def __dir__(self): ...
    def __eq__(self, other): ...
    def __ne__(self, other): ...
    def __int__(self) -> int: ...
    def __len__(self) -> int: ...
    def __getitem__(self, index): ...
    def __setitem__(self, index, *args) -> None: ...
    def __LazyMap__(self, attr): ...
    def __AttrToID__(self, attr): ...
    ob: Incomplete
    # CDispatch objects are dynamically generated and too complex to type
    def __getattr__(self, attr: str) -> Any: ...
    def __setattr__(self, attr: str, value: Any) -> None: ...
