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

import NodegraphAPI
import UI4.Widgets.SceneGraphView.ViewLink
import UI4.Widgets.SceneGraphView.SceneGraphHandle
import UI4.Widgets.SceneGraphView.ViewLink
import Utils as Utils
import abc
import typing
from Utils.Decorators import deprecated as deprecated
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class Bridge(abc.ABC):
    _abc_impl: ClassVar[_abc_data] = ...
    __abstractmethods__: ClassVar[frozenset] = ...
    def addAttributeDataItemType(self, itemTypeClass: type): ...
    def addColumn(self, columnName): ...
    def addColumnSet(self, columnSetName): ...
    def addRule(self, ruleName): ...
    def addTopLevelLocation(self, topLevelLocationPath: str, index: Incomplete | None = ...): ...
    def applyColumnVisibilitySettings(self, columnVisibility: dict): ...
    def applyColumnWidthsSettings(self, columnWidths: dict): ...
    def beginColumnConfiguration(self): ...
    def clearRuleCriteria(self, ruleName, triggerEvaluation: bool = ...): ...
    def clearTopLevelLocations(self): ...
    def collapseLocation(self, handle: SceneGraphHandle[UI4.SceneGraphView.SceneGraphHandle.SceneGraphHandle], topLevelHandle: SceneGraphHandle[UI4.SceneGraphView.SceneGraphHandle.SceneGraphHandle], recursive: bool = ...): ...
    def columnResized(self, columnIndex, newColumnWidth): ...
    def columnTitleClicked(self, columnIndex, columnTitleRect): ...
    def endColumnConfiguration(self): ...
    def expandLocation(self, handle: SceneGraphHandle[UI4.SceneGraphView.SceneGraphHandle.SceneGraphHandle], topLevelHandle: SceneGraphHandle[UI4.SceneGraphView.SceneGraphHandle.SceneGraphHandle], recursive: bool = ..., stopTypes: Incomplete | None = ...): ...
    def fontChanged(self): ...
    def freeze(self): ...
    def getAttributeDataItemTypes(self) -> list[type]: ...
    def getColumnByIndex(self, columnIndex: int, visibleOnly: bool = ...) -> UI4.SceneGraphView.SceneGraphViewColumn.SceneGraphColumn | None: ...
    def getColumnByName(self, columnName: str) -> UI4.SceneGraphView.SceneGraphViewColumn.SceneGraphColumn | None: ...
    def getColumnDataType(self, columnIndex: int) -> int: ...
    def getColumnPresetManager(self) -> ColumnPresetManager[UI4.SceneGraphView.ColumnPresetManager.ColumnPresetManager]: ...
    def getColumnVisibilitySettings(self) -> dict: ...
    def getColumnWidthsSettings(self) -> dict: ...
    def getCurrentRules(self): ...
    def getDisplayData(self, handle, topLevelHandle, columnIndex) -> str | float | list: ...
    def getNumberOfChildren(self, locationPath: str) -> str | None: ...
    def getNumberOfColumns(self): ...
    def getNumberOfTopLevelLocations(self) -> int: ...
    def getOverrideNodeAndParameterName(self, locationPath: str, attributeName: str) -> None: ...
    def getParent(self, locationPath: str) -> str | None: ...
    def getPotentialChildren(self, locationPath: str) -> list[str]: ...
    def getResolvedAttributeName(self, handle: SceneGraphHandle[UI4.Widgets.SceneGraphView.SceneGraphHandle.SceneGraphHandle], attributeName: str) -> tuple[bool, str]: ...
    def getRootColumnSet(self) -> SceneGraphColumnSet[UI4.SceneGraphView.SceneGraphViewColumn.SceneGraphColumnSet]: ...
    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 getTitleText(self, columnIndex: int) -> str: ...
    def getTopLevelDisplayIndex(self, handle): ...
    def getTopLevelLocations(self) -> list[str]: ...
    def getViewLink(self) -> ViewLink[UI4.Widgets.SceneGraphView.ViewLink.ViewLink] | None: ...
    def hideColumnSet(self, columnSetName: str): ...
    def interruptClientProcessing(self): ...
    def isEditable(self, columnIndex): ...
    def isFrozen(self) -> bool: ...
    def isNameColumn(self, columnIndex): ...
    def isProcessing(self) -> bool: ...
    def isStopping(self) -> bool: ...
    def locationNamesPolished(self) -> bool: ...
    def matchRules(self, handle, topLevelHandle): ...
    def moveColumn(self, columnIndex, newColumnIndex): ...
    def removeRule(self, ruleName): ...
    def removeTopLevelLocation(self, topLevelLocationPath: str): ...
    def renameRule(self, oldName, newName): ...
    def resetAttributeDataItemTypes(self): ...
    def setKeyPressEventCallback(self, callback: typing.Callable): ...
    def setLocationActive(self, locationPath: str): ...
    def setLocationAddedOrUpdatedCallback(self, callback): ...
    def setLocationDataProcessedCallback(self, callback): ...
    def setLocationNamePolishCallback(self, callback: typing.Callable): ...
    def setLocationNamesPolished(self, locationNamesPolished): ...
    def setLocationRemovedCallback(self, callback): ...
    def setMaxEventsToProcess(self, maxEventsToProcess: int): ...
    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: list[str]): ...
    def setStopRecursiveExpandLocationTypes(self, locationTypes: list[str]): ...
    def setTerminalOps(self, terminalOpArgs): ...
    def setTopLevelDisplayIndex(self, locationPath: str, index: int): ...
    def setTopLevelLocations(self, topLevelLocations: list[str]): ...
    def setUpdateViewportAutomatically(self, updateViewportAutomatically: bool): ...
    def setViewLink(self, viewLink): ...
    def setViewNode(self, viewNode: NodegraphAPI.Node | None, applyImplicitResolvers: bool = ..., extraImplicitResolverOpArgs: Incomplete | None = ...): ...
    def setViewOp(self, viewOp, applyImplicitResolvers: bool = ..., extraImplicitResolverOpArgs: Incomplete | None = ...): ...
    def showColumnSet(self, columnSetName: str): ...
    def thaw(self): ...
    def topLevelLocationRenamed(self, oldLocationPath, newLocationPath): ...
    def updateTerminalOps(self, terminalOpArgs, txn: Incomplete | None = ...): ...
    def updateViewLink(self): ...
