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

import UI4.Util.IconManager as IconManager
import NodegraphAPI as NodegraphAPI
import Nodes3DAPI as Nodes3DAPI
import PyQt5.QtCore
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import UI4 as UI4
from UI4.Widgets.PopupButton import PopupButton as PopupButton
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class GraphStateVariableModel(PyQt5.QtCore.QSortFilterProxyModel):
    def filterAcceptsRow(self, source_row, source_parent): ...
    def headerData(self, section, orientation, role): ...

class GraphStateVariablesPopupButton(PopupButton):
    ICON_NAME: ClassVar[str] = ...
    ICON_NAME_ROLLOVER: ClassVar[str] = ...
    PROJECT_SETTINGS_TAB_NAME: ClassVar[str] = ...
    def __init__(self, parent) -> None: ...
    def _GraphStateVariablesPopupButton__aboutToShow(self): ...
    def _GraphStateVariablesPopupButton__buildTreeView(self, title, parent, model, topWidgets: Incomplete | None = ...): ...
    def _GraphStateVariablesPopupButton__isVariableGlobal(self, name, value): ...
    def _GraphStateVariablesPopupButton__jumpToGlobalSettings(self, link): ...
    def _GraphStateVariablesPopupButton__on_filterFieldWidget_filterUpdate(self, filterText, filterType): ...
    def mousePressEvent(self, event): ...
    def mouseReleaseEvent(self, event): ...
