#  Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

from typing import Any

class _UnpickleDispatch:
    def __call__(self, _instance_cls): ...

class _Dispatch:
    def __init__(self, parent, instance_cls: Any | None = ...) -> None: ...
    def __getattr__(self, name): ...
    def __reduce__(self): ...

class _EventMeta(type):
    def __init__(cls, classname, bases, dict_) -> None: ...

class Events:
    dispatch: Any

class _JoinedDispatcher:
    local: Any
    parent: Any
    def __init__(self, local, parent) -> None: ...
    def __getattr__(self, name): ...

class dispatcher:
    dispatch: Any
    events: Any
    def __init__(self, events) -> None: ...
    def __get__(self, obj, cls): ...

class slots_dispatcher(dispatcher):
    def __get__(self, obj, cls): ...
