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

import PyQt5.QtCore
import PyQt5.QtGui
import PyQt5.QtWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import Utils as Utils
from UI4.Tabs.BaseTab import BaseTab as BaseTab
from typing import ClassVar, Set, Tuple

class HistoryItem(PyQt5.QtWidgets.QTreeWidgetItem):
    def __init__(self, *args) -> None: ...
    def buildContextMenu(self, menu): ...
    def doRestore(self): ...
    def isAlreadyRestored(self): ...
    def paintCell(self, painter, colors, column, width, align): ...
    def paintFocus(self, painter, colorGroup, rect): ...
    def setColorGroup(self, colorGroup): ...

class UndoHistoryPanel(BaseTab):
    def __init__(self, parent) -> None: ...
    def _UndoHistoryPanel__clearHistory_CB(self): ...
    def _UndoHistoryPanel__contextMenu_CB(self, point): ...
    def _UndoHistoryPanel__freeze(self): ...
    def _UndoHistoryPanel__restoreToSelected_CB(self): ...
    def _UndoHistoryPanel__selectionChanged_CB(self, item): ...
    def _UndoHistoryPanel__thaw(self): ...
    def _UndoHistoryPanel__undoCallback(self): ...
    def hideEvent(self, event: PyQt5.QtGui.QHideEvent): ...
    def showEvent(self, event: PyQt5.QtGui.QShowEvent): ...
    def sync(self): ...

class UndoHistoryPanelTreeWidget(PyQt5.QtWidgets.QTreeWidget):
    selectionChangedSignal: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, parent) -> None: ...
