import abc
from abc import ABC
from pythoncom import CoInitialize as CoInitialize, CoUninitialize as CoUninitialize

def com_server_is_running(prog_id: str): ...
def get_clsid(cls): ...
def create_new_instance_explicitly(clsid): ...

class AppObject:
    def __init__(self, obj) -> None: ...
    def __getattr__(self, name): ...
    def __call__(self): ...

class Application(ABC, metaclass=abc.ABCMeta):
    def __new__(cls, dispatch_object=None): ...
    def __init__(self, dispatch_object=None) -> None: ...

class AppObjectCollection(AppObject):
    def __init__(self, obj) -> None: ...
    @property
    def Count(self) -> int: ...
    def Item(self, Index: int | str) -> AppObject: ...
    def __iter__(self): ...

def clear_com_cache() -> None: ...
