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

import ConditionalStateGrammar as ConditionalStateGrammar
import NodegraphAPI as NodegraphAPI
import Nodes3DAPI_cmodule as Nodes3DAPI_cmodule
import PyXmlIO as PyXmlIO
import Naming as SafeIdentifier
import Naming as UniqueName
from ConditionalStateGrammar.Parser import ParseCSG as ParseCSG
from Nodes3DAPI.Node3D import Node3D as Node3D
from typing import Set, Tuple

ATTRS: str
INFO: str
META: str
TYPE: str
_ExtraHints: dict
_Parameter_XML: str

class HierarchyCreate(Node3D):
    class TreeEntry:
        def __init__(self, name, path, typeName, paramHash, children) -> None: ...
        def getUniqueChildName(self, desiredName): ...
    def __init__(self) -> None: ...
    def _HierarchyCreate__buildParameterElement(self, name, typeName, isLast): ...
    def _HierarchyCreate__getLocationTreeFromParam(self, param, parentPath: str = ...): ...
    def _HierarchyCreate__getOrBuildInfoParameter(self, group): ...
    def _HierarchyCreate__getParamForLocation(self, path): ...
    def _HierarchyCreate__getParameterByPath(self, path): ...
    def _HierarchyCreate__getTypeParameterByPath(self, path, create: bool = ...): ...
    def _HierarchyCreate__pathToParameterPath(self, path): ...
    def _HierarchyCreate__tokenizePath(self, path): ...
    def _getOpChain(self, interface): ...
    def addLocation(self, path, typeName): ...
    def addParameterHints(self, attrName, inputDict): ...
    def deleteLocation(self, path): ...
    def duplicateLocation(self, path): ...
    def getAttrsParameterForLocation(self, path, create: bool = ...): ...
    def getLocationTree(self, atLocation: str = ...): ...
    def getMetaDataParameterForLocation(self, path, create: bool = ...): ...
    def getParameterForLocation(self, path): ...
    def getTypeOfLocation(self, path): ...
    def renameLocation(self, path: str, newBaseName: str) -> str: ...
    def reorderLocation(self, path, index): ...
    def reparentLocation(self, path, newParent): ...
    def setTypeOfLocation(self, path, typeName): ...
