from .Base import *
from .Objects.AcadApplication import *
from .Proxy import *

class IAcadObject(AppObject):
    def __init__(self, obj) -> None: ...
    Application: AcadApplication
    Document: AcadDocument
    Handle: str
    HasExtensionDictionary: bool
    ObjectName: str
    ObjectID: int
    OwnerID: int
    def GetExtensionDictionary(self) -> AcadDictionary: ...
    def GetXData(self, AppName: str = '') -> tuple: ...
    def SetXData(self, XDataType: vShortArray, XDataValue: vVariantArray) -> None: ...

class AcadObject(IAcadObject):
    def __init__(self, obj) -> None: ...
    def Delete(self) -> None: ...

class IAcadObjectCollection(IAcadObject):
    def __init__(self, obj) -> None: ...
    Count: int
    def Item(self, Index: int | str): ...
    def __iter__(self): ...
