from _typeshed import Incomplete
from typing import Any

import _win32typing

def __getattr__(name: str) -> Any: ...  # incomplete
def CoCreateFreeThreadedMarshaler(unk: _win32typing.PyIUnknown) -> _win32typing.PyIUnknown: ...
def CoCreateInstanceEx(
    clsid: _win32typing.PyIID,
    unkOuter: _win32typing.PyIUnknown,
    context,
    serverInfo: tuple[Incomplete, Incomplete, Incomplete, Incomplete],
    iids: list[_win32typing.PyIID],
) -> _win32typing.PyIUnknown: ...
def CoCreateInstance(
    clsid: _win32typing.PyIID, unkOuter: _win32typing.PyIUnknown, context, iid: _win32typing.PyIID
) -> _win32typing.PyIUnknown: ...
def CoFreeUnusedLibraries() -> None: ...
def CoInitialize() -> None: ...
def CoInitializeEx(flags) -> None: ...
def CoInitializeSecurity(
    sd: _win32typing.PySECURITY_DESCRIPTOR, authSvc, reserved1, authnLevel, impLevel, authInfo, capabilities, reserved2
) -> None: ...
def CoGetInterfaceAndReleaseStream(stream: _win32typing.PyIStream, iid: _win32typing.PyIID) -> _win32typing.PyIUnknown: ...
def CoMarshalInterThreadInterfaceInStream(iid: _win32typing.PyIID, unk: _win32typing.PyIUnknown) -> _win32typing.PyIStream: ...
def CoMarshalInterface(
    Stm: _win32typing.PyIStream, riid: _win32typing.PyIID, Unk: _win32typing.PyIUnknown, DestContext, flags
) -> None: ...
def CoUnmarshalInterface(Stm: _win32typing.PyIStream, riid: _win32typing.PyIID): ...
def CoReleaseMarshalData(Stm: _win32typing.PyIStream) -> None: ...
def CoGetObject(name: str, iid: _win32typing.PyIID, bindOpts: Incomplete | None = ...) -> _win32typing.PyIUnknown: ...
def CoUninitialize() -> None: ...
def CoRegisterClassObject(iid: _win32typing.PyIID, factory: _win32typing.PyIUnknown, context, flags): ...
def CoResumeClassObjects() -> None: ...
def CoRevokeClassObject(reg) -> None: ...
def CoTreatAsClass(clsidold: _win32typing.PyIID, clsidnew: _win32typing.PyIID) -> None: ...
def CoWaitForMultipleHandles(Flags, Timeout, Handles: list[int]): ...
def Connect(cls) -> _win32typing.PyIDispatch: ...
def CreateGuid() -> _win32typing.PyIID: ...
def CreateBindCtx() -> _win32typing.PyIBindCtx: ...
def CreateFileMoniker(filename: str) -> _win32typing.PyIMoniker: ...
def CreateItemMoniker(delim: str, item: str) -> _win32typing.PyIMoniker: ...
def CreatePointerMoniker(IUnknown: _win32typing.PyIUnknown) -> _win32typing.PyIMoniker: ...
def CreateTypeLib(): ...
def CreateTypeLib2(): ...
def CreateStreamOnHGlobal(hGlobal: int | None = ..., DeleteOnRelease: bool = ...) -> _win32typing.PyIStream: ...
def CreateILockBytesOnHGlobal(hGlobal: int | None = ..., DeleteOnRelease: bool = ...) -> _win32typing.PyILockBytes: ...
def EnableQuitMessage(threadId) -> None: ...
def FUNCDESC() -> _win32typing.FUNCDESC: ...
def GetActiveObject(cls) -> _win32typing.PyIUnknown: ...
def GetClassFile(fileName) -> _win32typing.PyIID: ...
def GetFacilityString(scode) -> str: ...
def GetRecordFromGuids(
    iid: _win32typing.PyIID, verMajor, verMinor, lcid, infoIID: _win32typing.PyIID, data: Incomplete | None = ...
): ...
def GetRecordFromTypeInfo(TypeInfo: _win32typing.PyITypeInfo): ...
def GetRunningObjectTable(reserved: int = ...) -> _win32typing.PyIRunningObjectTable: ...
def GetScodeString(scode) -> str: ...
def GetScodeRangeString(scode) -> str: ...
def GetSeverityString(scode) -> str: ...
def IsGatewayRegistered(iid: _win32typing.PyIID) -> bool: ...
def LoadRegTypeLib(iid: _win32typing.PyIID, versionMajor, versionMinor, lcid) -> _win32typing.PyITypeLib: ...
def LoadTypeLib(libFileName: str) -> _win32typing.PyITypeLib: ...
def MakePyFactory(iid: _win32typing.PyIID) -> _win32typing.PyIClassFactory: ...
def MkParseDisplayName(
    displayName: str, bindCtx: _win32typing.PyIBindCtx | None = ...
) -> tuple[_win32typing.PyIMoniker, Incomplete, _win32typing.PyIBindCtx]: ...
def New(cls) -> _win32typing.PyIDispatch: ...
def ObjectFromAddress(address, iid: _win32typing.PyIID) -> _win32typing.PyIUnknown: ...
def ObjectFromLresult(lresult, iid: _win32typing.PyIID, wparm) -> _win32typing.PyIUnknown: ...
def OleInitialize() -> None: ...
def OleGetClipboard() -> _win32typing.PyIDataObject: ...
def OleFlushClipboard() -> None: ...
def OleIsCurrentClipboard(dataObj: _win32typing.PyIDataObject): ...
def OleSetClipboard(dataObj: _win32typing.PyIDataObject) -> None: ...
def OleLoadFromStream(stream: _win32typing.PyIStream, iid: _win32typing.PyIID) -> None: ...
def OleSaveToStream(persist: _win32typing.PyIPersistStream, stream: _win32typing.PyIStream) -> None: ...
def OleLoad(storage: _win32typing.PyIStorage, iid: _win32typing.PyIID, site: _win32typing.PyIOleClientSite) -> None: ...
def ProgIDFromCLSID(clsid) -> str: ...
def PumpWaitingMessages(): ...
def PumpMessages() -> None: ...
def QueryPathOfRegTypeLib(iid: _win32typing.PyIID, versionMajor, versionMinor, lcid) -> str: ...
def ReadClassStg(storage: _win32typing.PyIStorage) -> _win32typing.PyIID: ...
def ReadClassStm(Stm: _win32typing.PyIStream) -> _win32typing.PyIID: ...
def RegisterTypeLib(typelib: _win32typing.PyITypeLib, fullPath: str, lcid, helpDir: str | None = ...) -> None: ...
def UnRegisterTypeLib(iid: _win32typing.PyIID, versionMajor, versionMinor, lcid, syskind) -> str: ...
def RegisterActiveObject(obUnknown: _win32typing.PyIUnknown, clsid: _win32typing.PyIID, flags): ...
def RevokeActiveObject(handle) -> None: ...
def RegisterDragDrop(hwnd: int, dropTarget: _win32typing.PyIDropTarget) -> None: ...
def RevokeDragDrop(hwnd: int) -> None: ...
def DoDragDrop() -> None: ...
def StgCreateDocfile(name: str, mode, reserved: int = ...) -> _win32typing.PyIStorage: ...
def StgCreateDocfileOnILockBytes(lockBytes: _win32typing.PyILockBytes, mode, reserved=...) -> _win32typing.PyIStorage: ...
def StgOpenStorageOnILockBytes(
    lockBytes: _win32typing.PyILockBytes,
    stgPriority: _win32typing.PyIStorage,
    snbExclude: Incomplete | None = ...,
    reserved: int = ...,
) -> _win32typing.PyIStorage: ...
def StgIsStorageFile(name: str): ...
def STGMEDIUM() -> _win32typing.PySTGMEDIUM: ...
def StgOpenStorage(
    name: str, other: _win32typing.PyIStorage, mode, snbExclude: Incomplete | None = ..., reserved=...
) -> _win32typing.PyIStorage: ...
def StgOpenStorageEx(
    Name: str, Mode, stgfmt, Attrs, riid: _win32typing.PyIID, StgOptions: Incomplete | None = ...
) -> _win32typing.PyIStorage: ...
def StgCreateStorageEx(
    Name: str,
    Mode,
    stgfmt,
    Attrs,
    riid: _win32typing.PyIID,
    StgOptions: Incomplete | None = ...,
    SecurityDescriptor: _win32typing.PySECURITY_DESCRIPTOR | None = ...,
) -> _win32typing.PyIStorage: ...
def TYPEATTR() -> _win32typing.TYPEATTR: ...
def VARDESC() -> _win32typing.VARDESC: ...
def WrapObject(ob, gatewayIID: _win32typing.PyIID, interfaceIID: _win32typing.PyIID) -> _win32typing.PyIUnknown: ...
def WriteClassStg(storage: _win32typing.PyIStorage, iid: _win32typing.PyIID) -> None: ...
def WriteClassStm(Stm: _win32typing.PyIStream, clsid: _win32typing.PyIID) -> None: ...
def UnwrapObject(ob: _win32typing.PyIUnknown) -> _win32typing.PyIDispatch: ...
def FmtIdToPropStgName(fmtid: _win32typing.PyIID): ...
def PropStgNameToFmtId(Name: str) -> _win32typing.PyIID: ...
def CoGetCallContext(riid: _win32typing.PyIID) -> _win32typing.PyIServerSecurity: ...
def CoGetObjectContext(riid: _win32typing.PyIID) -> _win32typing.PyIContext: ...
def CoGetCancelObject(riid: _win32typing.PyIID, ThreadID: int = ...) -> _win32typing.PyICancelMethodCalls: ...
def CoSetCancelObject(Unk: _win32typing.PyIUnknown) -> None: ...
def CoEnableCallCancellation() -> None: ...
def CoDisableCallCancellation() -> None: ...
