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

import Nodes3DAPI.DynamicParameterUtil as DynamicParameterUtil
import PyFnAttribute as FnAttribute
import NodegraphAPI as NodegraphAPI
import Nodes3DAPI_cmodule as Nodes3DAPI_cmodule
import PyXmlIO as PyXmlIO
import RenderingAPI.RenderPlugins as RenderPlugins
import RenderingAPI_cmodule.RendererInfo as RendererInfo
import RenderingAPI as RenderingAPI
import Naming as UniqueName
import Utils as Utils
from Nodes3DAPI.Node3D import Node3D as Node3D
from _typeshed import Incomplete
from typing import Set, Tuple

class OutputChannelDefine(Node3D):
    def __init__(self, rendererName) -> None: ...
    def AddGroup(self, typeName: Incomplete | None = ...): ...
    def DeleteGroup(self, index): ...
    def GetAvailableTypes(self): ...
    def ReorderGroup(self, index, newIndex): ...
    def _OutputChannelDefine__applyCustom(self, element): ...
    def _OutputChannelDefine__applyType(self, element, typeName, typeInfo): ...
    def _OutputChannelDefine__convertValueParamToAttr(self, type, valueParam, frameTime): ...
    def _OutputChannelDefine__getGroupNameAndAttrPrefix(self, frameTime): ...
    def _OutputChannelDefine__getNameValue(self, groupName): ...
    def _OutputChannelDefine__initRendererParameters(self, rendererName): ...
    def _OutputChannelDefine__rebuildDynamicParameters(self, dynamicParams, frameTime, universalAttr): ...
    def _getIncomingSceneOpAndLocation(self, port: NodegraphAPI.Port, graphState: NodegraphAPI.GraphState, transaction): ...
    def _getOpChain(self, interface): ...
    def _groupAttrToDict(self, groupAttr): ...
    def _updateParameters(self, groupAttr, force: bool = ..., defaultAttr: Incomplete | None = ...): ...
    def addParameterHints(self, attrName, inputDict): ...
