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

import PyFnAttribute
from typing import Set, Tuple, overload

class AttributeSet:
    def __init__(self) -> None: ...
    def addSubOp(self, opType: str, opArgs: PyFnAttribute.GroupAttribute, batch: str = ...) -> None: ...
    def build(self) -> PyFnAttribute.GroupAttribute: ...
    def deleteAttr(self, attrName: str, batch: str = ...) -> None: ...
    def setAttr(self, attrName: str, attr: PyFnAttribute.Attribute, batch: str = ..., inherit: bool = ...) -> None: ...
    @overload
    def setCEL(self, cel: PyFnAttribute.StringAttribute, batch: str = ...) -> None: ...
    @overload
    def setCEL(self, cels: list[str], batch: str = ...) -> None: ...
    @overload
    def setLocationPaths(self, locationPath: PyFnAttribute.StringAttribute, batch: str = ...) -> None: ...
    @overload
    def setLocationPaths(self, locationPaths: list[str], batch: str = ...) -> None: ...

class StaticSceneCreate:
    def __init__(self, pathsAreAbsolute: bool = ...) -> None: ...
    def addSubOpAtLocation(self, locationPath: str, opType: str, opArgs: PyFnAttribute.GroupAttribute) -> None: ...
    def build(self) -> PyFnAttribute.GroupAttribute: ...
    def createEmptyLocation(self, locationPath: str, locationType: str = ...) -> None: ...
    def setAttrAtLocation(self, locationPath: str, attrName: str, attr: PyFnAttribute.Attribute) -> None: ...
    def setAttrsAtLeafStateForLocation(self, locationPath: str, state: bool) -> None: ...
    def skipLocalActionsIfInputExistsAtLocation(self, locationPath: str, state: bool) -> None: ...
