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

import UI4.Util.IconManager as IconManager
import UI4.FormMaster.KatanaFactory as KatanaFactory
import UI4.Widgets.MessageBox as MessageBox
import NodegraphAPI as NodegraphAPI
import PyQt5.QtCore
import PyXmlIO as PyXmlIO
import QT4FormWidgets as QT4FormWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import Nodes3DAPI.ScenegraphManager as ScenegraphManager
import UI4.Widgets.SortablePanel
import Utils as Utils
from QT4Widgets.FilterablePopupButton import FilterablePopupButton as FilterablePopupButton
from QT4Widgets.MenuButton import MenuButton as MenuButton
from UI4.Util.ScenegraphLocation import GetNodesCreatingSceneGraphLocations as GetNodesCreatingSceneGraphLocations
from UI4.Widgets.SortablePanel import SortablePanelBase as SortablePanelBase, SortablePanelFormWidget as SortablePanelFormWidget
from UI4.Widgets.ToolbarButton import ToolbarButton as ToolbarButton
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class ScenegraphLocationArrayEditor(UI4.Widgets.SortablePanel.SortablePanelFormWidget):
    addMenuAboutToShow: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, parent, policy, factory) -> None: ...
    def _ScenegraphLocationArrayEditor__addPath(self): ...
    def _ScenegraphLocationArrayEditor__appendNodegraphSelection(self, mid: Incomplete | None = ..., replace: bool = ...): ...
    def _ScenegraphLocationArrayEditor__appendScenegraphSelection(self, mid: Incomplete | None = ..., replace: bool = ..., selection: Incomplete | None = ...): ...
    def _ScenegraphLocationArrayEditor__clearAll(self): ...
    def _ScenegraphLocationArrayEditor__expandInScengraph(self): ...
    def _ScenegraphLocationArrayEditor__fillCollectMenu(self, menu): ...
    def _ScenegraphLocationArrayEditor__findItemChosen(self, text, meta): ...
    def _ScenegraphLocationArrayEditor__findPopupAboutToShow(self): ...
    def _ScenegraphLocationArrayEditor__getScenegraphSelection(self): ...
    def _ScenegraphLocationArrayEditor__pageDownButton_CB(self): ...
    def _ScenegraphLocationArrayEditor__pageUpButton_CB(self): ...
    def _ScenegraphLocationArrayEditor__replaceNodegraphSelection(self): ...
    def _ScenegraphLocationArrayEditor__replaceScenegraphSelection(self): ...
    def _ScenegraphLocationArrayEditor__updatePageButtons(self): ...
    def _popupMenuCreated(self, menu): ...
    def addButtonCheckDragEvent(self, event): ...
    def addButtonDropEvent(self, event): ...
    def buildAddMenu(self, menu): ...
    def getAbsoluteIndexFromRelative(self, relativeIndex): ...
    def getNumPages(self): ...
    def getPageIndex(self): ...
    def panelDeleted(self, relativeIndex): ...
    def panelReordered(self, relativeOldPos, relativeNewPos): ...
    def setLocked(self, state, checkLockOps: bool = ...): ...
    def setPageIndex(self, index): ...
    def updatePanels(self): ...

class ScenegraphLocationPanel(UI4.Widgets.SortablePanel.SortablePanelBase):
    def __init__(self, parent, parentPolicy, index, extraHints: Incomplete | None = ...) -> None: ...
    def _ScenegraphLocationPanel__getChildPolicy(self): ...
    def getPathWidget(self): ...
    def getValuePolicy(self): ...
    def setLocked(self, state): ...
    def setPolicyIndex(self, index): ...
