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

import DrawingModule as DrawingModule
import LayeredMenuAPI as LayeredMenuAPI
import NodegraphAPI as NodegraphAPI
import QT4Widgets as QT4Widgets
import PyQt5.QtCore as QtCore
import Utils as Utils
from UI4.Tabs.NodeGraphTab.Layers.TransientLayer import TransientLayer as TransientLayer
from _typeshed import Incomplete
from typing import Any, Set, Tuple

g_padb: int
g_padh: int
g_padt: int

class MenuLayer(TransientLayer):
    def __init__(self, name: Incomplete | None = ..., visible: bool = ..., interactive: bool = ..., enabled: bool = ...) -> None: ...
    def _MenuLayer__action(self): ...
    def _MenuLayer__close(self): ...
    def _MenuLayer__determineIndexOfSelectedEntry(self): ...
    def _MenuLayer__drawEntry(self, entry, i, windowSize): ...
    def _MenuLayer__fillBackground(self): ...
    def _MenuLayer__findCommonPrefix(self): ...
    def _MenuLayer__getEntrySize(self, entry): ...
    def _MenuLayer__matches(self, entry, testString): ...
    def _MenuLayer__processKeyPress(self, event): ...
    def _MenuLayer__update(self): ...
    def _createEntry(self, value: object, text: Incomplete | None = ..., color: Incomplete | None = ..., size: Incomplete | None = ..., textColor: Incomplete | None = ...) -> LayeredMenuAPI.LayeredMenuEntry: ...
    def getBottomText(self): ...
    def getChosenValue(self): ...
    def getEntries(self): ...
    def getReplacedNode(self): ...
    def onEntryChosen(self, value: object) -> Any | None: ...
    def onlyMatchWordStart(self): ...
    def paintGL(self): ...
    def processEvent(self, event): ...
    def resizeGL(self): ...
    def setErrorMessage(self, errorMessage: str): ...
    def setLayerStack(self, stack): ...
    def setReplacedNode(self, replacedNode): ...
    def setReplacedNodeCallback(self, callback): ...
    def shouldSortAlphabetically(self) -> bool: ...
