# mypy: disable-error-code="misc, override, attr-defined, no-redef, assignment"

from Callbacks.Callbacks import CallbacksManager, _TypeEnum
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

Callbacks: CallbacksManager

class CallbacksManager:
    class Type:
        exportAsset: ClassVar[_TypeEnum] = ...
        finalize3DNodeChanges: ClassVar[_TypeEnum] = ...
        onCatalogGSVPinned: ClassVar[_TypeEnum] = ...
        onGafferLightCreated: ClassVar[_TypeEnum] = ...
        onGafferMasterMaterialCreated: ClassVar[_TypeEnum] = ...
        onGafferRigCreated: ClassVar[_TypeEnum] = ...
        onGafferShaderSelected: ClassVar[_TypeEnum] = ...
        onGafferTemplateMaterialCreated: ClassVar[_TypeEnum] = ...
        onGafferThreeSceneGraphViewSetup: ClassVar[_TypeEnum] = ...
        onGafferThreeTabWidgetSetup: ClassVar[_TypeEnum] = ...
        onLiveRenderCommand: ClassVar[_TypeEnum] = ...
        onLiveRenderUpdate: ClassVar[_TypeEnum] = ...
        onLookFileMaterialActiveSet: ClassVar[_TypeEnum] = ...
        onLookFileMaterialSet: ClassVar[_TypeEnum] = ...
        onMasterMaterialAssigned: ClassVar[_TypeEnum] = ...
        onNewScene: ClassVar[_TypeEnum] = ...
        onNodeCreate: ClassVar[_TypeEnum] = ...
        onNodeDelete: ClassVar[_TypeEnum] = ...
        onRenderSetup: ClassVar[_TypeEnum] = ...
        onSceneAboutToLoad: ClassVar[_TypeEnum] = ...
        onSceneLoad: ClassVar[_TypeEnum] = ...
        onSceneSave: ClassVar[_TypeEnum] = ...
        onShutdown: ClassVar[_TypeEnum] = ...
        onStartup: ClassVar[_TypeEnum] = ...
        onStartupComplete: ClassVar[_TypeEnum] = ...
        onTabCreated: ClassVar[_TypeEnum] = ...
        onTemplateMaterialAssigned: ClassVar[_TypeEnum] = ...
        postLiveGroupPublish: ClassVar[_TypeEnum] = ...
        postLookFileBake: ClassVar[_TypeEnum] = ...
        preLiveGroupPublish: ClassVar[_TypeEnum] = ...
        preLookFileBake: ClassVar[_TypeEnum] = ...
    DeprecatedCallbackTypes: ClassVar[dict] = ...
    def __init__(self) -> None: ...
    def addCallback(self, callbackType, callbackFcn, callbackObjectHash: Incomplete | None = ...): ...
    def delCallback(self, callbackType, callbackFcn, callbackObjectHash: Incomplete | None = ...): ...
    def setCallbackTypeDeprecated(self, callbackTypeName: str, newCallbackTypeName: str): ...

class _TypeEnum:
    _TypeEnum__next: ClassVar[int] = ...
    def __init__(self, name) -> None: ...
    def get(self): ...
    def name(self): ...

class _TypeEnumList: ...

def DeclareCallbackType(callbackName): ...
def ExecuteCallbacksForType(callbackType, callbackObjectHash: Incomplete | None = ..., **kwargs): ...
