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

import PyFnAttribute as FnAttribute
import PyFnGeolibServices as FnGeolibServices
import Nodes3DAPI.Node3D as Node3D
import NodegraphAPI as NodegraphAPI
import Nodes3DAPI.NetworkMaterial
import PyXmlIO as PyXmlIO
import Nodes3DAPI.ShadingNodeBase as ShadingNodeBase
from Nodes3DAPI.CreateUtil import BuildChild as BuildChild
from Nodes3DAPI.NetworkMaterial import NetworkMaterialNode as NetworkMaterialNode
from Nodes3DAPI.ShadingNodeUtil import ReportError as ReportError
from _typeshed import Incomplete
from typing import Set, Tuple

_DefaultConnectionParamXML: str
_DefaultDisconnectionParamXML: str
_ExtraHints: dict
_Parameter_XML: str

class NetworkMaterialSplice(Nodes3DAPI.NetworkMaterial.NetworkMaterialNode):
    def __init__(self) -> None: ...
    def AddGroup(self, param): ...
    def DeleteGroup(self, index, param): ...
    def ReorderGroup(self, index, newIndex, param): ...
    def _NetworkMaterialSplice__buildOpArgs(self, graphState: NodegraphAPI.GraphState): ...
    def _areInputsAndParametersDirty(self, port: NodegraphAPI.Port, graphState: NodegraphAPI.GraphState, visitedState, reset: bool = ...): ...
    def _getOp(self, port: NodegraphAPI.Port, graphState: NodegraphAPI.GraphState, visitedState, transaction): ...
    def _getOpChain(self, interface): ...
    def addParameterHints(self, attrName, inputDict): ...
    def getNetworkAttr(self, includeInsertion: bool = ..., addedNameSet: Incomplete | None = ...): ...
    def getScenegraphLocation(self, frameTime: int = ...): ...
    def isResetPossible(self): ...
    def validateConnection(self, otherOutPort, myInPort, errorMessages: Incomplete | None = ...): ...
