from __future__ import annotations
from typing import Any, Protocol, runtime_checkable
from .com.sun.star.lang import XEventListener

@runtime_checkable
class XUndoManagerListener(XEventListener, Protocol):
    def undoActionAdded(self, iEvent: UndoManagerEvent) -> None: ...
    def actionUndone(self, iEvent: UndoManagerEvent) -> None: ...
    def actionRedone(self, iEvent: UndoManagerEvent) -> None: ...
    def allActionsCleared(self, iEvent: EventObject) -> None: ...
    def redoActionsCleared(self, iEvent: EventObject) -> None: ...
    def resetAll(self, iEvent: EventObject) -> None: ...
    def enteredContext(self, iEvent: UndoManagerEvent) -> None: ...
    def enteredHiddenContext(self, iEvent: UndoManagerEvent) -> None: ...
    def leftContext(self, iEvent: UndoManagerEvent) -> None: ...
    def leftHiddenContext(self, iEvent: UndoManagerEvent) -> None: ...
    def cancelledContext(self, iEvent: UndoManagerEvent) -> None: ...
