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

import NodegraphAPI as NodegraphAPI
import NodegraphAPI_cmodule as NodegraphAPI_cmodule
import NodegraphAPI.StructuredPorts as StructuredPorts
import Utils as Utils
from _typeshed import Incomplete
from typing import Set, Tuple

def BakeParameterToFCurve(param, times): ...
def CollapseToGroup(nodes): ...
def DeleteAllNonContributingNodes(outputNodes: Incomplete | None = ..., preserveBackdropNodes: bool = ..., **kwargs): ...
def DuplicateNodes(nodes, keepConnections: bool = ...): ...
def GenericParameterReset(node: NodegraphAPI.Node): ...
def GetAllConnectedInputs(sourceNodes, asList: bool = ...): ...
def GetAllConnectedOutputs(sourceNodes, returnArray: Incomplete | None = ...): ...
def GetAllContributingNodes(outputNodes: Incomplete | None = ...): ...
def GetDescendants(nodes): ...
def GetExpressionReference(nodeName, paramName): ...
def GetExpressionedDuplicates(sourceNodes, deepClone: bool = ...): ...
def IsSpecifiedNodeTypeAnAncestor(node: NodegraphAPI.Node, nodeTypes: list[str]) -> bool: ...
def IsSpecifiedNodeTypeUpstream(node: NodegraphAPI.Node, nodeTypes, checkedNodes: Incomplete | None = ...): ...
def IsolateNode(node: NodegraphAPI.Node): ...
def ParameterReset(node: NodegraphAPI.Node): ...
def ReorderInputPorts(node: NodegraphAPI.Node, oldPos, newPos): ...
def ReorderOutputPorts(node: NodegraphAPI.Node, oldPos, newPos): ...
def WriteCurveXML(curve): ...
