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

import PyXmlIO as PyXmlIO
import Naming as UniqueName
import Utils as Utils
from Utils.Decorators import deprecated as deprecated
from _typeshed import Incomplete
from typing import Set, Tuple

def Document_getReleaseTag(doc: PyXmlIO.Element) -> str: ...
def Document_getRootNode(doc: PyXmlIO.Element) -> PyXmlIO.Element: ...
def Document_getSharedNodes(doc: PyXmlIO.Element) -> list[PyXmlIO.Element]: ...
def Document_getVersionTag(doc: PyXmlIO.Element) -> str: ...
def Document_isInstance(element: PyXmlIO.Element, error: bool = ...) -> bool: ...
def Document_setReleaseTag(doc: PyXmlIO.Element, releaseTag: str): ...
def Document_setVersionTag(doc: PyXmlIO.Element, versionTag: str): ...
def FCurve_getKeyValuePairs(curve: PyXmlIO.Element): ...
def FCurve_isInstance(element: PyXmlIO.Element, error: bool = ...) -> bool: ...
def FCurve_offsetCurve(curve: PyXmlIO.Element, offsetX: float, offsetY: float) -> PyXmlIO.Element: ...
def FCurve_setName(curve: PyXmlIO.Element, name: str): ...
def GetAllNodes(rootNodeOrDoc: PyXmlIO.Element) -> list[PyXmlIO.Element]: ...
def GetAllNodesAndParents(rootNode: PyXmlIO.Element): ...
def GetNode(rootNodeOrDoc: PyXmlIO.Element, nodeName: str) -> PyXmlIO.Element | None: ...
def Node_addInputPort(node: PyXmlIO.Element, portName: str): ...
def Node_addOutputPort(node: PyXmlIO.Element, portName: str): ...
def Node_createChildNode(doc: PyXmlIO.Element, node: PyXmlIO.Element, nodeName: str, nodeType: str, nodeBaseType: Incomplete | None = ...): ...
def Node_createParameter(node: PyXmlIO.Element, parmName: str, parmType: str): ...
def Node_deleteChildByName(node: PyXmlIO.Element, childName: str): ...
def Node_deleteInputPort(node: PyXmlIO.Element, portName: str): ...
def Node_deleteOutputPort(node: PyXmlIO.Element, portName: str) -> PyXmlIO.Element: ...
def Node_deleteParameter(node: PyXmlIO.Element, parmName: str): ...
def Node_getBypassed(node: PyXmlIO.Element) -> bool: ...
def Node_getChildByName(node: PyXmlIO.Element, childName: str) -> PyXmlIO.Element: ...
def Node_getChildren(node: PyXmlIO.Element) -> list[PyXmlIO.Element]: ...
def Node_getInputPort(node: PyXmlIO.Element, portName: str) -> PyXmlIO.Element: ...
def Node_getInputPorts(node: PyXmlIO.Element) -> list[PyXmlIO.Element]: ...
def Node_getName(node: PyXmlIO.Element) -> str: ...
def Node_getOutputPort(node: PyXmlIO.Element, portName: str) -> PyXmlIO.Element: ...
def Node_getOutputPorts(node: PyXmlIO.Element) -> list[PyXmlIO.Element]: ...
def Node_getParameter(node: PyXmlIO.Element, parmName: str) -> PyXmlIO.Element: ...
def Node_getParameters(node: PyXmlIO.Element) -> PyXmlIO.Element: ...
def Node_getPorts(node: PyXmlIO.Element) -> list[PyXmlIO.Element]: ...
def Node_getPosition(node: PyXmlIO.Element) -> tuple[float, float]: ...
def Node_getType(node: PyXmlIO.Element) -> str: ...
def Node_getUniqueInputPortName(node: PyXmlIO.Element, portName: str) -> str: ...
def Node_getUniqueNodeName(doc: PyXmlIO.Element, name: str) -> str: ...
def Node_getUniqueOutputPortName(node: PyXmlIO.Element, portName: str) -> str: ...
def Node_insertPort(node: PyXmlIO.Element, port: PyXmlIO.Element, index: int = ...): ...
def Node_isEdited(node: PyXmlIO.Element) -> bool: ...
def Node_isInstance(element: PyXmlIO.Element, error: bool = ...) -> bool: ...
def Node_setBypassed(node: PyXmlIO.Element, bypassed: bool): ...
def Node_setColor(node: PyXmlIO.Element, r: float, g: float, b: float): ...
def Node_setEdited(node: PyXmlIO.Element, isEdited: bool): ...
def Node_setName(node: PyXmlIO.Element, name: str): ...
def Node_setPosition(node: PyXmlIO.Element, position: tuple[float, float]): ...
def Node_setThumbnail(node: PyXmlIO.Element, showThumbnail: bool): ...
def Node_setType(node: PyXmlIO.Element, nodeType: Incomplete | None = ..., nodeBaseType: Incomplete | None = ...): ...
def Parameter_addChild(parm: PyXmlIO.Element, child: PyXmlIO.Element, index: Incomplete | None = ...): ...
def Parameter_createChildByName(parm: PyXmlIO.Element, parmName: str, parmType: str): ...
def Parameter_createType(parmType: str) -> PyXmlIO.Element: ...
def Parameter_deleteChildByIndex(parm: PyXmlIO.Element, index: int): ...
def Parameter_deleteChildByName(parm: PyXmlIO.Element, parmName: str): ...
def Parameter_getAllChildren(rootParm: PyXmlIO.Element, parmName: str = ...) -> list[tuple[str, PyXmlIO.Element]]: ...
def Parameter_getArrayChildren(parm: PyXmlIO.Element) -> list[PyXmlIO.Element]: ...
def Parameter_getArraySize(parm: PyXmlIO.Element) -> int: ...
def Parameter_getChild(parm: PyXmlIO.Element, parmName: str) -> PyXmlIO.Element | None: ...
def Parameter_getChildByIndex(parm: PyXmlIO.Element, index: int) -> PyXmlIO.Element | None: ...
def Parameter_getChildIndex(parm: PyXmlIO.Element, parmName: str) -> int | None: ...
def Parameter_getChildren(parm: PyXmlIO.Element) -> list[PyXmlIO.Element]: ...
def Parameter_getHintsDict(parm: PyXmlIO.Element) -> dict: ...
def Parameter_getName(parm: PyXmlIO.Element) -> str: ...
def Parameter_getTupleSize(parm: PyXmlIO.Element) -> int: ...
def Parameter_getType(parm: PyXmlIO.Element) -> str: ...
def Parameter_getValue(parm: PyXmlIO.Element) -> str | float: ...
def Parameter_getValueDict(parm: PyXmlIO.Element) -> dict: ...
def Parameter_isInstance(element: PyXmlIO.Element, error: bool = ...) -> bool: ...
def Parameter_isNodeDefaultUsed(parm: PyXmlIO.Element) -> bool: ...
def Parameter_reorderChildByIndex(parm: PyXmlIO.Element, oldPos: int, newPos: int): ...
def Parameter_replaceChildByName(parm: PyXmlIO.Element, name: str, newChildParm: PyXmlIO.Element) -> PyXmlIO.Element | None: ...
def Parameter_setHintsDict(parm: PyXmlIO.Element, hintsDict: dict): ...
def Parameter_setName(parm: PyXmlIO.Element, parmName: str): ...
def Parameter_setTupleSize(parm: PyXmlIO.Element, newSize: int): ...
def Parameter_setType(parm: PyXmlIO.Element, newType: str): ...
def Parameter_setUseNodeDefault(parm: PyXmlIO.Element, useDefault: bool): ...
def Parameter_setValue(parm: PyXmlIO.Element, value: Incomplete | None = ..., expression: Incomplete | None = ..., fcurve: Incomplete | None = ..., isexpression: Incomplete | None = ..., autokey: Incomplete | None = ..., sample: Incomplete | None = ..., animated: Incomplete | None = ...): ...
def Parameter_setValueDict(parm: PyXmlIO.Element, valueDict: dict): ...
def Parameter_updateArraySize(parm: PyXmlIO.Element): ...
def Port_deleteMetadata(port: PyXmlIO.Element, metadataKey: str): ...
def Port_getMetadata(port: PyXmlIO.Element, metadataKey: str) -> str: ...
def Port_getName(port: PyXmlIO.Element) -> str: ...
def Port_getReturns(port: PyXmlIO.Element) -> str: ...
def Port_getSource(port: PyXmlIO.Element) -> str: ...
def Port_getTags(port: PyXmlIO.Element) -> list[str]: ...
def Port_getType(port: PyXmlIO.Element) -> str: ...
def Port_isInputPort(port: PyXmlIO.Element) -> bool: ...
def Port_isInstance(element: PyXmlIO.Element, error: bool = ...) -> bool: ...
def Port_isOutputPort(port: PyXmlIO.Element) -> bool: ...
def Port_setName(port: PyXmlIO.Element, newName: str): ...
def Port_setReturns(port: PyXmlIO.Element, returnName: str): ...
def Port_setSource(port: PyXmlIO.Element, sourceName: str): ...
def Port_setTags(port: PyXmlIO.Element, tags: list[str]): ...
