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

import CacheManager as CacheManager
import PyFnGeolib
import PyQt5.QtWidgets
import UI4.Widgets.SceneGraphView.SceneGraphHandle
import Utils as Utils
import _weakrefset
import collections
import typing
from UI4.Widgets.SceneGraphView.Bridge import Bridge as Bridge
from UI4.Widgets.SceneGraphView.ColumnDataType import ColumnDataType as ColumnDataType
from UI4.Widgets.SceneGraphView.ColumnManager import ColumnManager as ColumnManager
from UI4.Widgets.SceneGraphView.ColumnPresetManager import ColumnPresetManager as ColumnPresetManager
from UI4.Widgets.SceneGraphView.DebugViewLink import DebugViewLink as DebugViewLink
from UI4.Widgets.SceneGraphView.Filtering.RuleManager import RuleManager as RuleManager
from UI4.Widgets.SceneGraphView.SceneGraphHandle import SceneGraphHandle as SceneGraphHandle
from UI4.Widgets.SceneGraphView.SceneGraphLocationTranslation import GetLocationName as GetLocationName, GetParentPath as GetParentPath, IsLocationUnderTopLevelLocation as IsLocationUnderTopLevelLocation
from UI4.Widgets.SceneGraphView.SceneGraphTree import SceneGraphTree as SceneGraphTree
from UI4.Widgets.SceneGraphView.SceneGraphViewClientManager import SceneGraphViewClientManager as SceneGraphViewClientManager
from UI4.Widgets.SceneGraphView.TreeWidgetViewLink import TreeWidgetViewLink as TreeWidgetViewLink
from Utils.Decorators import deprecated as deprecated
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class BridgeImpl(Bridge):
    DEFAULT_MAX_EVENTS_TO_PROCESS: ClassVar[int] = ...
    MAX_UNSORTED_LOCATIONS: ClassVar[int] = ...
    _BridgeImpl__instances: ClassVar[_weakrefset.WeakSet] = ...
    _abc_impl: ClassVar[_abc_data] = ...
    __abstractmethods__: ClassVar[frozenset] = ...
    def __init__(self, debugMode: bool, parent: PyQt5.QtWidgets.QWidget | None) -> None: ...
    def _BridgeImpl__activateLocation(self, locationPath, topLevelLocationPath: Incomplete | None = ...): ...
    def _BridgeImpl__addDummyColumn(self): ...
    def _BridgeImpl__addOrUpdateLocationCallback(self, locationEvent: PyFnGeolib.LocationEvent, topLevelLocation: str | None): ...
    def _BridgeImpl__checkAndDeliverPendingAttributeRequests(self, locationPath): ...
    def _BridgeImpl__checkAndDeliverPendingChildRequests(self, locationPath): ...
    def _BridgeImpl__columnConfigurationChanged(self): ...
    def _BridgeImpl__deleteLocationCallback(self, locationEvent: PyFnGeolib.LocationEvent, topLevelLocation): ...
    def _BridgeImpl__deleteLocationRecursive(self, locationPath, topLevelLocation, removeFromParent: bool = ...): ...
    def _BridgeImpl__deliverExistingData(self, topLevelLocationPath): ...
    def _BridgeImpl__endEventLoopCallback(self): ...
    def _BridgeImpl__evaluateFilterRules(self, handle, topLevelHandle): ...
    def _BridgeImpl__getPolishedLocationName(self, locationPath, topLevelLocationPath): ...
    def _BridgeImpl__getUpdatedTerminalOpArgs(self, oldTerminalOpArgs, newTerminalOpArgs): ...
    def _BridgeImpl__keyPressEventCallback(self, event): ...
    def _BridgeImpl__locationDataProcessedCallback(self, processedLocations): ...
    def _BridgeImpl__notifyViewLink(self, locationPath, locationCallback: typing.Callable, *args, **kwargs): ...
    def _BridgeImpl__openStateEventCallback(self, locationEvent, topLevelLocation: Incomplete | None = ...): ...
    def _BridgeImpl__recursiveDeliverData(self, treeItem, topLevelHandle, queue: collections.deque = ...): ...
    def _BridgeImpl__resetUserCallbacks(self): ...
    def _BridgeImpl__setItemDelegateTerminalOps(self, itemDelegateTerminalOpArgs): ...
    def _BridgeImpl__updateAttributeDataChildren(self, locationPath, topLevelLocationPath): ...
    def addAttributeDataItemType(self, itemTypeClass): ...
    def addColumn(self, columnName): ...
    def addColumnSet(self, columnSetName): ...
    def addRule(self, ruleName): ...
    def addTopLevelLocation(self, topLevelLocationPath: str, index: Incomplete | None = ...): ...
    def applyColumnVisibilitySettings(self, columnVisibility): ...
    def applyColumnWidthsSettings(self, columnWidths): ...
    def beginColumnConfiguration(self): ...
    def clearRuleCriteria(self, ruleName, triggerEvaluation: bool = ...): ...
    def clearTopLevelLocations(self): ...
    def collapseLocation(self, handle, topLevelHandle, recursive: bool = ...): ...
    def columnResized(self, columnIndex, newColumnWidth): ...
    def columnTitleClicked(self, columnIndex, columnTitleRect): ...
    def endColumnConfiguration(self): ...
    def expandLocation(self, handle, topLevelHandle, recursive: bool = ..., stopTypes: Incomplete | None = ...): ...
    def flushCaches(self): ...
    @classmethod
    def flushInstanceCaches(cls): ...
    def fontChanged(self): ...
    def freeze(self): ...
    def getAttributeDataItemTypes(self): ...
    def getChildLocationPathByIndex(self, parentLocationPath, childIndex): ...
    def getChildLocationPathByName(self, parentLocationPath, childName): ...
    def getColumnByIndex(self, columnIndex, visibleOnly: bool = ...): ...
    def getColumnByName(self, columnName): ...
    def getColumnDataType(self, columnIndex): ...
    def getColumnPresetManager(self): ...
    def getColumnVisibilitySettings(self): ...
    def getColumnWidthsSettings(self): ...
    def getCurrentRules(self): ...
    def getDisplayData(self, handle: SceneGraphHandle[UI4.Widgets.SceneGraphView.SceneGraphHandle.SceneGraphHandle], topLevelHandle: SceneGraphHandle[UI4.Widgets.SceneGraphView.SceneGraphHandle.SceneGraphHandle], columnIndex: int) -> None: ...
    def getNumberOfChildren(self, locationPath): ...
    def getNumberOfColumns(self, visibleOnly: bool = ...): ...
    def getNumberOfTopLevelLocations(self): ...
    def getOverrideNodeAndParameterName(self, locationPath, attributeName): ...
    def getParent(self, locationPath): ...
    def getPotentialChildren(self, locationPath): ...
    def getResolvedAttributeName(self, handle: SceneGraphHandle[UI4.Widgets.SceneGraphView.SceneGraphHandle.SceneGraphHandle], attributeName: str) -> tuple[bool, str]: ...
    def getRootColumnSet(self): ...
    def getRuleByName(self, ruleName): ...
    def getRuleMatchInversion(self): ...
    def getSceneGraphAttributes(self, locationPath, callback: Incomplete | None = ..., oneShot: bool = ...): ...
    def getSceneGraphChildren(self, parentLocationPath, callback: Incomplete | None = ..., oneShot: bool = ...): ...
    def getSceneGraphLocationPath(self, locationPath): ...
    def getTitleText(self, columnIndex): ...
    def getTopLevelDisplayIndex(self, handle): ...
    def getTopLevelLocations(self): ...
    def getViewLink(self): ...
    def hideColumnSet(self, columnSetName): ...
    def interruptClientProcessing(self): ...
    def isEditable(self, columnIndex): ...
    def isFrozen(self): ...
    def isNameColumn(self, columnIndex): ...
    def isProcessing(self): ...
    def isStopping(self): ...
    def locationNamesPolished(self): ...
    def matchRules(self, handle, topLevelHandle): ...
    def moveColumn(self, columnIndex, newColumnIndex): ...
    def removeRule(self, ruleName): ...
    def removeTopLevelLocation(self, topLevelLocationPath): ...
    def renameRule(self, oldName, newName): ...
    def resetAttributeDataItemTypes(self): ...
    def resetViewLink(self): ...
    def setKeyPressEventCallback(self, callback): ...
    def setLocationActive(self, locationPath): ...
    def setLocationAddedOrUpdatedCallback(self, callback): ...
    def setLocationCollapsedCallback(self, callback): ...
    def setLocationDataProcessedCallback(self, callback): ...
    def setLocationExpandedCallback(self, callback): ...
    def setLocationNamePolishCallback(self, callback): ...
    def setLocationNamesPolished(self, locationNamesPolished): ...
    def setLocationRemovedCallback(self, callback): ...
    def setMaxEventsToProcess(self, maxEventsToProcess): ...
    def setRuleComment(self, ruleName, comment): ...
    def setRuleCriteria(self, ruleName, criteriaName, criteria): ...
    def setRuleEnabled(self, ruleName, isEnabled): ...
    def setRuleEvaluator(self, ruleName, evaluator, useDefaultCriteria: bool = ...): ...
    def setRuleInverted(self, ruleName, isInverted): ...
    def setRuleMatchInversion(self, invert): ...
    def setRuleMatchPolicy(self, policy): ...
    def setRuleShowChildren(self, ruleName, showChildren): ...
    def setRuleTarget(self, ruleName, column): ...
    def setStopRecursiveExpandAttributeNames(self, attributeNames): ...
    def setStopRecursiveExpandLocationTypes(self, locationTypes): ...
    def setTerminalOps(self, terminalOpArgs): ...
    def setTopLevelDisplayIndex(self, locationPath, index): ...
    def setTopLevelLocations(self, topLevelLocations): ...
    def setUpdateViewportAutomatically(self, updateViewportAutomatically): ...
    def setViewNode(self, viewNode, applyImplicitResolvers: bool = ..., extraImplicitResolverOpArgs: Incomplete | None = ...): ...
    def setViewOp(self, viewOp, applyImplicitResolvers: bool = ..., extraImplicitResolverOpArgs: Incomplete | None = ...): ...
    def showColumnSet(self, columnSetName): ...
    def thaw(self): ...
    def topLevelLocationRenamed(self, oldLocationPath, newLocationPath): ...
    def updateTerminalOps(self, terminalOpArgs, txn: Incomplete | None = ...): ...
    def updateViewLink(self): ...

def _flushCachesCallback(): ...
