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

import UI4.Util.IconManager as IconManager
import PyQt5.QtCore
import PyQt5.QtGui
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class RecordItemModel(PyQt5.QtGui.QStandardItemModel):
    recordAdded: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    recordsRemoved: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, columnTitles: list[str], lowestRecordLevel: int, parent: Incomplete | None = ...) -> None: ...
    def _RecordItemModel__on_aboutToQuit(self): ...
    def addRecord(self, record: Record) -> bool: ...
    def data(self, modelIndex: PyQt5.QtCore.QModelIndex, role: PyQt5.QtCore.Qt.ItemDataRole = ...) -> PyQt5.QtCore.QVariant: ...
    def flags(self, modelIndex: PyQt5.QtCore.QModelIndex) -> PyQt5.QtCore.Qt.ItemFlags: ...
    @staticmethod
    def formatTimestamp(timestamp: float) -> str: ...
    def getHighestRecordLevel(self) -> int: ...
    def getRecordLevels(self) -> set[int]: ...
    def removeRecord(self, record: Record) -> bool: ...
    def removeRows(self, row: int, count: int, parentIndex: PyQt5.QtCore.QModelIndex) -> bool: ...
    @staticmethod
    def timestampToDateTime(timestamp: float) -> PyQt5.QtCore.QDateTime: ...
