from typing import Tuple, Set, Iterable, List


class AddInIdAttribute:
    def __init__(self, addInIdStr: str): ...
    @property
    def Value(self) -> ValueType: ...


class IEntryPoint:
    def Initialize(self, obj: Object, addinFolder: str) -> None: ...
    def FinishInitialization(self) -> None: ...
    def OnShutdown(self) -> None: ...
    @property
    def AddinFolder(self) -> str: ...


class ApplicationEntryPoint(Application):
    def __init__(self): ...
    def Initialize(self, obj: Object, addinFolder: str) -> None: ...
    def FinishInitializationEO(self) -> None: ...
    def OnShutdownEO(self) -> None: ...
    @property
    def AddinFolder(self) -> str: ...


class DocumentEntryPoint(Document):
    def __init__(self): ...
    def Initialize(self, obj: Object, addinFolder: str) -> None: ...
    def FinishInitializationEO(self) -> None: ...
    def OnShutdownEO(self) -> None: ...
    @property
    def AddinFolder(self) -> str: ...


class VendorIdAttribute:
    def __init__(self, vendorIdStr: str): ...
    @property
    def Value(self) -> str: ...
