import PySide2.QtCore
import PySide2.QtScript
import PySide2.QtWidgets
import _typeshed
import collections.abc
import typing
T = typing.TypeVar('T')
import typing_extensions

class QScriptEngineDebugger(PySide2.QtCore.QObject):
    class DebuggerAction:
        ClearConsoleAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        ClearDebugOutputAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        ClearErrorLogAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        ContinueAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        FindInScriptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        FindNextInScriptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        FindPreviousInScriptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        GoToLineAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        InterruptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        RunToCursorAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        RunToNewScriptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        StepIntoAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        StepOutAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        StepOverAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        ToggleBreakpointAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
        values: typing.ClassVar[dict] = ...
        name: _typeshed.Incomplete
        @classmethod
        def __init__(cls, *args, **kwargs) -> None: ...
        def __add__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __and__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __bool__(self) -> bool: ...
        def __eq__(self, other: object) -> bool: ...
        def __ge__(self, other: object) -> bool: ...
        def __gt__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __le__(self, other: object) -> bool: ...
        def __lt__(self, other: object) -> bool: ...
        def __mul__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __ne__(self, other: object) -> bool: ...
        def __or__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __pos__(self): ...
        def __radd__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __rand__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __rmul__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __ror__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __rsub__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __rxor__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __sub__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...
        def __xor__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerAction: ...

    class DebuggerState:
        RunningState: typing.ClassVar[QScriptEngineDebugger.DebuggerState] = ...
        SuspendedState: typing.ClassVar[QScriptEngineDebugger.DebuggerState] = ...
        values: typing.ClassVar[dict] = ...
        name: _typeshed.Incomplete
        @classmethod
        def __init__(cls, *args, **kwargs) -> None: ...
        def __add__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __and__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __bool__(self) -> bool: ...
        def __eq__(self, other: object) -> bool: ...
        def __ge__(self, other: object) -> bool: ...
        def __gt__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __le__(self, other: object) -> bool: ...
        def __lt__(self, other: object) -> bool: ...
        def __mul__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __ne__(self, other: object) -> bool: ...
        def __or__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __pos__(self): ...
        def __radd__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __rand__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __rmul__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __ror__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __rsub__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __rxor__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __sub__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...
        def __xor__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerState: ...

    class DebuggerWidget:
        BreakpointsWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        CodeFinderWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        CodeWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        ConsoleWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        DebugOutputWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        ErrorLogWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        LocalsWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        ScriptsWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        StackWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
        values: typing.ClassVar[dict] = ...
        name: _typeshed.Incomplete
        @classmethod
        def __init__(cls, *args, **kwargs) -> None: ...
        def __add__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __and__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __bool__(self) -> bool: ...
        def __eq__(self, other: object) -> bool: ...
        def __ge__(self, other: object) -> bool: ...
        def __gt__(self, other: object) -> bool: ...
        def __hash__(self) -> int: ...
        def __index__(self) -> int: ...
        def __int__(self) -> int: ...
        def __le__(self, other: object) -> bool: ...
        def __lt__(self, other: object) -> bool: ...
        def __mul__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __ne__(self, other: object) -> bool: ...
        def __or__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __pos__(self): ...
        def __radd__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __rand__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __rmul__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __ror__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __rsub__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __rxor__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __sub__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
        def __xor__(self, other: typing.SupportsInt) -> QScriptEngineDebugger.DebuggerWidget: ...
    BreakpointsWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    ClearConsoleAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    ClearDebugOutputAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    ClearErrorLogAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    CodeFinderWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    CodeWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    ConsoleWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    ContinueAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    DebugOutputWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    ErrorLogWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    FindInScriptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    FindNextInScriptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    FindPreviousInScriptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    GoToLineAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    InterruptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    LocalsWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    RunToCursorAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    RunToNewScriptAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    RunningState: typing.ClassVar[QScriptEngineDebugger.DebuggerState] = ...
    ScriptsWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    StackWidget: typing.ClassVar[QScriptEngineDebugger.DebuggerWidget] = ...
    StepIntoAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    StepOutAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    StepOverAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    SuspendedState: typing.ClassVar[QScriptEngineDebugger.DebuggerState] = ...
    ToggleBreakpointAction: typing.ClassVar[QScriptEngineDebugger.DebuggerAction] = ...
    evaluationResumed: typing.ClassVar[PySide2.QtCore.Signal] = ...
    evaluationSuspended: typing.ClassVar[PySide2.QtCore.Signal] = ...
    staticMetaObject: typing.ClassVar[PySide2.QtCore.QMetaObject] = ...
    def __init__(self, parent: typing.Union[PySide2.QtCore.QObject, None] = ..., destroyed: typing.Callable = ..., evaluationResumed: typing.Callable = ..., evaluationSuspended: typing.Callable = ..., objectName: str = ..., objectNameChanged: typing.Callable = ...) -> None: ...
    def action(self, action: QScriptEngineDebugger.DebuggerAction) -> PySide2.QtWidgets.QAction: ...
    def attachTo(self, engine: PySide2.QtScript.QScriptEngine) -> None: ...
    def autoShowStandardWindow(self) -> bool: ...
    def createStandardMenu(self, parent: typing.Union[PySide2.QtWidgets.QWidget, None] = ...) -> PySide2.QtWidgets.QMenu: ...
    def createStandardToolBar(self, parent: typing.Union[PySide2.QtWidgets.QWidget, None] = ...) -> PySide2.QtWidgets.QToolBar: ...
    def setAutoShowStandardWindow(self, autoShow: bool) -> None: ...
    def standardWindow(self) -> PySide2.QtWidgets.QMainWindow: ...
    def state(self) -> QScriptEngineDebugger.DebuggerState: ...
    def widget(self, widget: QScriptEngineDebugger.DebuggerWidget) -> PySide2.QtWidgets.QWidget: ...
