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

import PyQt5.QtCore
import PyQt5.QtCore as QtCore
from UI4.App.KeyboardShortcutManager.KeyboardShortcutItem import KeyboardShortcutItem as KeyboardShortcutItem
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class KeyboardShortcutModel(PyQt5.QtCore.QAbstractItemModel):
    _KeyboardShortcutModel__headers: ClassVar[tuple] = ...
    def __init__(self, data: dict, parent: Incomplete | None = ...) -> None: ...
    def _getItemByIndex(self, index: PyQt5.QtCore.QModelIndex) -> KeyboardShortcutItem: ...
    def _getOrCreateShortcutItem(self, name: str, parent: KeyboardShortcutItem) -> KeyboardShortcutItem: ...
    def columnCount(self, parent: PyQt5.QtCore.QModelIndex) -> int: ...
    def data(self, index: PyQt5.QtCore.QModelIndex, role: int) -> PyQt5.QtCore.QVariant: ...
    def headerData(self, section: int, orientation: PyQt5.QtCore.Qt.Orientation, role: int) -> PyQt5.QtCore.QVariant: ...
    def index(self, row: int, column: int, parent: PyQt5.QtCore.QModelIndex) -> PyQt5.QtCore.QModelIndex: ...
    def parent(self, child: PyQt5.QtCore.QModelIndex) -> PyQt5.QtCore.QModelIndex: ...
    def rowCount(self, parent: PyQt5.QtCore.QModelIndex) -> int: ...
    def setupModelData(self, data: dict): ...
