from __future__ import annotations

from typing import *

Unknown = Any

class MAngle:
    """Manipulate angular data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def asAngMinutes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asAngSeconds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDegrees(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asRadians(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asUnits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def internalToUI(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def internalUnit(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kAngMinutes: int = 3
    kAngSeconds: int = 4
    kDegrees: int = 2
    kInvalid: int = 0
    kLast: int = 5
    kRadians: int = 1
    @staticmethod
    def setUIUnit(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def uiToInternal(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def uiUnit(*args: Unknown, **kwargs: Unknown) -> Any: ...

    unit: int
    value: float

class MArgDatabase(MArgParser):
    """Command argument list parser which extends MArgParser with the
    ability to return arguments and objects as MSelectionLists
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentMSelectionList(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def flagArgumentMSelectionList(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getObjectList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MArgList:
    """Argument list for passing to commands."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addArg(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDistance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDoubleArray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asIntArray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asStringArray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asVector(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kInvalidArgIndex: int = -1
    def lastArgUsed(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MArgParser:
    """Command argument list parser."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentMAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentMDistance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentMTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandArgumentString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagArgumentBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagArgumentDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagArgumentFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagArgumentInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagArgumentMAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagArgumentMDistance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagArgumentMTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def flagArgumentString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFlagArgumentList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFlagArgumentPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getObjectStrings(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isEdit: Any
    def isFlagSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isQuery: Any
    def numberOfFlagUses(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    numberOfFlagsUsed: Any

class MArrayDataBuilder:
    """Array builder for arrays in data blocks."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElementArray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addLast(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addLastArray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def growArray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGrowSize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MArrayDataHandle:
    """Data block handle for array data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def builder(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def elementLogicalIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inputArrayValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inputValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def jumpToLogicalElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def jumpToPhysicalElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def outputArrayValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def outputValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllClean(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setClean(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MAttributeIndex:
    """The index information for an attribute specification."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLower(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUpper(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasLowerBound(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUpperBound(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasValidRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isBounded(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kFloat: int = 1
    kInteger: int = 0
    def setLower(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUpper(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def type(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MAttributePattern:
    """Manipulate attribute structure patterns."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __str__(self, /) -> Any: ...
    def addRootAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def attrPattern(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def attrPatternCount(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def findPattern(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeRootAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rootAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rootAttrCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MAttributeSpec:
    """Class that encapsulates component/attribute information for generating selection items."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    dimensions: int
    name: str

class MAttributeSpecArray:
    """Array of MAttributeSpec values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MBoundingBox:
    """3D axis-aligned bounding box."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __str__(self, /) -> Any: ...

    center: MPoint
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def contains(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    depth: float
    def expand(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    height: float
    def intersects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    max: MPoint
    min: MPoint
    def transformUsing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    width: float

class MCacheSchema:
    """Defines a node's cached data when participant in EM Cached Playback.
    Can be used to query or modify the attributes being cached.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def add(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MCallbackIdArray:
    """Array of MCallbackId values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MCameraMessage(MMessage):
    """Class used to register callbacks for Camera Manipulation Begin and End related messages."""
    @staticmethod
    def addBeginManipulationCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addEndManipulationCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MColor:
    """Manipulate color data."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __itruediv__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rtruediv__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __truediv__(self, value: Unknown, /) -> Any: ...

    a: float
    b: float
    g: float
    def getColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kByte: int = 1
    kCMY: int = 2
    kCMYK: int = 3
    kFloat: int = 0
    kHSV: int = 1
    kOpaqueBlack: MColor
    kRGB: int = 0
    kShort: int = 2
    r: float
    def setColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MColorArray:
    """Array of MColor values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MCommandMessage(MMessage):
    """Class used to register callbacks for command related messages.

    The class also provides the following MessageType constants which
    describe the different types of output messages:
      kHistory              #Command history
      kDisplay              #String to display unmodified
      kInfo         #General information
      kWarning              #Warning message
      kError                #Error message
      kResult               #Result from a command execution in the command window
      kStackTrace   #Stack trace
    """
    @staticmethod
    def addCommandCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addCommandOutputCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addCommandOutputFilterCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addProcCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kDisplay: int = 1
    kError: int = 4
    kHistory: int = 0
    kInfo: int = 2
    kMELCommand: int = 1
    kMELProc: int = 0
    kResult: int = 5
    kStackTrace: int = 6
    kWarning: int = 3

class MConditionMessage(MMessage):
    """Class used to register callbacks for condition related messages."""
    @staticmethod
    def addConditionCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getConditionNames(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getConditionState(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MContainerMessage(MMessage):
    """Class used to register callbacks for container related messages."""
    @staticmethod
    def addBoundAttrCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addPublishAttrCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MDAGDrawOverrideInfo:
    """A data structure to store the per path draw override information."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    displayType: int
    enableShading: bool
    enableTexturing: bool
    enableVisible: bool
    kDisplayTypeNormal: int = 0
    kDisplayTypeReference: int = 1
    kDisplayTypeTemplate: int = 2
    kLODBoundingBox: int = 1
    kLODFull: int = 0
    lod: int
    overrideEnabled: bool
    playbackVisible: bool

class MDGContext:
    """Dependency graph context."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def current(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isCurrent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isManaged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isTimed(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kManaged: MDGContext
    kNormal: MDGContext
    kTimed: MDGContext
    def makeCurrent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDGMessage(MMessage):
    """Class used to register callbacks for Dependency Graph related messages."""
    @staticmethod
    def addConnectionCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addDelayedTimeChangeCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addDelayedTimeChangeRunupCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addForceUpdateCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeAddedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeChangeUuidCheckCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeRemovedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addPreConnectionCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addTimeChangeCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MDGModifier:
    """Used to change the structure of the dependency graph."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addExtensionAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commandToExecute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def disconnect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def linkExtensionAttributeToPlugin(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def newPlugValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueChar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueMAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueMDistance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueMTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueShort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newPlugValueString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pythonCommandToExecute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeExtensionAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeExtensionAttributeIfUnset(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def removeMultiInstance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renameAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renameNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setNodeLockState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def undoIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unlinkExtensionAttributeFromPlugin(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MDagMessage(MMessage):
    """Class used to register callbacks for Dag related messages.

    The class also provides the following DagMessage constants which describe the different types of DAG operations:
      kParentAdded
      kParentRemoved
      kChildAdded
      kChildRemoved
      kChildReordered
      kInstanceAdded
      kInstanceRemoved
      kInvalidMsg
    """
    @staticmethod
    def addAllDagChangesCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addAllDagChangesDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addChildAddedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addChildAddedDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addChildRemovedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addChildRemovedDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addChildReorderedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addChildReorderedDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addDagCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addDagDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addInstanceAddedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addInstanceAddedDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addInstanceRemovedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addInstanceRemovedDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addMatrixModifiedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addParentAddedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addParentAddedDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addParentRemovedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addParentRemovedDagPathCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addWorldMatrixModifiedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kAll: int = 268435455
    kChildAdded: int = 2
    kChildRemoved: int = 3
    kChildReordered: int = 4
    kInstanceAdded: int = 5
    kInstanceRemoved: int = 6
    kInvalidMsg: int = -1
    kLast: int = 7
    kParentAdded: int = 0
    kParentRemoved: int = 1
    kRotateOrder: int = 134217728
    kRotateOrient: int = 117440512
    kRotateOrientX: int = 16777216
    kRotateOrientY: int = 33554432
    kRotateOrientZ: int = 67108864
    kRotatePivot: int = 229376
    kRotatePivotTrans: int = 14680064
    kRotatePivotX: int = 32768
    kRotatePivotY: int = 65536
    kRotatePivotZ: int = 131072
    kRotateTransX: int = 2097152
    kRotateTransY: int = 4194304
    kRotateTransZ: int = 8388608
    kRotateX: int = 64
    kRotateY: int = 128
    kRotateZ: int = 256
    kRotation: int = 448
    kScale: int = 7
    kScalePivot: int = 28672
    kScalePivotTrans: int = 1835008
    kScalePivotX: int = 4096
    kScalePivotY: int = 8192
    kScalePivotZ: int = 16384
    kScaleTransX: int = 262144
    kScaleTransY: int = 524288
    kScaleTransZ: int = 1048576
    kScaleX: int = 1
    kScaleY: int = 2
    kScaleZ: int = 4
    kShear: int = 56
    kShearXY: int = 8
    kShearXZ: int = 16
    kShearYZ: int = 32
    kTranslateX: int = 512
    kTranslateY: int = 1024
    kTranslateZ: int = 2048
    kTranslation: int = 3584

class MDagModifier(MDGModifier):
    """Used to change the structure of the DAG"""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reparentNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDagPath:
    """Path to a DAG node from the top of the DAG."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __str__(self, /) -> Any: ...
    def apiType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def child(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def childCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def exclusiveMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def exclusiveMatrixInverse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def extendToShape(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def fullPathName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getAPathTo(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getAllPathsTo(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDisplayStatus(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDrawOverrideInfo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasFn(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inclusiveMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inclusiveMatrixInverse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def instanceNumber(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isInstanced(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isTemplated(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isValid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isVisible(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def length(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def matchLocalMatrix(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def matchTransform(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def node(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numberOfShapesDirectlyBelow(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def partialPathName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pathCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pop(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def push(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transform(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDagPathArray:
    """Array of MDagPath values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MDataBlock:
    """Dependency node data block."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def context(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inputArrayValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inputValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isClean(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def outputArrayValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def outputValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setClean(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setContext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDataHandle:
    """Data handle for information contained in a data block."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acceptedTypeIds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asAddr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asChar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDistance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDouble2(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDouble3(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDouble4(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloat2(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloat3(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloatMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloatVector(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asGenericBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asGenericChar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asGenericDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asGenericFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asGenericInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asGenericShort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asInt2(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asInt3(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMesh(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMeshTransformed(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asNurbsCurve(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asNurbsCurveTransformed(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asNurbsSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asNurbsSurfaceTransformed(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def asPluginData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asShort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asShort2(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asShort3(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asSubdSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asSubdSurfaceTransformed(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asUChar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asVector(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def child(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyWritable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def data(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def datablock(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geometryTransformMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isGeneric(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isNumeric(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numericType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set2Double(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set2Float(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set2Int(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set2Short(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set3Double(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set3Float(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set3Int(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set3Short(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set4Double(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setChar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setClean(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGenericBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGenericChar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGenericDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGenericFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGenericInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGenericShort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMDistance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMFloatMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMFloatVector(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMPxData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMVector(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setShort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def type(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def typeId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDistance:
    """Manipulate distance data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def asCentimeters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFeet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asInches(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asKilometers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMeters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMiles(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMillimeters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asUnits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asYards(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def internalToUI(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def internalUnit(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kCentimeters: int = 6
    kFeet: int = 2
    kInches: int = 1
    kInvalid: int = 0
    kKilometers: int = 7
    kLast: int = 9
    kMeters: int = 8
    kMiles: int = 4
    kMillimeters: int = 5
    kYards: int = 3
    @staticmethod
    def setUIUnit(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def uiToInternal(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def uiUnit(*args: Unknown, **kwargs: Unknown) -> Any: ...

    unit: int
    value: float

class MDoubleArray:
    """Array of double values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MEulerRotation:
    """X, Y and Z rotations, applied in a specified order."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __isub__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __neg__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def alternateSolution(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asQuaternion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asVector(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def bound(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def boundIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def closestCut(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def closestSolution(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def computeAlternateSolution(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def computeBound(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def computeClosestCut(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def computeClosestSolution(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def decompose(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def incrementalRotateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inverse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def invertIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isZero(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kIdentity: MEulerRotation
    kTolerance: float = 1e-10
    kXYZ: int = 0
    kXZY: int = 3
    kYXZ: int = 4
    kYZX: int = 1
    kZXY: int = 2
    kZYX: int = 5
    order: int
    def reorder(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reorderIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToAlternateSolution(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToClosestCut(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToClosestSolution(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    x: float
    y: float
    z: float

class MEvaluationNode:
    """A class providing access to Evaluation Manager node information."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def datablock(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dependencyNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dirtyPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dirtyPlugExists(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iterator(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MEvaluationNodeIterator:
    """A class providing access to the Evaluation Manager node dirty plug list."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def plug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MEventMessage(MMessage):
    """Class used to register callbacks for event related messages.

    The first parameter passed to the add callback method is the name
    of the event that will trigger the callback.  The list of
    available event names can be retrieved by calling the
    getEventNames method or by using the -listEvents flag on the
    scriptJob command.
    The addEventCallback method returns an id which is used to remove the
    callback.

    To remove a callback use OpenMaya.MMessage.removeCallback.

    All callbacks that are registered by a plug-in must be removed by
    that plug-in when it is unloaded.  Failure to do so will result in
    a fatal error.

    Idle event callbacks should be removed immediately after running.
    Otherwise they will continue to use up CPU resources. They will also
    prevent idleVeryLow event callbacks from running - which are required
    for Maya to function properly.
    """
    @staticmethod
    def addEventCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getEventNames(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MExternalContentInfoTable:
    """This is a table of all the external content for a given node."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addResolvedEntry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addUnresolvedEntry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEntry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getInfo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MExternalContentLocationTable:
    """This is a table of the all the external content locations for a given node."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addEntry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEntry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLocation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFileObject:
    """Manipulate filenames and search paths."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def exists(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def expandedFullName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def expandedPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def fullName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getResolvedFullName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getResolvedFullNameAndExistsStatus(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def isAbsolutePath(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def isSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kBaseName: int = 32
    kDirMap: int = 4
    kExact: int = 2
    kInputFile: int = 54
    kInputReference: int = 62
    kNone: int = 1
    kReferenceMappings: int = 8
    kRelative: int = 16
    kStrict: int = 6
    def overrideResolvedFullName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def path(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pathCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rawFullName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rawName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rawPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rawURI(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    resolveMethod: int
    def resolvedFullName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resolvedName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resolvedPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRawFullName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRawName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRawPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRawURI(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFloatArray:
    """Array of float values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MFloatMatrix:
    """4x4 matrix with single-precision elements."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __isub__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def adjoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def det3x3(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def det4x4(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def homogenize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inverse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kTolerance: float = 9.999999747378752e-06
    def setElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToIdentity(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToProduct(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transpose(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFloatPoint:
    """3D point with single-precision coordinates."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __isub__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __rtruediv__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def __truediv__(self, value: Unknown, /) -> Any: ...
    def cartesianize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def distanceTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def homogenize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kOrigin: MFloatPoint
    kTolerance: float = 9.999999747378752e-06
    def rationalize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    w: float
    x: float
    y: float
    z: float

class MFloatPointArray:
    """Array of MFloatPoint values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MFloatVector:
    """3D vector with single-precision coordinates."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __isub__(self, value: Unknown, /) -> Any: ...
    def __itruediv__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __neg__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __rtruediv__(self, value: Unknown, /) -> Any: ...
    def __rxor__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def __truediv__(self, value: Unknown, /) -> Any: ...
    def __xor__(self, value: Unknown, /) -> Any: ...
    def angle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isParallel(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kOneVector: MFloatVector
    kTolerance: float = 9.999999747378752e-06
    kXaxisVector: MFloatVector
    kXnegAxisVector: MFloatVector
    kYaxisVector: MFloatVector
    kYnegAxisVector: MFloatVector
    kZaxisVector: MFloatVector
    kZeroVector: MFloatVector
    kZnegAxisVector: MFloatVector
    def length(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normalize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transformAsNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    x: float
    y: float
    z: float

class MFloatVectorArray:
    """Array of MFloatVector values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MFn:
    """Static class providing constants for all API types."""

    kACos: int = 1160
    kAISEnvFacade: int = 978
    kASin: int = 1162
    kATan: int = 1163
    kATan2: int = 1164
    kAbsolute: int = 1159
    kAddDoubleLinear: int = 5
    kAdskMaterial: int = 1068
    kAffect: int = 6
    kAimConstraint: int = 111
    kAimMatrix: int = 1140
    kAir: int = 257
    kAlignCurve: int = 41
    kAlignManip: int = 913
    kAlignSurface: int = 42
    kAmbientLight: int = 303
    kAnd: int = 1161
    kAngle: int = 270
    kAngleBetween: int = 21
    kAngleToDoubleNode: int = 1157
    kAnimBlend: int = 795
    kAnimBlendInOut: int = 796
    kAnimCurve: int = 7
    kAnimCurveTimeToAngular: int = 8
    kAnimCurveTimeToDistance: int = 9
    kAnimCurveTimeToTime: int = 10
    kAnimCurveTimeToUnitless: int = 11
    kAnimCurveUnitlessToAngular: int = 12
    kAnimCurveUnitlessToDistance: int = 13
    kAnimCurveUnitlessToTime: int = 14
    kAnimCurveUnitlessToUnitless: int = 15
    kAnimInContextNode: int = 1210
    kAnimLayer: int = 1021
    kAnisotropy: int = 623
    kAnnotation: int = 271
    kAnyGeometryVarGroup: int = 115
    kArcLength: int = 273
    kAreaLight: int = 305
    kArrayMapper: int = 528
    kArrowManip: int = 123
    kArubaTesselate: int = 1133
    kAssembly: int = 1082
    kAsset: int = 1019
    kAttachCurve: int = 43
    kAttachSurface: int = 44
    kAttribute: int = 565
    kAttribute2Double: int = 748
    kAttribute2Float: int = 749
    kAttribute2Int: int = 751
    kAttribute2Short: int = 750
    kAttribute3Double: int = 752
    kAttribute3Float: int = 753
    kAttribute3Int: int = 755
    kAttribute3Short: int = 754
    kAttribute4Double: int = 881
    kAudio: int = 22
    kAverage: int = 1165
    kAverageCurveManip: int = 149
    kAvgCurves: int = 45
    kAvgNurbsSurfacePoints: int = 47
    kAvgSurfacePoints: int = 46
    kAxesActionManip: int = 124
    kAxisFromMatrix: int = 1199
    kBackground: int = 23
    kBallProjectionManip: int = 125
    kBarnDoorManip: int = 150
    kBase: int = 1
    kBaseLattice: int = 249
    kBendLattice: int = 335
    kBevel: int = 48
    kBevelManip: int = 151
    kBevelPlus: int = 900
    kBezierCurve: int = 1055
    kBezierCurveData: int = 1056
    kBezierCurveToNurbs: int = 1058
    kBinaryData: int = 747
    kBirailSrf: int = 49
    kBlend: int = 27
    kBlendColorSet: int = 740
    kBlendColors: int = 31
    kBlendDevice: int = 30
    kBlendFalloff: int = 1142
    kBlendManip: int = 152
    kBlendMatrix: int = 1138
    kBlendNodeAdditiveRotation: int = 1034
    kBlendNodeAdditiveScale: int = 1033
    kBlendNodeBase: int = 1022
    kBlendNodeBoolean: int = 1023
    kBlendNodeDouble: int = 1024
    kBlendNodeDoubleAngle: int = 1025
    kBlendNodeDoubleLinear: int = 1026
    kBlendNodeEnum: int = 1027
    kBlendNodeFloat: int = 1028
    kBlendNodeFloatAngle: int = 1029
    kBlendNodeFloatLinear: int = 1030
    kBlendNodeInt16: int = 1031
    kBlendNodeInt32: int = 1032
    kBlendNodeTime: int = 1053
    kBlendShape: int = 336
    kBlendTwoAttr: int = 28
    kBlendWeighted: int = 29
    kBlindData: int = 757
    kBlindDataTemplate: int = 758
    kBlinn: int = 373
    kBlinnMaterial: int = 389
    kBoundary: int = 53
    kBox: int = 868
    kBoxData: int = 867
    kBrownian: int = 508
    kBrush: int = 766
    kBulge: int = 497
    kBulgeLattice: int = 338
    kBump: int = 32
    kBump3d: int = 33
    kButtonManip: int = 153
    kCacheBase: int = 1000
    kCacheBlend: int = 1001
    kCacheFile: int = 988
    kCacheTrack: int = 1002
    kCacheableNode: int = 997
    kCaddyManipBase: int = 1111
    kCamera: int = 250
    kCameraManip: int = 154
    kCameraPlaneManip: int = 143
    kCameraSet: int = 1012
    kCameraView: int = 34
    kCeil: int = 1166
    kCenterManip: int = 134
    kChainToSpline: int = 35
    kCharacter: int = 689
    kCharacterMap: int = 804
    kCharacterMappingData: int = 743
    kCharacterOffset: int = 690
    kChecker: int = 498
    kChoice: int = 36
    kChooser: int = 773
    kCircle: int = 54
    kCircleManip: int = 126
    kCirclePointManip: int = 231
    kCircleSweepManip: int = 128
    kClampColor: int = 39
    kClampRange: int = 1167
    kClientDevice: int = 1078
    kClip: int = 810
    kClipGhostShape: int = 1083
    kClipLibrary: int = 781
    kClipScheduler: int = 780
    kClipToGhostData: int = 1084
    kCloseCurve: int = 55
    kCloseSurface: int = 57
    kClosestPointOnMesh: int = 990
    kClosestPointOnSurface: int = 56
    kCloth: int = 499
    kCloud: int = 509
    kCluster: int = 251
    kClusterFilter: int = 347
    kClusterFlexor: int = 300
    kCoiManip: int = 155
    kCollision: int = 253
    kColorBackground: int = 24
    kColorMgtGlobals: int = 1102
    kColorProfile: int = 1067
    kColumnFromMatrix: int = 1204
    kCombinationShape: int = 337
    kCommCornerManip: int = 614
    kCommCornerOperManip: int = 615
    kCommEdgeOperManip: int = 612
    kCommEdgePtManip: int = 611
    kCommEdgeSegmentManip: int = 613
    kComponent: int = 535
    kComponentFalloff: int = 1145
    kComponentListData: int = 584
    kComponentManip: int = 675
    kComponentMatch: int = 1150
    kComposeMatrix: int = 1137
    kCompoundAttribute: int = 575
    kConcentricProjectionManip: int = 129
    kCondition: int = 37
    kCone: int = 96
    kConstraint: int = 933
    kContainer: int = 1014
    kContainerBase: int = 1069
    kContourProjectionManip: int = 1116
    kContrast: int = 38
    kControl: int = 486
    kControllerTag: int = 1129
    kCopyColorSet: int = 739
    kCopyUVSet: int = 808
    kCos: int = 1168
    kCpManip: int = 156
    kCrater: int = 510
    kCreaseSet: int = 1091
    kCreate: int = 40
    kCreateBPManip: int = 838
    kCreateBezierManip: int = 1054
    kCreateCVManip: int = 157
    kCreateColorSet: int = 737
    kCreateEPManip: int = 158
    kCreateSectionManip: int = 825
    kCreateUVSet: int = 809
    kCrossProduct: int = 1196
    kCrossSectionEditManip: int = 826
    kCrossSectionManager: int = 824
    kCubicProjectionManip: int = 130
    kCurve: int = 266
    kCurveCVComponent: int = 536
    kCurveCurveIntersect: int = 642
    kCurveEPComponent: int = 537
    kCurveEdManip: int = 159
    kCurveFromMeshCoM: int = 935
    kCurveFromMeshEdge: int = 641
    kCurveFromSubdivEdge: int = 837
    kCurveFromSubdivFace: int = 843
    kCurveFromSurface: int = 58
    kCurveFromSurfaceBnd: int = 59
    kCurveFromSurfaceCoS: int = 60
    kCurveFromSurfaceIso: int = 61
    kCurveInfo: int = 62
    kCurveKnotComponent: int = 538
    kCurveNormalizerAngle: int = 1004
    kCurveNormalizerLinear: int = 1005
    kCurveParamComponent: int = 539
    kCurveSegmentManip: int = 160
    kCurveVarGroup: int = 116
    kCustomEvaluatorClusterNode: int = 1131
    kCylinder: int = 98
    kCylindricalProjectionManip: int = 131
    kDOF: int = 323
    kDPbirailSrf: int = 50
    kDagContainer: int = 1070
    kDagNode: int = 107
    kDagPose: int = 691
    kDagSelectionItem: int = 562
    kData: int = 583
    kData2Double: int = 594
    kData2Float: int = 595
    kData2Int: int = 596
    kData2Short: int = 597
    kData3Double: int = 598
    kData3Float: int = 599
    kData3Int: int = 600
    kData3Short: int = 601
    kData4Double: int = 882
    kDblTrsManip: int = 190
    kDecayRegionCapComponent: int = 548
    kDecayRegionComponent: int = 549
    kDecomposeMatrix: int = 1136
    kDefaultLightList: int = 317
    kDeformBend: int = 626
    kDeformBendManip: int = 632
    kDeformFlare: int = 629
    kDeformFlareManip: int = 635
    kDeformFunc: int = 625
    kDeformSine: int = 630
    kDeformSineManip: int = 636
    kDeformSquash: int = 628
    kDeformSquashManip: int = 634
    kDeformTwist: int = 627
    kDeformTwistManip: int = 633
    kDeformWave: int = 631
    kDeformWaveManip: int = 637
    kDeleteColorSet: int = 738
    kDeleteComponent: int = 318
    kDeleteUVSet: int = 801
    kDeltaMush: int = 350
    kDependencyNode: int = 4
    kDetachCurve: int = 63
    kDetachSurface: int = 64
    kDeterminant: int = 1169
    kDiffuseMaterial: int = 387
    kDimension: int = 269
    kDimensionManip: int = 232
    kDirectedDisc: int = 276
    kDirectionManip: int = 161
    kDirectionalLight: int = 308
    kDiscManip: int = 132
    kDiskCache: int = 864
    kDispatchCompute: int = 319
    kDisplacementShader: int = 321
    kDisplayLayer: int = 734
    kDisplayLayerManager: int = 735
    kDistance: int = 272
    kDistanceBetween: int = 322
    kDistanceManip: int = 639
    kDivide: int = 1200
    kDofManip: int = 162
    kDotProduct: int = 1195
    kDoubleAngleAttribute: int = 567
    kDoubleArrayData: int = 585
    kDoubleIndexedComponent: int = 715
    kDoubleLinearAttribute: int = 569
    kDoubleShadingSwitch: int = 620
    kDoubleToAngleNode: int = 1158
    kDrag: int = 258
    kDropOffFunction: int = 827
    kDropoffLocator: int = 282
    kDropoffManip: int = 163
    kDummy: int = 254
    kDummyConnectable: int = 324
    kDynAirManip: int = 725
    kDynArrayAttrsData: int = 730
    kDynAttenuationManip: int = 729
    kDynBase: int = 721
    kDynBaseFieldManip: int = 724
    kDynEmitterManip: int = 722
    kDynFieldsManip: int = 723
    kDynGlobals: int = 770
    kDynNewtonManip: int = 726
    kDynParticleSetComponent: int = 560
    kDynSpreadManip: int = 728
    kDynSweptGeometryData: int = 744
    kDynTurbulenceManip: int = 727
    kDynamicConstraint: int = 994
    kDynamicsController: int = 325
    kEdgeComponent: int = 545
    kEditCurve: int = 822
    kEditCurveManip: int = 823
    kEditMetadata: int = 1090
    kEditsManager: int = 1098
    kEmitter: int = 255
    kEnableManip: int = 136
    kEnumAttribute: int = 572
    kEnvBall: int = 491
    kEnvChrome: int = 493
    kEnvCube: int = 492
    kEnvFacade: int = 977
    kEnvFogMaterial: int = 381
    kEnvFogShape: int = 278
    kEnvSky: int = 494
    kEnvSphere: int = 495
    kEqual: int = 1170
    kExplodeNurbsShell: int = 693
    kExpression: int = 327
    kExtendCurve: int = 65
    kExtendCurveDistanceManip: int = 164
    kExtendSurface: int = 66
    kExtendSurfaceDistanceManip: int = 717
    kExtract: int = 328
    kExtrude: int = 67
    kExtrudeManip: int = 165
    kFFD: int = 339
    kFFblendSrf: int = 68
    kFFfilletSrf: int = 69
    kFacade: int = 975
    kFalloffEval: int = 1149
    kFfdDualBase: int = 340
    kField: int = 256
    kFileBackground: int = 25
    kFileTexture: int = 500
    kFilletCurve: int = 70
    kFilter: int = 329
    kFilterClosestSample: int = 330
    kFilterEuler: int = 331
    kFilterSimplify: int = 332
    kFitBspline: int = 71
    kFixedLineManip: int = 233
    kFlexor: int = 299
    kFloatAngleAttribute: int = 568
    kFloatArrayData: int = 1038
    kFloatLinearAttribute: int = 570
    kFloatMatrixAttribute: int = 579
    kFloatVectorArrayData: int = 1015
    kFloor: int = 1171
    kFlow: int = 72
    kFluid: int = 915
    kFluidData: int = 917
    kFluidEmitter: int = 921
    kFluidGeom: int = 916
    kFluidTexture2D: int = 910
    kFluidTexture3D: int = 909
    kFollicle: int = 936
    kForceUpdateManip: int = 696
    kFosterParent: int = 1093
    kFourByFourMatrix: int = 776
    kFractal: int = 501
    kFreePointManip: int = 133
    kFreePointTriadManip: int = 137
    kGammaCorrect: int = 333
    kGenericAttribute: int = 576
    kGeoConnectable: int = 326
    kGeoConnector: int = 923
    kGeomBind: int = 1101
    kGeometric: int = 265
    kGeometryConstraint: int = 113
    kGeometryData: int = 713
    kGeometryFilt: int = 334
    kGeometryOnLineManip: int = 142
    kGeometryVarGroup: int = 114
    kGlobalCacheControls: int = 863
    kGlobalStitch: int = 702
    kGranite: int = 511
    kGravity: int = 259
    kGreasePencilSequence: int = 1089
    kGreasePlane: int = 1087
    kGreasePlaneRenderShape: int = 1088
    kGreaterThan: int = 1172
    kGrid: int = 502
    kGroundPlane: int = 290
    kGroupId: int = 356
    kGroupParts: int = 357
    kGuide: int = 358
    kGuideLine: int = 301
    kHairConstraint: int = 941
    kHairSystem: int = 937
    kHairTubeShader: int = 948
    kHandleRotateManip: int = 216
    kHardenPointCurve: int = 73
    kHardwareReflectionMap: int = 887
    kHardwareRenderGlobals: int = 527
    kHardwareRenderingGlobals: int = 1072
    kHeightField: int = 922
    kHikEffector: int = 962
    kHikFKJoint: int = 964
    kHikFloorContactMarker: int = 984
    kHikGroundPlane: int = 985
    kHikHandle: int = 966
    kHikIKEffector: int = 963
    kHikSolver: int = 965
    kHistorySwitch: int = 989
    kHsvToRgb: int = 359
    kHwShaderNode: int = 890
    kHyperGraphInfo: int = 360
    kHyperLayout: int = 361
    kHyperLayoutDG: int = 1006
    kHyperView: int = 362
    kIkEffector: int = 119
    kIkHandle: int = 120
    kIkRPManip: int = 167
    kIkSolver: int = 363
    kIkSplineManip: int = 166
    kIkSystem: int = 369
    kIllustratorCurve: int = 74
    kImageAdd: int = 660
    kImageBlur: int = 666
    kImageColorCorrect: int = 665
    kImageData: int = 654
    kImageDepth: int = 668
    kImageDiff: int = 661
    kImageDisplay: int = 669
    kImageFilter: int = 667
    kImageLoad: int = 655
    kImageMotionBlur: int = 671
    kImageMultiply: int = 662
    kImageNetDest: int = 658
    kImageNetSrc: int = 657
    kImageOver: int = 663
    kImagePlane: int = 370
    kImageRender: int = 659
    kImageSave: int = 656
    kImageSource: int = 792
    kImageUnder: int = 664
    kImageView: int = 670
    kImplicitCone: int = 895
    kImplicitSphere: int = 896
    kInsertKnotCrv: int = 75
    kInsertKnotSrf: int = 76
    kInstancer: int = 763
    kInt64ArrayData: int = 815
    kIntArrayData: int = 586
    kIntersectSurface: int = 77
    kInvalid: int = 0
    kInverseLinearInterpolation: int = 1173
    kIsoparmComponent: int = 540
    kIsoparmManip: int = 146
    kItemList: int = 564
    kJiggleDeformer: int = 862
    kJoint: int = 121
    kJointCluster: int = 349
    kJointClusterManip: int = 168
    kJointTranslateManip: int = 229
    kKeyframeDelta: int = 950
    kKeyframeDeltaAddRemove: int = 953
    kKeyframeDeltaBlockAddRemove: int = 954
    kKeyframeDeltaBreakdown: int = 958
    kKeyframeDeltaInfType: int = 955
    kKeyframeDeltaMove: int = 951
    kKeyframeDeltaScale: int = 952
    kKeyframeDeltaTangent: int = 956
    kKeyframeDeltaWeighted: int = 957
    kKeyframeRegionManip: int = 1003
    kKeyingGroup: int = 688
    kLambert: int = 371
    kLambertMaterial: int = 388
    kLattice: int = 279
    kLatticeComponent: int = 546
    kLatticeData: int = 588
    kLatticeGeom: int = 280
    kLayeredShader: int = 376
    kLayeredTexture: int = 805
    kLeastSquares: int = 379
    kLeather: int = 512
    kLength: int = 1174
    kLessThan: int = 1175
    kLight: int = 302
    kLightDataAttribute: int = 577
    kLightFogMaterial: int = 380
    kLightInfo: int = 378
    kLightLink: int = 769
    kLightList: int = 382
    kLightManip: int = 169
    kLightProjectionGeometry: int = 234
    kLightSource: int = 383
    kLightSourceMaterial: int = 391
    kLimitManip: int = 135
    kLineArrowManip: int = 235
    kLineManip: int = 147
    kLineModifier: int = 979
    kLinearInterpolation: int = 1176
    kLinearLight: int = 306
    kLocator: int = 281
    kLodGroup: int = 774
    kLodThresholds: int = 772
    kLog: int = 1177
    kLookAt: int = 112
    kLuminance: int = 384
    kMCsolver: int = 364
    kMPbirailSrf: int = 51
    kMakeGroup: int = 385
    kMandelbrot: int = 1085
    kMandelbrot3D: int = 1086
    kManip2DContainer: int = 192
    kManipContainer: int = 148
    kManipulator: int = 230
    kManipulator2D: int = 205
    kManipulator3D: int = 122
    kMarble: int = 513
    kMarker: int = 283
    kMarkerManip: int = 210
    kMaterial: int = 386
    kMaterialFacade: int = 976
    kMaterialInfo: int = 392
    kMaterialTemplate: int = 393
    kMatrixAdd: int = 394
    kMatrixArrayData: int = 604
    kMatrixAttribute: int = 578
    kMatrixData: int = 589
    kMatrixFloatData: int = 673
    kMatrixHold: int = 395
    kMatrixMult: int = 396
    kMatrixPass: int = 397
    kMatrixWtAdd: int = 398
    kMax: int = 1178
    kMembrane: int = 1039
    kMentalRayTexture: int = 943
    kMergeVertsToolManip: int = 1040
    kMesh: int = 296
    kMeshComponent: int = 550
    kMeshData: int = 590
    kMeshEdgeComponent: int = 551
    kMeshFaceVertComponent: int = 555
    kMeshFrEdgeComponent: int = 553
    kMeshGeom: int = 297
    kMeshMapComponent: int = 818
    kMeshPolygonComponent: int = 552
    kMeshVarGroup: int = 117
    kMeshVertComponent: int = 554
    kMeshVtxFaceComponent: int = 746
    kMessageAttribute: int = 580
    kMidModifier: int = 399
    kMidModifierWithMatrix: int = 400
    kMin: int = 1179
    kModel: int = 3
    kModifyEdgeBaseManip: int = 839
    kModifyEdgeCrvManip: int = 830
    kModifyEdgeManip: int = 831
    kModulo: int = 1180
    kMorph: int = 352
    kMotionPath: int = 445
    kMotionPathManip: int = 170
    kMountain: int = 503
    kMoveUVShellManip2D: int = 711
    kMoveVertexManip: int = 764
    kMultDoubleLinear: int = 775
    kMultiSubVertexComponent: int = 558
    kMultilisterLight: int = 447
    kMultiply: int = 1181
    kMultiplyDivide: int = 448
    kMultiplyPointByMatrix: int = 1197
    kMultiplyVectorByMatrix: int = 1198
    kMute: int = 932
    kNBase: int = 999
    kNCloth: int = 1008
    kNComponent: int = 995
    kNId: int = 1037
    kNIdData: int = 1036
    kNLE: int = 1096
    kNObject: int = 1017
    kNObjectData: int = 1016
    kNParticle: int = 1009
    kNRigid: int = 1010
    kNamedObject: int = 2
    kNearestPointOnCurve: int = 1066
    kNegate: int = 1182
    kNewton: int = 260
    kNodeGraphEditorBookmarkInfo: int = 1119
    kNodeGraphEditorBookmarks: int = 1118
    kNodeGraphEditorInfo: int = 1117
    kNoise: int = 880
    kNonAmbientLight: int = 304
    kNonDagSelectionItem: int = 563
    kNonExtendedLight: int = 307
    kNonLinear: int = 624
    kNormalConstraint: int = 238
    kNormalize: int = 1183
    kNot: int = 1184
    kNucleus: int = 998
    kNumericAttribute: int = 566
    kNumericData: int = 593
    kNurbsBoolean: int = 694
    kNurbsCircular2PtArc: int = 644
    kNurbsCircular3PtArc: int = 643
    kNurbsCube: int = 80
    kNurbsCurve: int = 267
    kNurbsCurveData: int = 592
    kNurbsCurveGeom: int = 268
    kNurbsCurveToBezier: int = 1057
    kNurbsPlane: int = 79
    kNurbsSquare: int = 622
    kNurbsSurface: int = 294
    kNurbsSurfaceData: int = 591
    kNurbsSurfaceGeom: int = 295
    kNurbsTesselate: int = 78
    kNurbsToSubdiv: int = 761
    kObjectAttrFilter: int = 681
    kObjectBinFilter: int = 944
    kObjectFilter: int = 677
    kObjectMultiFilter: int = 678
    kObjectNameFilter: int = 679
    kObjectRenderFilter: int = 682
    kObjectScriptFilter: int = 683
    kObjectTypeFilter: int = 680
    kOcean: int = 876
    kOceanDeformer: int = 1127
    kOceanShader: int = 899
    kOffsetCos: int = 81
    kOffsetCosManip: int = 171
    kOffsetCurve: int = 82
    kOffsetCurveManip: int = 172
    kOffsetSurface: int = 645
    kOffsetSurfaceManip: int = 653
    kOldGeometryConstraint: int = 449
    kOpaqueAttribute: int = 581
    kOpenPBRSurface: int = 1209
    kOpticalFX: int = 450
    kOr: int = 1185
    kOrientConstraint: int = 239
    kOrientationComponent: int = 556
    kOrientationLocator: int = 286
    kOrientationMarker: int = 284
    kOrthoGrid: int = 291
    kPASolver: int = 365
    kPIConstant: int = 1186
    kPairBlend: int = 928
    kParamDimension: int = 275
    kParentConstraint: int = 242
    kParentMatrix: int = 1207
    kParticle: int = 311
    kParticleAgeMapper: int = 451
    kParticleCloud: int = 452
    kParticleColorMapper: int = 453
    kParticleIncandecenceMapper: int = 454
    kParticleSamplerInfo: int = 807
    kParticleTransparencyMapper: int = 455
    kPartition: int = 456
    kPassContributionMap: int = 788
    kPfxGeometry: int = 946
    kPfxHair: int = 947
    kPfxToon: int = 972
    kPhong: int = 374
    kPhongExplorer: int = 375
    kPhongMaterial: int = 390
    kPickMatrix: int = 1139
    kPivotComponent: int = 541
    kPivotManip2D: int = 191
    kPlace2dTexture: int = 457
    kPlace3dTexture: int = 458
    kPlanarProjectionManip: int = 207
    kPlanarTrimSrf: int = 83
    kPlane: int = 288
    kPlugin: int = 582
    kPluginBlendShape: int = 1122
    kPluginCameraSet: int = 1013
    kPluginClientDevice: int = 1079
    kPluginConstraintNode: int = 1018
    kPluginData: int = 602
    kPluginDeformerNode: int = 616
    kPluginDependNode: int = 459
    kPluginEmitterNode: int = 732
    kPluginFieldNode: int = 731
    kPluginGeometryData: int = 768
    kPluginGeometryFilter: int = 1121
    kPluginHardwareShader: int = 891
    kPluginHwShaderNode: int = 892
    kPluginIkSolver: int = 762
    kPluginImagePlaneNode: int = 1007
    kPluginLocatorNode: int = 460
    kPluginManipContainer: int = 697
    kPluginManipulatorNode: int = 1035
    kPluginMotionPathNode: int = 446
    kPluginObjectSet: int = 925
    kPluginParticleAttributeMapperNode: int = 1011
    kPluginShape: int = 712
    kPluginSkinCluster: int = 1120
    kPluginSpringNode: int = 733
    kPluginThreadedDevice: int = 1080
    kPluginTransformNode: int = 914
    kPlusMinusAverage: int = 461
    kPointArrayData: int = 603
    kPointConstraint: int = 240
    kPointLight: int = 309
    kPointManip: int = 236
    kPointMatrixMult: int = 462
    kPointOnCurveInfo: int = 84
    kPointOnCurveManip: int = 208
    kPointOnLineManip: int = 211
    kPointOnPolyConstraint: int = 1061
    kPointOnSurfaceInfo: int = 85
    kPointOnSurfaceManip: int = 212
    kPoleVectorConstraint: int = 243
    kPolyAppend: int = 403
    kPolyAppendVertex: int = 797
    kPolyArrow: int = 980
    kPolyAutoProj: int = 852
    kPolyAutoProjManip: int = 968
    kPolyAverageVertex: int = 851
    kPolyAxis: int = 1156
    kPolyBevel: int = 401
    kPolyBevel2: int = 1099
    kPolyBevel3: int = 1103
    kPolyBlindData: int = 759
    kPolyBoolOp: int = 618
    kPolyBridgeEdge: int = 996
    kPolyCBoolOp: int = 1100
    kPolyCaddyManip: int = 1112
    kPolyChipOff: int = 404
    kPolyCircularize: int = 1132
    kPolyClean: int = 1125
    kPolyCloseBorder: int = 405
    kPolyCollapseEdge: int = 406
    kPolyCollapseF: int = 407
    kPolyColorDel: int = 742
    kPolyColorMod: int = 741
    kPolyColorPerVertex: int = 736
    kPolyComponentData: int = 986
    kPolyCone: int = 437
    kPolyConnectComponents: int = 1062
    kPolyContourProj: int = 1115
    kPolyCreaseEdge: int = 960
    kPolyCreateFacet: int = 443
    kPolyCreateToolManip: int = 140
    kPolyCreator: int = 435
    kPolyCube: int = 438
    kPolyCut: int = 902
    kPolyCutManip: int = 906
    kPolyCutManipContainer: int = 905
    kPolyCylProj: int = 408
    kPolyCylinder: int = 439
    kPolyDelEdge: int = 409
    kPolyDelFacet: int = 410
    kPolyDelVertex: int = 411
    kPolyDuplicateEdge: int = 974
    kPolyEdgeToCurve: int = 1020
    kPolyEditEdgeFlow: int = 1092
    kPolyExtrudeEdge: int = 794
    kPolyExtrudeFacet: int = 412
    kPolyExtrudeManip: int = 1075
    kPolyExtrudeManipContainer: int = 1076
    kPolyExtrudeVertex: int = 927
    kPolyFlipEdge: int = 793
    kPolyFlipUV: int = 889
    kPolyHelix: int = 987
    kPolyHoleFace: int = 1060
    kPolyLayoutUV: int = 853
    kPolyMapCut: int = 413
    kPolyMapDel: int = 414
    kPolyMapSew: int = 415
    kPolyMapSewMove: int = 854
    kPolyMappingManip: int = 194
    kPolyMergeEdge: int = 416
    kPolyMergeFacet: int = 417
    kPolyMergeUV: int = 911
    kPolyMergeVert: int = 699
    kPolyMesh: int = 440
    kPolyMirror: int = 959
    kPolyMirrorManipContainer: int = 907
    kPolyModifierManip: int = 195
    kPolyModifierManipContainer: int = 1113
    kPolyMoveEdge: int = 418
    kPolyMoveFacet: int = 419
    kPolyMoveFacetUV: int = 420
    kPolyMoveUV: int = 421
    kPolyMoveUVManip: int = 193
    kPolyMoveVertex: int = 422
    kPolyMoveVertexManip: int = 196
    kPolyMoveVertexUV: int = 423
    kPolyNormal: int = 424
    kPolyNormalPerVertex: int = 760
    kPolyNormalizeUV: int = 888
    kPolyPassThru: int = 1123
    kPolyPinUV: int = 961
    kPolyPipe: int = 983
    kPolyPlanProj: int = 425
    kPolyPlatonicSolid: int = 982
    kPolyPoke: int = 903
    kPolyPokeManip: int = 908
    kPolyPrimitive: int = 436
    kPolyPrimitiveMisc: int = 981
    kPolyPrism: int = 969
    kPolyProj: int = 426
    kPolyProjectCurve: int = 1073
    kPolyProjectionManip: int = 174
    kPolyPyramid: int = 970
    kPolyQuad: int = 427
    kPolyReFormManip: int = 1155
    kPolyReFormManipContainer: int = 1154
    kPolyReduce: int = 771
    kPolyRemesh: int = 1114
    kPolySelectEditFeedbackManip: int = 1043
    kPolySeparate: int = 463
    kPolySewEdge: int = 698
    kPolySmartBevel: int = 1208
    kPolySmartExtrude: int = 1152
    kPolySmartExtrudeManip: int = 1153
    kPolySmooth: int = 428
    kPolySmoothFacet: int = 700
    kPolySmoothProxy: int = 945
    kPolySoftEdge: int = 429
    kPolySphProj: int = 430
    kPolySphere: int = 441
    kPolySpinEdge: int = 1059
    kPolySplit: int = 431
    kPolySplitEdge: int = 816
    kPolySplitRing: int = 971
    kPolySplitToolManip: int = 141
    kPolySplitVert: int = 811
    kPolyStraightenUVBorder: int = 912
    kPolySubdEdge: int = 432
    kPolySubdFacet: int = 433
    kPolyToSubdiv: int = 686
    kPolyToolFeedbackManip: int = 1042
    kPolyToolFeedbackShape: int = 312
    kPolyTorus: int = 442
    kPolyTransfer: int = 850
    kPolyTriangulate: int = 434
    kPolyTweak: int = 402
    kPolyTweakUV: int = 710
    kPolyUVRectangle: int = 1071
    kPolyUnite: int = 444
    kPolyUnsmooth: int = 1151
    kPolyVertexNormalManip: int = 197
    kPolyWedgeFace: int = 904
    kPoseInterpolatorManager: int = 1128
    kPositionMarker: int = 285
    kPostProcessList: int = 464
    kPower: int = 1187
    kPrecompExport: int = 789
    kPrimitive: int = 86
    kPrimitiveFalloff: int = 1141
    kProjectCurve: int = 87
    kProjectTangent: int = 88
    kProjectTangentManip: int = 177
    kProjection: int = 465
    kProjectionManip: int = 173
    kProjectionMultiManip: int = 176
    kProjectionUVManip: int = 175
    kPropModManip: int = 178
    kPropMoveTriadManip: int = 138
    kProximityFalloff: int = 1146
    kProximityPin: int = 992
    kProximityWrap: int = 354
    kProxy: int = 108
    kProxyManager: int = 967
    kPsdFileTexture: int = 949
    kQuadPtOnLineManip: int = 179
    kQuadShadingSwitch: int = 926
    kRBFsurface: int = 89
    kRPsolver: int = 367
    kRadial: int = 261
    kRadius: int = 274
    kRamp: int = 504
    kRampBackground: int = 26
    kRampShader: int = 897
    kRbfSrfManip: int = 180
    kReForm: int = 1130
    kRebuildCurve: int = 90
    kRebuildSurface: int = 91
    kRecord: int = 466
    kReference: int = 756
    kReflect: int = 372
    kRemapColor: int = 939
    kRemapHsv: int = 940
    kRemapValue: int = 938
    kRenderBox: int = 869
    kRenderCone: int = 97
    kRenderGlobals: int = 523
    kRenderGlobalsList: int = 524
    kRenderLayer: int = 786
    kRenderLayerManager: int = 787
    kRenderPass: int = 784
    kRenderPassSet: int = 785
    kRenderQuality: int = 525
    kRenderRect: int = 277
    kRenderSetup: int = 522
    kRenderSphere: int = 298
    kRenderTarget: int = 790
    kRenderUtilityList: int = 467
    kRenderedImageSource: int = 791
    kRenderingList: int = 1074
    kReorderUVSet: int = 1134
    kResolution: int = 526
    kResultCurve: int = 16
    kResultCurveTimeToAngular: int = 17
    kResultCurveTimeToDistance: int = 18
    kResultCurveTimeToTime: int = 19
    kResultCurveTimeToUnitless: int = 20
    kReverse: int = 468
    kReverseCrvManip: int = 182
    kReverseCurve: int = 92
    kReverseCurveManip: int = 181
    kReverseSurface: int = 93
    kReverseSurfaceManip: int = 183
    kRevolve: int = 94
    kRevolveManip: int = 184
    kRevolvedPrimitive: int = 95
    kRevolvedPrimitiveManip: int = 185
    kRgbToHsv: int = 469
    kRigid: int = 314
    kRigidConstraint: int = 313
    kRigidDeform: int = 341
    kRigidSolver: int = 470
    kRock: int = 514
    kRotateBoxManip: int = 214
    kRotateLimitsManip: int = 217
    kRotateManip: int = 215
    kRotateUVManip2D: int = 708
    kRotateVector: int = 1188
    kRotationFromMatrix: int = 1206
    kRound: int = 1189
    kRoundConstantRadius: int = 646
    kRoundConstantRadiusManip: int = 649
    kRoundRadiusCrvManip: int = 648
    kRoundRadiusManip: int = 647
    kRowFromMatrix: int = 1203
    kSCsolver: int = 366
    kSPbirailSrf: int = 52
    kSamplerInfo: int = 478
    kScaleConstraint: int = 244
    kScaleFromMatrix: int = 1205
    kScaleLimitsManip: int = 218
    kScaleManip: int = 219
    kScalePointManip: int = 832
    kScaleUVManip2D: int = 709
    kScalingBoxManip: int = 220
    kScreenAlignedCircleManip: int = 127
    kScript: int = 640
    kScriptManip: int = 221
    kSculpt: int = 342
    kSectionManip: int = 819
    kSelectionItem: int = 561
    kSelectionList: int = 609
    kSelectionListData: int = 676
    kSelectionListOperator: int = 684
    kSequenceManager: int = 1050
    kSequencer: int = 1051
    kSet: int = 471
    kSetGroupComponent: int = 559
    kSetRange: int = 474
    kSfRevolveManip: int = 842
    kShaderGlow: int = 475
    kShaderList: int = 476
    kShadingEngine: int = 320
    kShadingMap: int = 477
    kShape: int = 248
    kShapeEditorManager: int = 1126
    kShapeFragment: int = 479
    kShot: int = 1052
    kShrinkWrapFilter: int = 1097
    kSimpleVolumeShader: int = 480
    kSin: int = 1190
    kSingleIndexedComponent: int = 714
    kSingleShadingSwitch: int = 619
    kSketchPlane: int = 289
    kSkin: int = 100
    kSkinBinding: int = 1063
    kSkinClusterFilter: int = 687
    kSkinShader: int = 674
    kSl60: int = 481
    kSmear: int = 918
    kSmoothCurve: int = 701
    kSmoothStep: int = 1191
    kSmoothTangentSrf: int = 783
    kSnapUVManip2D: int = 1094
    kSnapshot: int = 482
    kSnapshotPath: int = 924
    kSnapshotShape: int = 860
    kSnow: int = 515
    kSoftMod: int = 252
    kSoftModFilter: int = 348
    kSoftModManip: int = 638
    kSolidFractal: int = 516
    kSolidify: int = 353
    kSphere: int = 99
    kSphereData: int = 605
    kSphericalProjectionManip: int = 222
    kSplineSolver: int = 368
    kSpotCylinderManip: int = 187
    kSpotLight: int = 310
    kSpotManip: int = 186
    kSpring: int = 315
    kSprite: int = 292
    kSquareSrf: int = 718
    kSquareSrfManip: int = 719
    kStandardSurface: int = 377
    kStateManip: int = 145
    kStencil: int = 505
    kStereoCameraMaster: int = 1049
    kStitchAsNurbsShell: int = 692
    kStitchSrf: int = 101
    kStitchSrfManip: int = 695
    kStoryBoard: int = 483
    kStringArrayData: int = 607
    kStringData: int = 606
    kStringShadingSwitch: int = 919
    kStroke: int = 765
    kStrokeGlobals: int = 767
    kStucco: int = 517
    kStudioClearCoat: int = 920
    kStyleCurve: int = 901
    kSubCurve: int = 102
    kSubSurface: int = 782
    kSubVertexComponent: int = 557
    kSubdAddTopology: int = 893
    kSubdAutoProj: int = 878
    kSubdBlindData: int = 803
    kSubdBoolean: int = 828
    kSubdCleanTopology: int = 894
    kSubdCloseBorder: int = 865
    kSubdDelFace: int = 859
    kSubdExtrudeFace: int = 840
    kSubdHierBlind: int = 802
    kSubdLayoutUV: int = 874
    kSubdMapCut: int = 873
    kSubdMapSewMove: int = 875
    kSubdMappingManip: int = 886
    kSubdMergeVert: int = 866
    kSubdModifier: int = 855
    kSubdModifyEdge: int = 829
    kSubdMoveEdge: int = 857
    kSubdMoveFace: int = 858
    kSubdMoveVertex: int = 856
    kSubdPlanProj: int = 883
    kSubdProjectionManip: int = 885
    kSubdSplitFace: int = 870
    kSubdSubdivideFace: int = 879
    kSubdTweak: int = 884
    kSubdTweakUV: int = 872
    kSubdiv: int = 685
    kSubdivCVComponent: int = 703
    kSubdivCollapse: int = 806
    kSubdivCompId: int = 799
    kSubdivData: int = 812
    kSubdivEdgeComponent: int = 704
    kSubdivFaceComponent: int = 705
    kSubdivGeom: int = 813
    kSubdivMapComponent: int = 861
    kSubdivReverseFaces: int = 817
    kSubdivSurfaceVarGroup: int = 841
    kSubdivToNurbs: int = 821
    kSubdivToPoly: int = 720
    kSubsetFalloff: int = 1147
    kSubtract: int = 1201
    kSum: int = 1192
    kSummaryObject: int = 484
    kSuper: int = 485
    kSurface: int = 293
    kSurfaceCVComponent: int = 542
    kSurfaceEPComponent: int = 543
    kSurfaceEdManip: int = 778
    kSurfaceFaceComponent: int = 779
    kSurfaceInfo: int = 103
    kSurfaceKnotComponent: int = 544
    kSurfaceLuminance: int = 487
    kSurfaceRangeComponent: int = 547
    kSurfaceShader: int = 488
    kSurfaceVarGroup: int = 118
    kSymmetryConstraint: int = 241
    kSymmetryLocator: int = 834
    kSymmetryMapCurve: int = 836
    kSymmetryMapVector: int = 835
    kTan: int = 1193
    kTangentConstraint: int = 245
    kTension: int = 351
    kTexLattice: int = 200
    kTexLatticeDeformManip: int = 199
    kTexSmoothManip: int = 201
    kTexSmudgeUVManip: int = 198
    kTextButtonManip: int = 652
    kTextCurves: int = 104
    kTextManip: int = 929
    kTexture2d: int = 496
    kTexture3d: int = 507
    kTextureBakeSet: int = 472
    kTextureDeformer: int = 343
    kTextureDeformerHandle: int = 344
    kTextureEnv: int = 490
    kTextureList: int = 489
    kTextureManip3D: int = 223
    kThreadedDevice: int = 1077
    kThreePointArcManip: int = 650
    kTime: int = 520
    kTimeAttribute: int = 571
    kTimeEditor: int = 1107
    kTimeEditorAnimSource: int = 1110
    kTimeEditorClip: int = 1106
    kTimeEditorClipBase: int = 1104
    kTimeEditorClipEvaluator: int = 1105
    kTimeEditorInterpolator: int = 1109
    kTimeEditorTracks: int = 1108
    kTimeFunction: int = 942
    kTimeToUnitConversion: int = 521
    kTimeWarp: int = 1081
    kToggleManip: int = 224
    kToggleOnLineManip: int = 144
    kToolContext: int = 1095
    kToonLineAttributes: int = 973
    kTorus: int = 617
    kTowPointManip: int = 139
    kTowPointOnCurveManip: int = 209
    kTowPointOnSurfaceManip: int = 777
    kTrackInfoManager: int = 1124
    kTransferAttributes: int = 993
    kTransferFalloff: int = 1144
    kTransform: int = 110
    kTransformBoxManip: int = 833
    kTransformGeometry: int = 610
    kTranslateBoxManip: int = 225
    kTranslateLimitsManip: int = 226
    kTranslateManip: int = 227
    kTranslateManip2D: int = 206
    kTranslateUVManip: int = 213
    kTranslateUVManip2D: int = 707
    kTranslationFromMatrix: int = 1202
    kTriadManip: int = 237
    kTrim: int = 105
    kTrimLocator: int = 287
    kTrimManip: int = 228
    kTrimWithBoundaries: int = 934
    kTriplanarProjectionManip: int = 188
    kTripleIndexedComponent: int = 716
    kTripleShadingSwitch: int = 621
    kTrsInsertManip: int = 203
    kTrsManip: int = 189
    kTrsTransManip: int = 202
    kTrsXformManip: int = 204
    kTruncate: int = 1194
    kTurbulence: int = 262
    kTweak: int = 345
    kTwoPointArcManip: int = 651
    kTxSl: int = 518
    kTypedAttribute: int = 574
    kUInt64ArrayData: int = 814
    kUVManip2D: int = 706
    kUVPin: int = 991
    kUfeProxyTransform: int = 1135
    kUint64SingleIndexedComponent: int = 1041
    kUintArrayData: int = 587
    kUnderWorld: int = 109
    kUniform: int = 263
    kUniformFalloff: int = 1143
    kUnitAttribute: int = 573
    kUnitConversion: int = 529
    kUnitToTimeConversion: int = 530
    kUnknown: int = 532
    kUnknownDag: int = 316
    kUnknownTransform: int = 246
    kUntrim: int = 106
    kUnused1: int = 844
    kUnused2: int = 845
    kUnused3: int = 846
    kUnused4: int = 847
    kUnused5: int = 848
    kUnused6: int = 849
    kUseBackground: int = 531
    kUvChooser: int = 798
    kVectorArrayData: int = 608
    kVectorProduct: int = 533
    kVertexBakeSet: int = 473
    kVertexWeightSet: int = 1065
    kViewColorManager: int = 672
    kViewManip: int = 930
    kVolumeAxis: int = 800
    kVolumeBindManip: int = 1064
    kVolumeFog: int = 871
    kVolumeLight: int = 898
    kVolumeNoise: int = 877
    kVolumeShader: int = 534
    kVortex: int = 264
    kWater: int = 506
    kWeightFunctionData: int = 1148
    kWeightGeometryFilt: int = 346
    kWire: int = 355
    kWood: int = 519
    kWorld: int = 247
    kWrapFilter: int = 745
    kWriteToColorBuffer: int = 1045
    kWriteToDepthBuffer: int = 1047
    kWriteToFrameBuffer: int = 1044
    kWriteToLabelBuffer: int = 1048
    kWriteToVectorBuffer: int = 1046
    kXformManip: int = 931
    kXsectionSubdivEdit: int = 820

class MFnAssembly(MFnDagNode):
    """Function set for assemblies."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def activate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def activateNonRecursive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def canActivate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def canRepApplyEdits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createRepresentation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteAllRepresentations(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteRepresentation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAbsoluteRepNamespace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getActive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getInitialRep(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getParentAssembly(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRepLabel(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRepNamespace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRepType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRepresentations(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSubAssemblies(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getTopLevelAssemblies(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def handlesAddEdits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def importFile(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isActive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isTopLevel(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def postLoad(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def repTypes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRepLabel(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRepName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportsEdits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportsMemberChanges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnAttribute(MFnBase):
    """Base class for attribute functionsets."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def accepts(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acceptsAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addToCategory(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    affectsAppearance: Any
    affectsWorldSpace: Any
    array: Any
    cached: Any
    channelBox: Any
    connectable: Any
    disconnectBehavior: Any
    dynamic: Any
    enforcingUniqueName: Any
    extension: Any
    def getAddAttrCmd(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasCategory(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    hidden: Any
    indeterminant: Any
    indexMatters: Any
    internal: Any
    isProxyAttribute: Any
    kDelete: int = 0
    kNothing: int = 2
    kReset: int = 1
    keyable: Any
    name: Any
    parent: Any
    def pathName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    readable: Any
    renderSource: Any
    def setNiceNameOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    shortName: Any
    storable: Any
    usedAsColor: Any
    usedAsFilename: Any
    usesArrayDataBuilder: Any
    worldSpace: Any
    writable: Any

class MFnBase:
    """Base class for function sets."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasObj(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def object(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def type(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnCamera(MFnDagNode):
    """Function set for cameras."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def aspectRatio(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    cameraScale: Any
    centerOfInterest: Any
    def centerOfInterestPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def computeDepthOfField(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyViewFrom(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def eyePoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    fStop: Any
    farClippingPlane: Any
    farFocusDistance: Any
    filmFit: Any
    filmFitOffset: Any
    filmRollOrder: Any
    filmRollValue: Any
    filmTranslateH: Any
    filmTranslateV: Any
    focalLength: Any
    focusDistance: Any
    def getAspectRatioLimits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFilmApertureLimits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFilmFrustum(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFilmFrustumCorners(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFocalLengthLimits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPortFieldOfView(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRenderingFrustum(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getViewParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getViewingFrustum(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasSamePerspective(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def horizontalFieldOfView(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    horizontalFilmAperture: Any
    horizontalFilmOffset: Any
    horizontalPan: Any
    horizontalRollPivot: Any
    horizontalShake: Any
    isClippingPlanes: Any
    isDepthOfField: Any
    isDisplayFilmGate: Any
    isDisplayGateMask: Any
    isMotionBlur: Any
    def isOrtho(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isVerticalLock: Any
    kFillFilmFit: int = 0
    kHorizontalFilmFit: int = 1
    kInvalid: int = 4
    kOverscanFilmFit: int = 3
    kRotateTranslate: int = 0
    kTranslateRotate: int = 1
    kVerticalFilmFit: int = 2
    lensSqueezeRatio: Any
    nearClippingPlane: Any
    nearFocusDistance: Any
    orthoWidth: Any
    overscan: Any
    panZoomEnabled: Any
    def postProjectionMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    postScale: Any
    preScale: Any
    def projectionMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    renderPanZoom: Any
    def rightDirection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAspectRatio(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCenterOfInterestPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setEyePoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setHorizontalFieldOfView(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIsOrtho(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setNearFarClippingPlanes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setVerticalFieldOfView(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    shakeEnabled: Any
    shakeOverscan: Any
    shakeOverscanEnabled: Any
    shutterAngle: Any
    stereoHIT: Any
    stereoHITEnabled: Any
    tumblePivot: Any
    def upDirection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    usePivotAsLocalSpace: Any
    def verticalFieldOfView(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    verticalFilmAperture: Any
    verticalFilmOffset: Any
    verticalPan: Any
    verticalRollPivot: Any
    verticalShake: Any
    def viewDirection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    zoom: Any

class MFnComponent(MFnBase):
    """This is the base class for all function sets which deal with
    component objects.

    __init__()
    Initializes a new, empty MFnComponent object
    __init__(MObject component)
    Initializes a new MFnComponent function set, attached to the specified component.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    componentType: Any
    elementCount: Any
    hasWeights: bool
    isComplete: Any
    isEmpty: Any
    def isEqual(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def weight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnComponentListData(MFnData):
    """MFnComponentListData allows the creation and manipulation of component list
    (represented as MObjects) data objects for use in the dependency graph.

    __init__()
    Initializes a new, empty MFnComponentListData object.

    __init__(MObject)
    Initializes a new MFnComponentListData function set, attached
    to the specified object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def add(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def get(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def has(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def length(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnCompoundAttribute(MFnAttribute):
    """Functionset for creating and working with compound attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addChild(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def child(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAddAttrCmds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numChildren(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeChild(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnContainerNode(MFnDependencyNode):
    """Function set for containers."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getCurrentAsMObject(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMembers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getParentContainer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPublishedNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPublishedNodes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPublishedPlugs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRootTransform(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSubcontainers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isCurrent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kChildAnchor: int = 1
    kGeneric: int = 2
    kParentAnchor: int = 0
    def makeCurrent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnDagNode(MFnDependencyNode):
    """Function set for operating on DAG nodes.

    __init__()
    Initializes a new, empty MFnDagNode functionset.

    __init__(MObject)
    Initializes a new MFnDagNode functionset and attaches it to a
    DAG node.

    __init__(MDagPath)
    Initializes a new MFnDagNode functionset and attaches it to a
    DAG path.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addChild(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    boundingBox: Any
    def child(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def childCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dagPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dagRoot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def duplicate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def fullPathName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAllPaths(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedSetsAndMembers(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasChild(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasParent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    inModel: Any
    inUnderWorld: Any
    def instanceCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isChildOf(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isInstanceable: Any
    def isInstanced(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isInstancedAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isIntermediateObject: Any
    def isParentOf(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kNextPos: int = 255
    objectColor: Any
    objectColorRGB: Any
    objectColorType: Any
    def parent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parentCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def partialPathName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeChild(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeChildAt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transformationMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    useObjectColor: Any

class MFnData(MFnBase):
    """Base class for dependency graph data function sets."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAny: int = 24
    kComponentList: int = 13
    kDoubleArray: int = 7
    kDynArrayAttrs: int = 19
    kDynSweptGeometry: int = 20
    kFalloffFunction: int = 25
    kFloatArray: int = 8
    kIntArray: int = 9
    kInvalid: int = 0
    kLast: int = 26
    kLattice: int = 15
    kMatrix: int = 5
    kMatrixArray: int = 12
    kMesh: int = 14
    kNId: int = 23
    kNObject: int = 22
    kNumeric: int = 1
    kNurbsCurve: int = 16
    kNurbsSurface: int = 17
    kPlugin: int = 2
    kPluginGeometry: int = 3
    kPointArray: int = 10
    kSphere: int = 18
    kString: int = 4
    kStringArray: int = 6
    kSubdSurface: int = 21
    kVectorArray: int = 11

class MFnDependencyNode(MFnBase):
    """Function set for operating on dependency nodes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def absoluteName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addExternalContentForFileAttr(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def affectsAnimation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def allocateFlag(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def attribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def attributeClass(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def attributeCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def canBeWritten(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def classification(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deallocateAllFlags(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deallocateFlag(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def dgCallbackIds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dgCallbacks(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dgTimer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dgTimerOff(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dgTimerOn(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dgTimerQueryState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dgTimerReset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def findAlias(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def findPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAffectedAttributes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAffectingAttributes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAliasAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAliasList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnections(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getExternalContent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUniqueName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isDefaultNode: Any
    def isFlagSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isFromReferencedFile: Any
    isLocked: Any
    def isNewAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isShared: Any
    def isTrackingEdits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kExtensionAttr: int = 3
    kInvalidAttr: int = 4
    kLocalDynamicAttr: int = 1
    kNormalAttr: int = 2
    kTimerInvalidState: int = 3
    kTimerMetric_callback: int = 0
    kTimerMetric_callbackNotViaAPI: int = 6
    kTimerMetric_callbackViaAPI: int = 5
    kTimerMetric_compute: int = 1
    kTimerMetric_computeDuringCallback: int = 7
    kTimerMetric_computeNotDuringCallback: int = 8
    kTimerMetric_dirty: int = 2
    kTimerMetric_draw: int = 3
    kTimerMetric_fetch: int = 4
    kTimerMetrics: int = 9
    kTimerOff: int = 0
    kTimerOn: int = 1
    kTimerType_count: int = 2
    kTimerType_inclusive: int = 1
    kTimerType_self: int = 0
    kTimerTypes: int = 3
    kTimerUninitialized: int = 2
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    namespace: Any
    pluginName: Any
    def plugsAlias(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reorderedAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAffectsAnimation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAlias(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDoNotWrite(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setExternalContent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setExternalContentForFileAttr(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setFlag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUuid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    typeId: Any
    typeName: Any
    def uniqueName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def userNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def uuid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnDisplayLayer(MFnDependencyNode):
    """Function set display layer.

    __init__()
    Initializes a new, empty MFnDisplayLayer object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def add(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def contains(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def containsAncestorInclusive(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getMembers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnDisplayLayerManager(MFnDependencyNode):
    """Function set display layer.

    __init__()
    Initializes a new, empty MFnDisplayLayerManager object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def currentDisplayLayerManager(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAllDisplayLayers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAncestorLayersInclusive(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getLayer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnDoubleArrayData(MFnData):
    """Function set for node data consisting of an array of doubles."""
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def array(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnDoubleIndexedComponent(MFnComponent):
    """This function set allows you to create, edit, and query double indexed
    components. Double indexed components store 2 dimensional index values.

    __init__()
    Initializes a new, empty MFnDoubleIndexedComponent object

    __init__(MObject component)
    Initializes a new MFnDoubleIndexedComponent function set, attached
    to the specified component.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCompleteData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCompleteData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnEnumAttribute(MFnAttribute):
    """Functionset for creating and working with enumeration attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addField(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    default: Any
    def fieldName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def fieldValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDefaultByName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnGenericAttribute(MFnAttribute):
    """Functionset for creating and working with attributes which can accept several different types of data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addDataType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addNumericType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addTypeId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeDataType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeNumericType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeTypeId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnGeometryData(MFnData):
    """This class is the function set for geometry data.

    Geometry data adds matrix and grouping (set) information to regular
    data and is used to pass geometry types such as mesh, lattice, and
    NURBS shape data through DG connections.

    __init__()
    Initializes a new, empty MFnGeometryData object

    __init__(MObject)
    Initializes a new MFnGeometryData function set, attached
    to the specified object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addComponentTag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addObjectGroup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addObjectGroupComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def changeObjectGroupId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def componentTagContents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def componentTagExpressionSubsetState(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def componentTagType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def componentTags(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyObjectGroups(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasComponentTag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasObjectGroup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isIdentity: Any
    isNotIdentity: Any
    kAuto: int = 0
    kCompleteGroup: int = 2
    kEdges: int = 3
    kEmptyGroup: int = 1
    kFaces: int = 4
    kInvalidGroup: int = 0
    kNull: int = 1
    kPartialGroup: int = 3
    kUnsupported: int = 5
    kVerts: int = 2
    matrix: Any
    def objectGroup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def objectGroupComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    objectGroupCount: Any
    def objectGroupSubsetState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def objectGroupType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeComponentTag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeObjectGroup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeObjectGroupComponent(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def renameComponentTag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resolveComponentTagExpression(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setComponentTagContents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setObjectGroupComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnIntArrayData(MFnData):
    """Function set for node data consisting of an array of ints."""
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def array(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnLightDataAttribute(MFnAttribute):
    """Functionset for creating and working with light data attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def child(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    default: Any

class MFnMatrixArrayData(MFnData):
    """Function set for node data consisting of an array of MMatrix."""
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def array(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnMatrixAttribute(MFnAttribute):
    """Functionset for creating and working with matrix attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    default: Any
    kDouble: int = 1
    kFloat: int = 0

class MFnMatrixData(MFnData):
    """Function set for matrix node data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isTransformation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def matrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transformation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnMesh(MFnDagNode):
    """Function set for operation on meshes (polygonal surfaces).

    __init__()
    Initializes a new, empty MFnMesh object.

    __init__(MDagPath path)
    Initializes a new MFnMesh object and attaches it to the DAG path
    of a mesh node.

    __init__(MObject nodeOrData)
    Initializes a new MFnMesh object and attaches it to a mesh
    node or mesh data object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addHoles(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPolygon(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def allIntersections(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def anyIntersection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def assignColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def assignColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def assignUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def assignUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def autoUniformGridParams(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def booleanOp(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def booleanOperations(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def booleanOps(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cachedIntersectionAcceleratorInfo(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

    checkSamePointTwice: bool
    def cleanupEdgeSmoothing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def clearGlobalIntersectionAcceleratorInfo(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def clearUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def closestIntersection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def collapseEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def collapseFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyInPlace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyUVSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createBlindDataType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createColorSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createInPlace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createUVSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentColorSetName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentUVSetName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteColorSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteEdge(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteFace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteUVSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteVertex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    displayColors: Any
    def duplicateFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def edgeBorderInfo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def extractFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def extrudeEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def extrudeFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def freeCachedIntersectionAccelerator(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def generateSmoothMesh(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAssignedUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAssociatedColorSetInstances(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getAssociatedUVSetInstances(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getAssociatedUVSetTextures(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getBinaryBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBinormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBlindDataAttrNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBlindDataTypes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBoolBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getClosestNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getClosestPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getClosestPointAndNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getClosestUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorRepresentation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorSetFamilyNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorSetNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorSetsInFamily(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedShaders(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCreaseEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCreaseVertices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDoubleBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEdgeVertices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceAndVertexIndices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceNormalIds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceUVSetNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceVertexBinormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceVertexBinormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceVertexColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceVertexIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceVertexNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceVertexNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceVertexTangent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFaceVertexTangents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFloatBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFloatPoints(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getHoles(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getIntBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getInvisibleFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMeshShellsIds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNormalIds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPointAtUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPoints(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPointsAtUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPolygonNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPolygonTriangleVertices(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getPolygonUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPolygonUVid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPolygonVertices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSmoothMeshDisplayOptions(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getStringBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTangentId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTangents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTriangleOffsets(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTriangles(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVAtPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVBorderEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVSetFamilyNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVSetNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVSetsInFamily(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUvShellsIds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getVertexColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getVertexNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getVertexNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getVertices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def globalIntersectionAcceleratorsInfo(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def hasAlphaChannels(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasColorChannels(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def intersectFaceAtUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isBlindDataTypeUsed(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isColorClamped(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isColorSetPerInstance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEdgeSmooth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isNormalLocked(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isPolygonConvex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isPolygonUVReversed(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isRightHandedTangent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isUVSetPerInstance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAlpha: int = 1
    kBooleanCutOut: int = 8
    kBooleanDifferenceAB: int = 2
    kBooleanDifferenceBA: int = 4
    kBooleanHolePunch: int = 7
    kBooleanIntersection: int = 3
    kBooleanSplit: int = 5
    kBooleanSplitEdges: int = 6
    kBooleanUnion: int = 1
    kDifference: int = 2
    kEdgeClassification: int = 1
    kGeomBorder: int = -2
    kInstanceUnspecified: int = -1
    kInternalPoint: int = 1
    kIntersectTolerance: float = 1e-06
    kIntersection: int = 3
    kInvalid: int = 2
    kLegacyMeshGeometryMode: int = 1
    kMeshGeometryMode: int = 0
    kNormalClassification: int = 2
    kOnEdge: int = 0
    kPointTolerance: float = 1e-10
    kRGB: int = 3
    kRGBA: int = 4
    kSharedUV: int = 0
    kUVBorder: int = -1
    kUnion: int = 1
    kUnsharedUV: int = 1
    kVolumeGeometryMode: int = 2
    def lockFaceVertexNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def lockVertexNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    numColorSets: Any
    def numColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    numEdges: Any
    numFaceVertices: Any
    numNormals: Any
    numPolygons: Any
    numUVSets: Any
    def numUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    numVertices: Any
    def onBoundary(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def polygonVertexCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeFaceColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeFaceVertexColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeVertexColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renameUVSet(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setBinaryBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setBoolBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCreaseEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCreaseVertices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCurrentColorSetName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCurrentUVSetName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDoubleBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setEdgeSmoothing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setEdgeSmoothings(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFaceColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFaceColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFaceVertexColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFaceVertexColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFaceVertexNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFaceVertexNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFloatBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIntBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInvisibleFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIsColorClamped(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPoints(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSmoothMeshDisplayOptions(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setSomeColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSomeUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setStringBlindData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setVertexColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setVertexColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setVertexNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setVertexNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def sortIntersectionFaceTriIds(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def split(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def subdivideEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def subdivideFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def syncObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def uniformGridParams(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def unlockFaceVertexNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unlockVertexNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnMeshData(MFnGeometryData):
    """MFnMeshData allows the creation and manipulation of Mesh
    data objects for use in the dependency graph.

    __init__()
    Initializes a new, empty MFnMeshData object

    __init__(MObject)
    Initializes a new MFnMeshData function set, attached
    to the specified object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnMessageAttribute(MFnAttribute):
    """Functionset for creating and working with message attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnNumericAttribute(MFnAttribute):
    """Functionset for creating and working with numeric attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def child(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createAddr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    default: Any
    def getMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSoftMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSoftMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasSoftMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasSoftMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numericType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSoftMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSoftMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnNumericData(MFnData):
    """Function set for non-simple numeric node data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    k2Double: int = 15
    k2Float: int = 12
    k2Int: int = 8
    k2Long: int = 8
    k2Short: int = 5
    k3Double: int = 16
    k3Float: int = 13
    k3Int: int = 9
    k3Long: int = 9
    k3Short: int = 6
    k4Double: int = 17
    kAddr: int = 18
    kBoolean: int = 1
    kByte: int = 2
    kChar: int = 3
    kDouble: int = 14
    kFloat: int = 11
    kInt: int = 7
    kInt64: int = 10
    kLast: int = 19
    kLong: int = 7
    kShort: int = 4
    def numericType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnNurbsCurve(MFnDagNode):
    """NURBS (Non-Uniform Rational B-Spline) curve function set.

    The shape of a NURBS curve is defined by an array of CVs
    (control vertices), an array of knot values, a degree, and a
    form.  There are 3 possible 'forms' for the curve: open,
    closed and periodic.

    The open and closed forms are quite similar, and in fact a
    closed curve will become an open curve if either the first
    or last CV is moved so that they are no longer coincident.
    To create an open or closed curve of degree N with M spans,
    you must provide M+N CVs.  This implies that for a degree N
    curve, you must specify at least N+1 CVs to get a curve with
    a single span.

    The number of knots required for a curve is M + 2N - 1. If
    you want the curve to start exactly at the first CV and end
    exactly at the last CV, then the knot vector must be
    structured to have degree N 'multiplicity' at the beginning
    and end.  This means that the first N knots must be
    identical, and the last N knots must be identical.

    A periodic curve is a special case of a closed curve.
    Instead of having just the first and last CVs coincident,
    the last N CVs in the curve must overlap the first N CVs.
    This results in a curve with no tangent break at the seam
    where the ends meet.  The last N CVs in a periodic curve are
    permanently bound to the first N CVs, and Maya will not
    allow those last N CVs to be repositioned.  If one or more
    of the first N CVs of the curve are repositioned, the
    overlapping CV's will remain bound, and will also be moved.

    In order to create a periodic curve, you must specify at
    least 2N+1 CVs, so that that last N can overlap the first N
    and you still have 1 non-overlapping CV left.  The number of
    CVs required to create a periodic curve is still N+M (with a
    lower limit of 2N+1), but you must ensure that the positions
    of the last N CVs are identical to the positions of the
    first N.

    You still need M + 2N - 1 knots for a periodic curve, but
    the knot values required are more restrictive than for open
    or closed curves because of the overlap at the ends, The
    difference between the first N pairs of knots values should
    be equal to the difference between the last N pairs.
    Additionally there can be no knot multiplicity at the ends
    of the curve, because that would compromise the tangent
    continuity property. So an example knot sequence could begin
    with knots at { -(N-2), -(N-1), ... , 0}.

    Note that some third party applications use a different
    format for knots, where the number of knots required for a
    curve is M+2N+1 rather than M+2N-1 as used in Maya. Both
    knot representations are equivalent mathematically. To
    convert from one of these external representations into the
    Maya representation, simply omit the first and last knots
    from the external representation when creating the Maya
    representation. To convert from the Maya representation into
    the external representation, add two new knots at the
    beginning and end of the Maya knot sequence. The value of
    these new knots depends on the existing knot sequence. For a
    knot sequence with multiple end knots, simply duplicate the
    existing first and last knots once more, for example:

    Maya representation: {0,0,0,...,N,N,N}
    External representation: {0,0,0,0,...,N,N,N,N}

    For a knot sequence with uniform end knots, create the new
    knots offset at an interval equal to the existing first and
    last knot intervals, for example:

    Maya representation: {0,1,2,...,N,N+1,N+2}
    External representation: {-1,0,1,2,...,N,N+1,N+2,N+3}
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def area(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def closestPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createWithEditPoints(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cvPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cvPositions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cvs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    degree: Any
    def distanceToPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def findLengthFromParam(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def findParamFromLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    form: Any
    def getDerivativesAtParam(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getParamAtPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPointAtParam(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    hasHistoryOnCreate: Any
    def isParamOnCurve(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isPlanar: bool
    def isPointOnCurve(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kClosed: int = 2
    kFindParamTolerance: float = 1e-06
    kInvalid: int = 0
    kLast: int = 4
    kOpen: int = 1
    kPeriodic: int = 3
    kPointTolerance: float = 0.001
    def knot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    knotDomain: Any
    def knots(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def length(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def makeMultipleEndKnots(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    numCVs: Any
    numKnots: Any
    numSpans: Any
    planeNormal: Any
    def removeKnot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reverse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCVPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCVPositions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setKnot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setKnots(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def tangent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateCurve(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnNurbsCurveData(MFnGeometryData):
    """MFnNurbsCurveData allows the creation and manipulation of Nurbs Curve
    data objects for use in the dependency graph.

    __init__()
    Initializes a new, empty MFnNurbsCurveData object

    __init__(MObject)
    Initializes a new MFnNurbsCurveData function set, attached
    to the specified object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnNurbsSurface(MFnDagNode):
    """NURBS (Non-Uniform Rational B-Spline) surface function set.

    The shape of a NURBS surface is defined by an array of CVs
    (control vertices), an array of knot values in the U direction
    and an array of knot values in the V direction, a degree in U
    and in V, and a form in U and in V.

    The U and V knot vectors for NURBS surfaces are of size
    (spansInU + 2*degreeInU -1) and (spansInV + 2*degreeInV -1).
    Note: spans = numCVs - degree.

    There are 3 possible forms for the surface in the U and V
    directions: open, closed and periodic. These forms are described
    below. Note that the descriptions below apply to both the U and
    V directions.

    The open and closed forms are quite similar, and in fact a
    closed surface will become an open surface if either the first
    or last CV is moved so that they are no longer coincident. To
    create an open or closed surface, of degree N, with M spans, you
    must provide M+N CVs. This implies that for a degree N surface,
    you must specify at least N+1 CVs to get a surface with a single
    span.

    The number of knots required for the surface is M + 2N - 1.  If
    you want the surface to start exactly at the first CV and end
    exactly at the last CV, then the knot vector must be structured
    to have degree N multiplicity at the beginning and end. This
    means that the first N knots must be identical, and the last N
    knots must be identical.

    A periodic surface is a special case of a closed surface.
    Instead of having just the first and last CVs coincident, the
    last N CVs in the surface, where N is equal to the degree,
    overlap the first N CVs. This results in a surface with no
    tangent break where the ends meet. The last N CVs in a periodic
    surface are permanently bound to the first N CVs, and Maya will
    not allow those last N CVs to be repositioned. If one or more
    of the first N CVs of the surface are repositioned, the
    overlapping CV's will remain bound, and will also be moved.

    In order to create a periodic surface, you must specify at least
    2N+1 CVs, so that that last N can overlap the first N and you
    still have 1 non-overlapping CV left.  The number of CVs
    required to create a periodic surface is still N+M (with a
    lower limit of 2N+1), but you must ensure that the positions
    of the last N CVs are identical to the positions of the
    first N.

    You still need M + 2N - 1 knots for a periodic surface, but
    the knot values required are more restrictive than for open
    or closed surfaces because of the overlap of the last N CVs.
    The first N knots should be specified at the beginning of
    the knot array as values { -(N-1), -(N-2), ... 0 } in order
    to implement the overlap.  Additionally there can be no knot
    multiplicity at the end of the surface, because that would
    compromise the tangent continuity property.

    Note that some third party applications use a different
    format for knots, where the number of knots required for a
    surface is M+2N+1 rather than M+2N-1 as used in Maya. Both
    knot representations are equivalent mathematically. To
    convert from one of these external representations into the
    Maya representation, simply omit the first and last knots
    from the external representation when creating the Maya
    representation. To convert from the Maya representation into
    the external representation, add two new knots at the
    beginning and end of the Maya knot sequence. The value of
    these new knots depends on the existing knot sequence. For a
    knot sequence with multiple end knots, simply duplicate the
    existing first and last knots once more, for example:

    Maya representation: {0,0,0,...,N,N,N}
    External representation: {0,0,0,0,...,N,N,N,N}

    For a knot sequence with uniform end knots, create the new
    knots offset at an interval equal to the existing first and
    last knot intervals, for example:

    Maya representation: {0,1,2,...,N,N+1,N+2}
    External representation: {-1,0,1,2,...,N,N+1,N+2,N+3}
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def area(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def assignUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def assignUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def boundaryType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def closestPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cv(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cvPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cvPositions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cvsInU(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cvsInV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    dataObject: MObject
    degreeInU: Any
    degreeInV: Any
    def distanceToPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def edge(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    formInU: Any
    formInV: Any
    def getAssignedUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedShaders(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDerivativesAtParam(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getParamAtPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPatchUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPatchUVid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPatchUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPointAtParam(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    hasHistoryOnCreate: Any
    def intersect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isBezier: Any
    def isFlipNorm(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isFoldedOnBispan: bool
    def isKnotU(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isKnotV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isParamOnSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isPointInTrimmedRegion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isPointOnSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isTrimmedSurface: Any
    isUniform: Any
    kClosed: int = 2
    kClosedSegment: int = 4
    kInner: int = 2
    kInvalid: int = 0
    kInvalidBoundary: int = 0
    kLast: int = 4
    kOpen: int = 1
    kOuter: int = 1
    kPeriodic: int = 3
    kPointTolerance: float = 0.001
    kSegment: int = 3
    knotDomainInU: Any
    knotDomainInV: Any
    def knotInU(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def knotInV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def knotsInU(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def knotsInV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numBoundaries(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    numCVsInU: Any
    numCVsInV: Any
    def numEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    numKnotsInU: Any
    numKnotsInV: Any
    numNonZeroSpansInU: Any
    numNonZeroSpansInV: Any
    numPatches: Any
    numPatchesInU: Any
    numPatchesInV: Any
    numRegions: Any
    numSpansInU: Any
    numSpansInV: Any
    numUVs: Any
    def projectCurve(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeKnotInU(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeKnotInV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeOneKnotInU(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeOneKnotInV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCVPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCVPositions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setKnotInU(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setKnotInV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setKnotsInU(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setKnotsInV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def tangents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def trim(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnNurbsSurfaceData(MFnGeometryData):
    """MFnNurbsSurfaceData allows the creation and manipulation of Nurbs Surface
    data objects for use in the dependency graph.

    __init__()
    Initializes a new, empty MFnNurbsSurfaceData object

    __init__(MObject)
    Initializes a new MFnNurbsSurfaceData function set, attached
    to the specified object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnPlugin(MFnBase):
    """Register and deregister plug-in services with Maya."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def apiVersion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deregisterAttributePatternFactory(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def deregisterCommand(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deregisterContextCommand(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deregisterData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deregisterDragAndDropBehavior(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def deregisterNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def findPlugin(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def loadPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def registerAttributePatternFactory(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def registerCommand(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def registerContextCommand(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def registerData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def registerDragAndDropBehavior(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def registerNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def registerShape(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def vendor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    version: str

class MFnPluginData(MFnData):
    """MFnPluginData allows the creation and manipulation of plugin
    data objects for use in the dependency graph.

    __init__()
    Initializes a new, empty MFnPluginData object

    __init__(MObject)
    Initializes a new MFnPluginData function set, attached
    to the specified object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def data(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def typeId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnPointArrayData(MFnData):
    """Function set for node data consisting of an array of MPoints."""
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def array(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnReference(MFnDependencyNode):
    """Function set for reference nodes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def associatedNamespace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def containsNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def containsNodeExactly(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def fileName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def ignoreReferenceEdits(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def isExportEditsFile(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isLoaded(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isLocked(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isValidReference(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def nodes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parentAssembly(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parentFileName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parentReference(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setIgnoreReferenceEdits(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnSet(MFnDependencyNode):
    """Function set for sets."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addMember(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addMembers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def annotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getIntersection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMemberPaths(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMembers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUnion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasRestrictions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def intersectsWith(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isMember(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kEdgesOnly: int = 2
    kEditPointsOnly: int = 4
    kFacetsOnly: int = 3
    kNone: int = 0
    kRenderableOnly: int = 5
    kVerticesOnly: int = 1
    def removeMember(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeMembers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def restriction(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAnnotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnSingleIndexedComponent(MFnComponent):
    """This function set allows you to create, edit, and query single indexed components.
    Single indexed components store 1 dimensional index values.

    __init__()
    Initializes a new, empty MFnSingleIndexedComponent object

    __init__(MObject component)
    Initializes a new MFnSingleIndexedComponent function set, attached to the specified component.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def element(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    elementMax: Any
    def getCompleteData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCompleteData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnStringArrayData(MFnData):
    """Function set for node data consisting of an array of string."""
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def array(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnStringData(MFnData):
    """Function set for string node data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def string(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnTransform(MFnDagNode):
    """Function set for operating on transform nodes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def balanceTransformation(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearRestPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def enableLimit(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isLimited(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kRotateMaxX: int = 13
    kRotateMaxY: int = 15
    kRotateMaxZ: int = 17
    kRotateMinX: int = 12
    kRotateMinY: int = 14
    kRotateMinZ: int = 16
    kScaleMaxX: int = 1
    kScaleMaxY: int = 3
    kScaleMaxZ: int = 5
    kScaleMinX: int = 0
    kScaleMinY: int = 2
    kScaleMinZ: int = 4
    kShearMaxXY: int = 7
    kShearMaxXZ: int = 9
    kShearMaxYZ: int = 11
    kShearMinXY: int = 6
    kShearMinXZ: int = 8
    kShearMinYZ: int = 10
    kTranslateMaxX: int = 19
    kTranslateMaxY: int = 21
    kTranslateMaxZ: int = 23
    kTranslateMinX: int = 18
    kTranslateMinY: int = 20
    kTranslateMinZ: int = 22
    def limitValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resetFromRestPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resetTransformation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def restPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotateByComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotateOrientation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotatePivot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotatePivotTranslation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotationComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotationOrder(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scale(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scaleBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scalePivot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scalePivotTranslation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLimit(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRestPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotateOrientation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotatePivot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotatePivotTranslation(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setRotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotationComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotationOrder(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setScale(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setScalePivot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setScalePivotTranslation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setShear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTransformation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTranslation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shearBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transformation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def translateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def translation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnTripleIndexedComponent(MFnComponent):
    """This function set allows you to create, edit, and query triple indexed
    components. Triple indexed components store 3 dimensional index values.

    __init__()
    Initializes a new, empty MFnTripleIndexedComponent object

    __init__(MObject component)
    Initializes a new MFnTripleIndexedComponent function set, attached
    to the specified component.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCompleteData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCompleteData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnTypedAttribute(MFnAttribute):
    """Functionset for creating and working typed attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def attrType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    default: Any

class MFnUInt64ArrayData(MFnData):
    """Function set for node data consisting of an array of MUint64."""
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def array(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnUnitAttribute(MFnAttribute):
    """Functionset for creating and working with angle, distance and time attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    default: Any
    def getMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSoftMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSoftMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasSoftMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasSoftMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAngle: int = 1
    kDistance: int = 2
    kInvalid: int = 0
    kLast: int = 4
    kTime: int = 3
    def setMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSoftMax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSoftMin(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unitType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnVectorArrayData(MFnData):
    """Function set for node data consisting of an array of MVectors."""
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def array(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MGlobal:
    """Static class providing common API global functions."""
    @staticmethod
    def addToModel(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addToModelAt(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def animSelectionMask(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def apiVersion(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def className(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def clearSelectionList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def closeErrorLog(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def componentSelectionMask(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def currentToolContext(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def defaultErrorLogPathName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deleteNode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def disableStow(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def displayError(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def displayInfo(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def displayWarning(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def doErrorLogEntry(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def errorLogPathName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def errorLoggingIsOn(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def executeCommandOnIdle(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def executeCommandOnIdleWithPriority(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def executeCommandStringResult(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getAbsolutePathToResources(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getActiveSelectionList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getAssociatedSets(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getFunctionSetList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getHiliteList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getLiveList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getPreselectionHiliteList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getRichSelection(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getSelectionListByName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def initOptionVar(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isRedoing(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isSelected(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isUndoing(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isYAxisUp(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isZAxisUp(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kAddToHeadOfList: int = 4
    kAddToList: int = 2
    kBaseUIMode: int = 3
    kBatch: int = 1
    kHighIdlePriority: int = 0
    kInteractive: int = 0
    kLibraryApp: int = 2
    kLowIdlePriority: int = 1
    kRemoveFromList: int = 3
    kReplaceList: int = 0
    kSelectComponentMode: int = 1
    kSelectLeafMode: int = 3
    kSelectObjectMode: int = 0
    kSelectRootMode: int = 2
    kSelectTemplateMode: int = 4
    kSurfaceSelectMethod: int = 0
    kVeryLowIdlePriority: int = 2
    kWireframeSelectMethod: int = 1
    kXORWithList: int = 1
    @staticmethod
    def mayaFeatureSet(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def mayaName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def mayaState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def mayaVersion(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def miscSelectionMask(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def objectSelectionMask(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def optionVarDoubleValue(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def optionVarExists(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def optionVarIntValue(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def optionVarStringValue(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def removeFromModel(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def removeOptionVar(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def resetToDefaultErrorLogPathName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def selectByName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def selectCommand(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def selectFromScreen(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def selectionMethod(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def selectionMode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setActiveSelectionList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setAnimSelectionMask(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setComponentSelectionMask(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setDisableStow(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setDisplayCVs(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setErrorLogPathName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setHiliteList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setMiscSelectionMask(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setObjectSelectionMask(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setOptionVarValue(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setPreselectionHiliteList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setRichSelection(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setSelectionMode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setTrackSelectionOrderEnabled(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setYAxisUp(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setZAxisUp(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def sourceFile(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def startErrorLogging(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def stopErrorLogging(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def trackSelectionOrderEnabled(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def unselect(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def unselectByName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def upAxis(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def viewFrame(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MImage:
    """Manipulate color data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def depth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def depthMap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def filter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def filterExists(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def floatPixels(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDepthMapRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDepthMapSize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def haveDepth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isRGBA(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kByte: int = 1
    kFloat: int = 2
    kHeightFieldBumpFormat: int = 1
    kNoFormat: int = 0
    kNormalMapBumpFormat: int = 2
    kUnknown: int = 0
    kUnknownFormat: int = 3
    def pixelType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pixels(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def readDepthMap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def readFromFile(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def readFromTextureNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def release(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDepthMap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFloatPixels(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPixels(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRGBA(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def verticalFlip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def writeToFile(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def writeToFileWithDepth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MInt64Array:
    """Array of MInt64 values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MIntArray:
    """Array of int values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MItCurveCV:
    """An iterator for traversing a curve's CVs."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def currentItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasHistoryOnCreate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def index(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def position(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def translateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateCurve(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MItDag:
    """DAG Iterator.

    Use the DAG iterator to traverse the DAG either depth first or breadth
    first, visiting each node and, if desired, retrieving the node (as an
    MObject).  The DAG iterator provides a basic filtering capability, so
    that DAG node retrieval can be limited to a  specific type (MFn.Type)
    of node.  With filtering enabled the iterator checks to see if the node
    is compatible with the type of Function Set specified by the filter.
    See MFn.Type for a list of all valid Function set types.

    Since each object, if retrieved, is returned as an MObject, the
    MObject.hasFn() method can be used to further check for compatible
    function set types since an MObjects may be compatible with more than
    one function set).

    Any compatible Function Set can be attached to the retrieved object to
    query or or edit it.  Often you will want to use the DAG node Function
    Set (MFnDagNode), which is compatible with all DAG objects, to perform
    basic queries on each node as the iterator traverses the DAG.

    The iterator also provides the capability to reset the root of the
    iteration, the type of traversal, and the filter.

    Additionally, the iterator can be queried for the root, mode and type
    of traversal, and to determine if the the traversal has been completed.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def currentItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def depth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def fullPathName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAllPaths(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def instanceCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isInstanced(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kBreadthFirst: int = 2
    kDepthFirst: int = 1
    kInvalidType: int = 0
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def partialPathName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def prune(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def root(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def traversalType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    traverseUnderWorld: bool

class MItDependencyGraph:
    """Dependency Graph Iterator.

    Iterate over Dependency Graph (DG) Nodes or Plugs starting at a specified
    root Node or Plug.


    Set and query the root of the iteration.


    Set and query the direction (downstream or upstream), traversal priority
    (depth first or breadth first), level of detail (Node level or Plug
    level) and relationship (dependency, DG connection, eval graph) of the iteration.


    Set and disable a filter to iterate over only specific types (MFn.Type) of
    Nodes.


    Reset the root, filter, direction, traversal priority and level of detail
    of the iteration.


    Prune branches of the graph from iteration.


    In Maya, all geometry, animation and rendering information is implemented
    in nodes in the Dependency Graph (DG).  The DG includes the Directed Acyclic
    Graph (DAG).  Therefore, all DAG nodes are also DG nodes.  The data on nodes
    is associated with Attributes.  Attributes on nodes are connected to
    Attributes on other nodes via plugs on the Attributes.  Plugs are, in effect
    the external intefaces of Attributes.


    The DG Iterator Class (MItDependencyGraph) provides methods for iterating
    over either nodes or plugs, as well as methods for setting and querying the
    characteristics and behaviour of the iterator.


    This iterator will traverse all connected attributes upstream or
    downstream from the root node of the traversal. For non root nodes,
    only attributes that are affected by the incoming attribute to that
    node will be traversed.  Hence, only nodes to which data from the root
    node is flowing will be traversed.


    By default, the iterator does not traverse world-space attribute
    dependencies (an example of a world-space dependency is that
    translateX affects worldMatrix). The
    setTraversalOverWorldSpaceDependents method can be used to enable such
    traversal. Note that even when world-space traversal is enabled, the
    iterator will only iterate to connected nodes. It does not iterate up
    and down through the dag hierarchy.


    The DG Iterator is used in conjunction with the Maya Object (MObject), plug
    (MPlug), Maya Object Array (MObjectArray) and plug Array (MPlugArray)
    classes.


    It is also useful to use Function Sets specific to the nodes returned by
    the iterator to query and modify the nodes in the DG.


    The DG itself can be modified using a DG Modifer (MDGModifier).


    Additionally, nodes can be added to and retrieved from selection lists using
    the Selection List (MSelectionList) class and Selection List Iterator
    (MItSelectionList).  This can be useful for obtaining the root node for an
    iteration.


    Attributes on the nodes can be manipulated using the Attribute Function Set
    (MFnAttribute) and its derivations.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...

    currentDirection: Any
    currentFilter: Any
    currentLevel: Any
    def currentNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentNodeHasUnknownType(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def currentPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    currentRelationship: Any
    currentTraversal: Any
    def getNodePath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNodesVisited(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPlugPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPlugsVisited(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kBreadthFirst: int = 1
    kConnectedTo: int = 1
    kDependsOn: int = 0
    kDepthFirst: int = 0
    kDownstream: int = 0
    kEvaluationGraph: int = 2
    kNodeLevel: int = 0
    kPlugLevel: int = 1
    kUpstream: int = 1
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    nodeDepth: Any
    def previousPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def prune(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    pruningOnFilter: Any
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resetFilter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resetTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rootNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rootPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    traversingOverWorldSpaceDependents: Any

class MItDependencyNodes:
    """Dependency Node iterator.

    Use the dependency node iterator to traverse all the nodes in Maya's
    Dependency Graph.

    With filtering enabled, the iterator checks to see if the node is
    compatible with the type specified by the filter.  See MFn.Type for a
    list of all valid types.

    Since MObjects may be compatible with more than one type (nodes are
    organised in a hierarchy) the MObject.hasFn() method can be used to
    further check for compatible types.

    Any compatible Function Set can be attached to the retrieved object to
    query or or edit it.  Often you will want to use the dependency node
    function set (MFnDependencyNode), which is compatible with all
    dependency nodes, to perform queries on each node as the iterator
    traverses the Dependency Graph.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def thisNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MItGeometry:
    """Geometry iterator.

    This class is the iterator class for geometry data, and can be used to
    loop over the CVs of NURBS, the points of subds & lattices, and the
    vertices of polygonal meshes.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def allPositions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def component(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def count(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def exactCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def index(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def position(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllPositions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def weight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MItMeshEdge:
    """An iterator for traversing a mesh's edges."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def center(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectedToEdge(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectedToFace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def count(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geomChanged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def index(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isSmooth: Any
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def length(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numConnectedEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numConnectedFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def onBoundary(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def point(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def vertexId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MItMeshFaceVertex:
    """An iterator for traversing a mesh's face vertices."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def currentItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def faceId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def faceVertexId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geomChanged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBinormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTangent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normalId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def position(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def tangentId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def vertexId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MItMeshPolygon:
    """This class is the iterator for polygonal surfaces (meshes)."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def center(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def count(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geomChanged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getArea(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorIndices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedVertices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPointAtUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPoints(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTriangle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTriangles(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVArea(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVAtPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVIndexAndValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVSetNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getVertices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasValidTriangulation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def index(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isConnectedToEdge(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isConnectedToFace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isConnectedToVertex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isConvex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isHoled(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isLamina(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isPlanar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isStarlike(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isUVReversed(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normalIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numConnectedEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numConnectedFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numTriangles(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def onBoundary(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def point(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def polygonVertexCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPoints(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def tangentIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def vertexIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def zeroArea(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def zeroUVArea(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MItMeshVertex:
    """This class is the iterator for polygonal surfaces (meshes)."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def connectedToEdge(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectedToFace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def count(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geomChanged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorIndices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConnectedVertices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNormalIndices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getOppositeVertex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVIndices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def index(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numConnectedEdges(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numConnectedFaces(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def onBoundary(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def position(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUVs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def translateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MItSelectionList:
    """Class for iterating over the items in an MSelection list."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def getComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDagPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDependNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getStrings(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def itemType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAnimSelectionItem: int = 1
    kDNselectionItem: int = 2
    kDagSelectionItem: int = 0
    kPlugSelectionItem: int = 3
    kUnknownItem: int = -1
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFilter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MItSurfaceCV:
    """NURBS surface CV iterator."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def currentItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasHistoryOnCreate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def index(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isRowDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iternext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def nextRow(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def position(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def translateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSurface(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def uvIndices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MIteratorType:
    """The MIteratorType class is used on iterators where more than one type
    of filters can be specified. It also provides functionalities to set and
    get the filter list or individual types of filter. This class should be
    used in conjunction with DAG/DG/DependencyNodes iterators for using filter
    list (list of MFn::Type objects) on them, thus enabling faster traversal
    thro' iterators.

    Also, the class has functionalities for specifying the type of object the
    iterator will be reset to. This could be an MObject, an MPlug or an MDagPath.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    filterList: MIntArray
    filterListEnabled: bool
    filterType: int
    kMDagPathObject: int = 1
    kMObject: int = 0
    kMPlugObject: int = 2
    objectType: int

class MLockMessage(MMessage):
    """Class used to register callbacks for model related messages."""

    kAddAttr: int = 5
    kChildReorder: int = 4
    kCreateChildInstance: int = 6
    kCreateNodeInstance: int = 5
    kCreateParentInstance: int = 7
    kDelete: int = 2
    kGroup: int = 1
    kInvalid: int = 0
    kInvalidDAG: int = 0
    kInvalidPlug: int = 0
    kLast: int = 10
    kLastDAG: int = 8
    kLastPlug: int = 8
    kLockAttr: int = 9
    kLockNode: int = 3
    kPlugAttrValChange: int = 3
    kPlugConnect: int = 6
    kPlugDisconnect: int = 7
    kPlugLockAttr: int = 1
    kPlugRemoveAttr: int = 4
    kPlugRenameAttr: int = 5
    kPlugUnlockAttr: int = 2
    kRemoveAttr: int = 6
    kRename: int = 1
    kRenameAttr: int = 7
    kReparent: int = 3
    kUnGroup: int = 2
    kUnlockAttr: int = 8
    kUnlockNode: int = 4
    @staticmethod
    def setNodeLockDAGQueryCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setNodeLockQueryCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setPlugLockQueryCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MMatrix:
    """4x4 matrix with double-precision elements."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __isub__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def adjoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def det3x3(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def det4x4(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def homogenize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inverse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isSingular(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kIdentity: MMatrix
    kTolerance: float = 1e-10
    def setElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToIdentity(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToProduct(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transpose(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MMatrixArray:
    """Array of MMatrix values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MMeshIntersector:
    """Provides methods for efficiently finding the closest point on
    the surface of a mesh. An octree algorithm is used to find the
    closest point.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getClosestPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isCreated: bool

class MMeshIsectAccelParams:
    """Opaque class used to store parameters used by MFnMesh's
    intersection calculations for later re-use. Use MFnMesh's
    uniformGridParams() or autoUniformGridParams() to create one
    of these to pass into the allIntersections(),
    closestIntersection(), and anyIntersection() methods
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MMeshSmoothOptions:
    """Options for control of smooth mesh generation."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    boundaryRule: int
    divisions: int
    kCatmullClark: int = 0
    kCreaseAll: int = 1
    kCreaseEdge: int = 2
    kInvalid: int = -1
    kInvalidSubdivision: int = -1
    kLast: int = 3
    kLastSubdivision: int = 4
    kLegacy: int = 0
    kOpenSubdivCatmullClarkAdaptive: int = 3
    kOpenSubdivCatmullClarkUniform: int = 2
    keepBorderEdge: bool
    keepHardEdge: bool
    propEdgeHardness: bool
    smoothUVs: bool
    smoothness: float
    subdivisionType: int

class MMessage:
    """Base class for message callbacks."""
    @staticmethod
    def currentCallbackId(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kDefaultAction: int = 0
    kDoAction: int = 2
    kDoNotDoAction: int = 1
    @staticmethod
    def nodeCallbacks(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def removeCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def removeCallbacks(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MModelMessage(MMessage):
    """Class used to register callbacks for model related messages.The class also provides the following Message constants which
    describe the different types supported by the addCallback method:
      kActiveListModified           #active selection changes
    """
    @staticmethod
    def addAfterDuplicateCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addBeforeDuplicateCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeAddedToModelCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeRemovedFromModelCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addPostDuplicateNodeListCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kActiveListModified: int = 0

class MNamespace:
    """Access Maya namespace functionality."""
    @staticmethod
    def addNamespace(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def currentNamespace(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getNamespaceFromName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getNamespaceObjects(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getNamespaces(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def makeNamepathAbsolute(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def moveNamespace(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def namespaceExists(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def parentNamespace(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def relativeNames(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def removeNamespace(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def renameNamespace(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def rootNamespace(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setCurrentNamespace(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setRelativeNames(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def stripNamespaceFromName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def validateName(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MNodeCacheDisablingInfo:
    """Defines additional info about why the node disables Cached Playback."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCacheDisabled(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCacheDisabled(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMitigation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setReason(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MNodeCacheSetupInfo:
    """Defines preferences and requirements the node has for Cached Playback."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPreference(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRequirement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kLastPreference: int = 1
    kLastRequirement: int = 1
    kSimulationSupport: int = 0
    kWantToCacheByDefault: int = 0
    def setPreference(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRequirement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MNodeClass:
    """A class for performing node class-level operations in the dependency graph."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def addExtensionAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def attribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    attributeCount: Any
    classification: Any
    def getAttributes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    pluginName: Any
    def removeExtensionAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeExtensionAttributeIfUnset(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

    typeId: Any
    typeName: Any

class MNodeMessage(MMessage):
    """Class used to register callbacks for dependency node messages of specific dependency nodes.

    The class also provides the following AttributeMessage constants which describe
    the type of attribute changed/addedOrRemoved messages that has occurred:
      kConnectionMade               #a connection has been made to an attribute of this node
      kConnectionBroken     #a connection has been broken for an attribute of this node
      kAttributeEval                #an attribute of this node has been evaluated
      kAttributeSet         #an attribute value of this node has been set
      kAttributeLocked              #an attribute of this node has been locked
      kAttributeUnlocked    #an attribute of this node has been unlocked
      kAttributeAdded               #an attribute has been added to this node
      kAttributeRemoved     #an attribute has been removed from this node
      kAttributeRenamed     #an attribute of this node has been renamed
      kAttributeKeyable     #an attribute of this node has been marked keyable
      kAttributeUnkeyable   #an attribute of this node has been marked unkeyable
      kIncomingDirection    #the connection was coming into the node
      kAttributeArrayAdded  #an array attribute has been added to this node
      kAttributeArrayRemoved        #an array attribute has been removed from this node
      kOtherPlugSet         #the otherPlug data has been set


    The class also provides the following KeyableChangeMsg constants which
    allows user to prevent attributes from becoming (un)keyable:
      kKeyChangeInvalid
      kMakeKeyable
      kMakeUnkeyable
      kKeyChangeLast
    """
    @staticmethod
    def addAttributeAddedOrRemovedCallback(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def addAttributeChangedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addKeyableChangeOverride(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNameChangedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeAboutToDeleteCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeDestroyedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeDirtyCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeDirtyPlugCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodePreRemovalCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addUuidChangedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kAttributeAdded: int = 64
    kAttributeArrayAdded: int = 4096
    kAttributeArrayRemoved: int = 8192
    kAttributeEval: int = 4
    kAttributeKeyable: int = 512
    kAttributeLocked: int = 16
    kAttributeRemoved: int = 128
    kAttributeRenamed: int = 256
    kAttributeSet: int = 8
    kAttributeUnkeyable: int = 1024
    kAttributeUnlocked: int = 32
    kConnectionBroken: int = 2
    kConnectionMade: int = 1
    kIncomingDirection: int = 2048
    kKeyChangeInvalid: int = 0
    kKeyChangeLast: int = 3
    kLast: int = 32768
    kMakeKeyable: int = 1
    kMakeUnkeyable: int = 2
    kOtherPlugSet: int = 16384

class MObject:
    """Opaque wrapper for internal Maya objects."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def apiType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    apiTypeStr: str
    def hasFn(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isNull(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kNullObj: MObject

class MObjectArray:
    """Array of MObject values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MObjectHandle:
    """Generic Class for validating MObjects."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def assign(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hashCode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isAlive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isValid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def object(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MObjectSetMessage(MMessage):
    """Class used to register callbacks for set modified related messages."""
    @staticmethod
    def addSetMembersModifiedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MPlane:
    """This class describes a mathematical plane."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def distance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def distanceToPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPlane(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPlug:
    """Create and access dependency node plugs."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __str__(self, /) -> Any: ...
    def array(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asChar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMDataHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMDistance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asShort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def attribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def child(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectedTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectionByPhysicalIndex(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def constructHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def destinations(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def destinationsWithConversions(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def destructHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def elementByLogicalIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def elementByPhysicalIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def evaluateNumElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getExistingArrayAttributeIndices(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getSetAttrCmds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    info: str
    isArray: bool
    isCaching: bool
    isChannelBox: bool
    isChild: Any
    isCompound: Any
    isConnected: bool
    def isDefaultValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isDestination: bool
    isDynamic: bool
    isElement: Any
    def isExactlyEqual(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isFreeToChange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isFromReferencedFile: bool
    isIgnoredWhenRendering: bool
    isKeyable: bool
    isLocked: bool
    isNetworked: bool
    isNull: bool
    isProcedural: bool
    isProxy: Any
    isSource: bool
    kAll: int = 0
    kChanged: int = 2
    kChildrenNotFreeToChange: int = 2
    kFreeToChange: int = 0
    kLastAttrSelector: int = 3
    kNonDefault: int = 1
    kNotFreeToChange: int = 1
    def logicalIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def node(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numChildren(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numConnectedChildren(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numConnectedElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def partialName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def proxied(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectAncestorLogicalIndex(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setChar(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMDataHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMDistance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMPxData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMTime(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setNumElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setShort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def source(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def sourceWithConversion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPlugArray:
    """Array of MPlug values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MPoint:
    """3D point with double-precision coordinates."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __isub__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __rtruediv__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def __truediv__(self, value: Unknown, /) -> Any: ...
    def cartesianize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def distanceTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def homogenize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kOrigin: MPoint
    kTolerance: float = 1e-10
    def rationalize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    w: float
    x: float
    y: float
    z: float

class MPointArray:
    """Array of MPoint values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MPointOnMesh:
    """This class is used to return information about a point on the
    surface of a mesh: 3D position, normal, barycentric coordinates,
    etc. The point can be anywhere on the mesh, not just at its
    vertices.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    barycentricCoords: Tuple[Any, ...]
    face: int
    normal: MFloatVector
    point: MFloatPoint
    triangle: int

class MPolyMessage(MMessage):
    """Class used to register callbacks for poly related messages."""
    @staticmethod
    def addPolyComponentIdChangedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addPolyTopologyChangedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxAttributePatternFactory:
    """Base class for custom attribute pattern factories."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __str__(self, /) -> Any: ...

class MPxCommand:
    """Base class for custom commands."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def appendToResult(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def clearResult(*args: Unknown, **kwargs: Unknown) -> Any: ...

    commandString: str
    @staticmethod
    def currentResult(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def currentResultType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def displayError(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def displayInfo(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def displayWarning(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def doIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasSyntax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    historyOn: bool
    @staticmethod
    def isCurrentResultArray(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def isUndoable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kDouble: int = 1
    kLong: int = 0
    kNoArg: int = 3
    kString: int = 2
    def redoIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setResult(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def syntax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def undoIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxData:
    """Base Class for User-defined Dependency Graph Data Types."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kData: int = 0
    kGeometryData: int = 1
    kLast: int = 2
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def readASCII(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def readBinary(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def typeId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def writeASCII(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def writeBinary(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxGeometryData(MPxData):
    """Base Class for User-defined Dependency Graph Geometry Data Types."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteComponentsFromGroups(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iterator(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    matrix: Any
    def smartCopy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateCompleteVertexGroup(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MPxGeometryIterator:
    """Base class for user defined geometry iterators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __iter__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __next__(self, /) -> Any: ...
    def component(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    currentPoint: Any
    def geometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasNormals(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasPoints(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def index(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexUnsimplified(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isDone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def iteratorCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    maxPoints: Any
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def point(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPointGetNext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxNode:
    """Base class for user defined dependency nodes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addAttribute(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def addExternalContentForFileAttr(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def attributeAffects(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def compute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def configCache(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectionBroken(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectionMade(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyInternalData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dependsOn(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doNotWrite(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def existWithoutInConnections(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def existWithoutOutConnections(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def forceCache(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCacheSetup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getExternalContent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFilesToArchive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getInternalValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getInternalValueInContext(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def hasInvalidationRangeTransformation(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def inheritAttributesFrom(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def internalArrayCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isAbstractClass(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isPassiveOutput(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAssembly: int = 22
    kBlendShape: int = 25
    kCameraSetNode: int = 16
    kClientDeviceNode: int = 20
    kConstraintNode: int = 17
    kDeformerNode: int = 2
    kDependNode: int = 0
    kEmitterNode: int = 6
    kEvaluatedDirectly: int = 1
    kEvaluatedIndirectly: int = 0
    kFieldNode: int = 5
    kFluidEmitterNode: int = 13
    kGeometryFilter: int = 24
    kHardwareShader: int = 9
    kHwShaderNode: int = 10
    kIkSolverNode: int = 8
    kImagePlaneNode: int = 14
    kLast: int = 26
    kLeaveDirty: int = 2
    kLocatorNode: int = 1
    kManipContainer: int = 3
    kManipulatorNode: int = 18
    kMotionPathNode: int = 19
    kObjectSet: int = 12
    kParticleAttributeMapperNode: int = 15
    kPostEvaluationTypeLast: int = 3
    kSkinCluster: int = 23
    kSpringNode: int = 7
    kSurfaceShape: int = 4
    kThreadedDeviceNode: int = 21
    kTransformNode: int = 11
    def legalConnection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def legalDisconnection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def passThroughToMany(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def passThroughToOne(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def postConstructor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def postEvaluation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def preEvaluation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDependentsDirty(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDoNotWrite(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setExistWithoutInConnections(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setExistWithoutOutConnections(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setExternalContent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setExternalContentForFileAttr(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setInternalValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInternalValueInContext(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setMPSafe(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shouldSave(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def thisMObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transformInvalidationRange(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def type(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def typeId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def typeName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxSurfaceShape(MPxNode):
    """Parent class of all user defined shapes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acceptsGeometryIterator(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def activeComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def boundingBox(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    boundingBoxCenterX: MObject
    boundingBoxCenterY: MObject
    boundingBoxCenterZ: MObject
    def cachedShapeAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def canMakeLive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    center: MObject
    def childChanged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def closestPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def componentToPlugs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def convertToTweakNodePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createFullRenderGroup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createFullVertexGroup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def excludeAsPluginShape(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geometryData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geometryIteratorSetup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getComponentSelectionMask(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getShapeSelectionMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getWorldMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasActiveComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    instObjGroups: MObject
    intermediateObject: MObject
    inverseMatrix: MObject
    def isBounded(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isRenderable: Any
    isTemplated: MObject
    kBoundingBoxChanged: int = 1
    kMatchInvalidAttribute: int = 4
    kMatchInvalidAttributeDim: int = 7
    kMatchInvalidAttributeIndex: int = 5
    kMatchInvalidAttributeRange: int = 6
    kMatchInvalidName: int = 3
    kMatchNone: int = 1
    kMatchOk: int = 0
    kMatchTooMany: int = 2
    kNoPointCaching: int = 0
    kNormal: int = 0
    kObjectChanged: int = 0
    kRestorePoints: int = 2
    kSavePoints: int = 1
    kTransformOriginalPoints: int = 4
    kUTangent: int = 1
    kUVNTriad: int = 3
    kUpdatePoints: int = 3
    kVTangent: int = 2
    def localShapeInAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def localShapeOutAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    mControlPoints: MObject
    mControlValueX: MObject
    mControlValueY: MObject
    mControlValueZ: MObject
    mHasHistoryOnCreate: MObject
    def match(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def matchComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    matrix: MObject
    def newControlPointComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    nodeBoundingBox: MObject
    nodeBoundingBoxMax: MObject
    nodeBoundingBoxMaxX: MObject
    nodeBoundingBoxMaxZ: MObject
    nodeBoundingBoxMin: MObject
    nodeBoundingBoxMinX: MObject
    nodeBoundingBoxMinY: MObject
    nodeBoundingBoxMinZ: MObject
    nodeBoundingBoxSize: MObject
    nodeBoundingBoxSizeX: MObject
    nodeBoundingBoxSizeY: MObject
    nodeBoundingBoxSizeZ: MObject
    objectColor: MObject
    objectGroupColor: MObject
    objectGroupId: MObject
    objectGroups: MObject
    objectGrpCompList: MObject
    parentInverseMatrix: MObject
    parentMatrix: MObject
    def pointAtParm(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderGroupComponentType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transformUsing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def tweakUsing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def undeleteComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    useObjectColor: MObject
    def vertexOffsetDirection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    visibility: MObject
    def weightedTransformUsing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def weightedTweakUsing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    worldInverseMatrix: MObject
    worldMatrix: MObject
    def worldShapeOutAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MQuaternion:
    """Quaternion math."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __neg__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def asAxisAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asEulerRotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def conjugate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def conjugateIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def exp(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inverse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def invertIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kIdentity: MQuaternion
    kTolerance: float = 1e-10
    def log(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def negateIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normalizeIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToXAxis(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToYAxis(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToZAxis(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def slerp(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def squad(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def squadPt(*args: Unknown, **kwargs: Unknown) -> Any: ...

    w: float
    x: float
    y: float
    z: float

class MRampAttribute:
    """Functionset for creating and working with ramp attributes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addEntries(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def createColorRamp(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def createCurveRamp(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def createRamp(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteEntries(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEntries(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getValueAtPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isColorRamp: Any
    isCurveRamp: Any
    kLinear: int = 1
    kNone: int = 0
    kSmooth: int = 2
    kSpline: int = 3
    def numEntries(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pack(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInterpolationAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPositionAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRamp(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setValueAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def sort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRichSelection:
    """A selection list supporting soft selection and symmetry.

    The rich selection is split into two halves: the 'normal' side,
    and an optional symmetric component. Components on both sides
    can include weight data which is used to specify both the amount
    of influence and the proximity to the centre of symmetry.

    In addition to the selected objects, the rich selection also
    includes information about the axis of symmetry so that
    operations can determine how to process any symmetric selection
    (e.g. reflect transformations).

    __init__()
    Initializes a new, empty MRichSelection object.

    __init__(MRichSelection other)
    Initializes a new MRichSelection object containing the same
    items as another rich selection.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRawSymmetryMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSelection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSymmetry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSymmetryMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSymmetryPlane(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSelection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSceneMessage(MMessage):
    """Class used to register callbacks for scene related messages."""
    @staticmethod
    def addCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addCheckCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addCheckFileCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addCheckReferenceCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addConnectionFailedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNamespaceRenamedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addReferenceCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addStringArrayCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kAfterCreateReference: int = 45
    kAfterCreateReferenceAndRecordEdits: int = 50
    kAfterExport: int = 11
    kAfterExportReference: int = 21
    kAfterFileRead: int = 8
    kAfterImport: int = 4
    kAfterImportReference: int = 19
    kAfterLoadReference: int = 37
    kAfterLoadReferenceAndRecordEdits: int = 48
    kAfterNew: int = 2
    kAfterOpen: int = 6
    kAfterPluginLoad: int = 41
    kAfterPluginUnload: int = 43
    kAfterReference: int = 15
    kAfterRemoveReference: int = 17
    kAfterSave: int = 13
    kAfterSceneReadAndRecordEdits: int = 9
    kAfterSoftwareFrameRender: int = 27
    kAfterSoftwareRender: int = 25
    kAfterUnloadReference: int = 23
    kBeforeCreateReference: int = 44
    kBeforeCreateReferenceAndRecordEdits: int = 49
    kBeforeCreateReferenceCheck: int = 39
    kBeforeExport: int = 10
    kBeforeExportCheck: int = 35
    kBeforeExportReference: int = 20
    kBeforeFileRead: int = 7
    kBeforeImport: int = 3
    kBeforeImportCheck: int = 34
    kBeforeImportReference: int = 18
    kBeforeLoadReference: int = 36
    kBeforeLoadReferenceAndRecordEdits: int = 47
    kBeforeLoadReferenceCheck: int = 38
    kBeforeNew: int = 1
    kBeforeNewCheck: int = 31
    kBeforeOpen: int = 5
    kBeforeOpenCheck: int = 32
    kBeforePluginLoad: int = 40
    kBeforePluginUnload: int = 42
    kBeforeReference: int = 14
    kBeforeReferenceCheck: int = 39
    kBeforeRemoveReference: int = 16
    kBeforeSave: int = 12
    kBeforeSaveCheck: int = 33
    kBeforeSoftwareFrameRender: int = 26
    kBeforeSoftwareRender: int = 24
    kBeforeUnloadReference: int = 22
    kExportStarted: int = 46
    kLast: int = 51
    kMayaExiting: int = 30
    kMayaInitialized: int = 29
    kSceneUpdate: int = 0
    kSoftwareRenderInterrupted: int = 28

class MSelectionList:
    """A heterogenous list of MObjects, MPlugs and MDagPaths.

    __init__()
    Initializes a new, empty MSelectionList object.

    __init__(MSelectionList other)
    Initializes a new MSelectionList object containing the same
    items as another list.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __str__(self, /) -> Any: ...
    def add(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDagPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDependNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSelectionStrings(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasItemPartly(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def intersect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEmpty(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kMergeNormal: int = 0
    kRemoveFromList: int = 2
    kXORWithList: int = 1
    def length(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def merge(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def replace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def toggle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSelectionMask:
    """Selection masks provide a way to control what is selectable in Maya."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterSelectionType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getSelectionTypePriority(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def intersects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kSelectAnimAny: int = 68
    kSelectAnimCurves: int = 63
    kSelectAnimInTangents: int = 65
    kSelectAnimKeyframes: int = 64
    kSelectAnimMask: int = 67
    kSelectAnimOutTangents: int = 66
    kSelectCVs: int = 30
    kSelectCameras: int = 6
    kSelectClusters: int = 8
    kSelectCollisionModels: int = 21
    kSelectComponentsMask: int = 62
    kSelectCurveKnots: int = 47
    kSelectCurveParmPoints: int = 46
    kSelectCurves: int = 26
    kSelectCurvesOnSurfaces: int = 53
    kSelectDynamicConstraints: int = 82
    kSelectEdges: int = 42
    kSelectEditPoints: int = 32
    kSelectEmitters: int = 16
    kSelectFacets: int = 43
    kSelectFields: int = 17
    kSelectFluids: int = 77
    kSelectFollicles: int = 79
    kSelectGuideLines: int = 71
    kSelectHairSystems: int = 78
    kSelectHandles: int = 0
    kSelectHulls: int = 31
    kSelectIkEndEffectors: int = 3
    kSelectIkHandles: int = 2
    kSelectIsoparms: int = 52
    kSelectJointPivots: int = 57
    kSelectJoints: int = 4
    kSelectLatticePoints: int = 55
    kSelectLattices: int = 7
    kSelectLights: int = 5
    kSelectLocalAxis: int = 1
    kSelectLocators: int = 28
    kSelectManipulators: int = 70
    kSelectMeshComponents: int = 45
    kSelectMeshEdges: int = 34
    kSelectMeshFaces: int = 36
    kSelectMeshFreeEdges: int = 35
    kSelectMeshLines: int = 44
    kSelectMeshUVs: int = 40
    kSelectMeshVerts: int = 33
    kSelectMeshes: int = 12
    kSelectNCloths: int = 80
    kSelectNParticles: int = 83
    kSelectNRigids: int = 81
    kSelectNurbsCurves: int = 10
    kSelectNurbsSurfaces: int = 11
    kSelectObjectGroups: int = 75
    kSelectObjectsMask: int = 29
    kSelectOrientationLocators: int = 23
    kSelectPPStrokes: int = 54
    kSelectParticleShapes: int = 15
    kSelectParticles: int = 56
    kSelectPivots: int = 60
    kSelectPointsForGravity: int = 72
    kSelectPointsOnCurvesForGravity: int = 73
    kSelectPointsOnSurfacesForGravity: int = 74
    kSelectRigidBodies: int = 19
    kSelectRigidConstraints: int = 20
    kSelectRotatePivots: int = 59
    kSelectScalePivots: int = 58
    kSelectSculpts: int = 9
    kSelectSelectHandles: int = 61
    kSelectSketchPlanes: int = 14
    kSelectSprings: int = 18
    kSelectSubdiv: int = 13
    kSelectSubdivMeshEdges: int = 38
    kSelectSubdivMeshFaces: int = 39
    kSelectSubdivMeshMaps: int = 76
    kSelectSubdivMeshPoints: int = 37
    kSelectSurfaceEdge: int = 51
    kSelectSurfaceKnots: int = 49
    kSelectSurfaceParmPoints: int = 48
    kSelectSurfaceRange: int = 50
    kSelectSurfaces: int = 27
    kSelectTemplates: int = 69
    kSelectTextures: int = 25
    kSelectUVLocators: int = 24
    kSelectVertices: int = 41
    kSelectXYZLocators: int = 22
    @staticmethod
    def registerSelectionType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSpace:
    """Static class providing coordinate space constants."""

    kInvalid: int = 0
    kLast: int = 5
    kObject: int = 2
    kPostTransform: int = 3
    kPreTransform: int = 2
    kTransform: int = 1
    kWorld: int = 4

class MSyntax:
    """Syntax for commands."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addArg(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addFlag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    enableEdit: bool
    enableQuery: bool
    kAngle: int = 8
    kBoolean: int = 2
    kDistance: int = 7
    kDouble: int = 4
    kInvalidArgType: int = 0
    kInvalidObjectFormat: int = 0
    kLastArgType: int = 11
    kLastObjectFormat: int = 4
    kLong: int = 3
    kNoArg: int = 1
    kNone: int = 1
    kSelectionItem: int = 10
    kSelectionList: int = 3
    kString: int = 5
    kStringObjects: int = 2
    kTime: int = 9
    kUnsigned: int = 6
    def makeFlagMultiUse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def makeFlagQueryWithFullArgs(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def maxObjects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def minObjects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMaxObjects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMinObjects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setObjectType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def useSelectionAsDefault(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTime:
    """Manipulate time data."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __isub__(self, value: Unknown, /) -> Any: ...
    def __itruediv__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __rtruediv__(self, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def __truediv__(self, value: Unknown, /) -> Any: ...
    def asUnits(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    k100FPS: int = 25
    k10FPS: int = 18
    k119_88FPS: int = 51
    k1200FPS: int = 38
    k120FPS: int = 26
    k125FPS: int = 27
    k12FPS: int = 19
    k1500FPS: int = 39
    k150FPS: int = 28
    k15FPS: int = 5
    k16FPS: int = 20
    k2000FPS: int = 40
    k200FPS: int = 29
    k20FPS: int = 21
    k23_976FPS: int = 43
    k240FPS: int = 30
    k24FPS: int = 6
    k250FPS: int = 31
    k25FPS: int = 7
    k29_97DF: int = 45
    k29_97FPS: int = 44
    k2FPS: int = 12
    k3000FPS: int = 41
    k300FPS: int = 32
    k30FPS: int = 8
    k375FPS: int = 33
    k3FPS: int = 13
    k400FPS: int = 34
    k40FPS: int = 22
    k44100FPS: int = 48
    k47_952FPS: int = 46
    k48000FPS: int = 49
    k48FPS: int = 9
    k4FPS: int = 14
    k500FPS: int = 35
    k50FPS: int = 10
    k59_94FPS: int = 47
    k5FPS: int = 15
    k6000FPS: int = 42
    k600FPS: int = 36
    k60FPS: int = 11
    k6FPS: int = 16
    k750FPS: int = 37
    k75FPS: int = 23
    k80FPS: int = 24
    k8FPS: int = 17
    k90FPS: int = 50
    kFilm: int = 6
    kGames: int = 5
    kHours: int = 1
    kInvalid: int = 0
    kLast: int = 53
    kMilliseconds: int = 4
    kMinutes: int = 2
    kNTSCField: int = 11
    kNTSCFrame: int = 8
    kPALField: int = 10
    kPALFrame: int = 7
    kSeconds: int = 3
    kShowScan: int = 9
    kUserDef: int = 52
    @staticmethod
    def setUIUnit(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def ticksPerSecond(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def uiUnit(*args: Unknown, **kwargs: Unknown) -> Any: ...

    unit: int
    value: float

class MTimeArray:
    """Array of MTime values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MTimeRange:
    """Mathematic type that represents a set of pseudo-real numbers (in units of time), such as [-1s, +1s] U [+2, +5s]"""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __or__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __ror__(self, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def contains(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def empty(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def intersects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTimerMessage(MMessage):
    """Class used to register callbacks for timer related messages."""
    @staticmethod
    def addTimerCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MTransformationMatrix:
    """Manipulate the individual components of a transformation."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMatrixInverse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asRotateMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asScaleMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kIdentity: MTransformationMatrix
    kInvalid: int = 0
    kLast: int = 7
    kTolerance: float = 1e-10
    kXYZ: int = 1
    kXZY: int = 4
    kYXZ: int = 5
    kYZX: int = 2
    kZXY: int = 3
    kZYX: int = 6
    def reorderRotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotateByComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotatePivot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotatePivotTranslation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotationComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotationOrder(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotationOrientation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scale(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scaleBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scalePivot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scalePivotTranslation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotatePivot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotatePivotTranslation(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setRotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotationComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotationOrientation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setScale(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setScalePivot(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setScalePivotTranslation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setShear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setToRotationAxis(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTranslation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shearBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def translateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def translation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTypeId:
    """Stores a Maya object type identifier."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def id(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MURI:
    """Manipulate URIs."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def addQueryItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAllQueryItemKeys(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAllQueryItemValues(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAuthority(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDirectory(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFileName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFragment(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getHost(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPassword(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getQueryItemValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getQueryPairDelimiter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getQueryValueDelimiter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getScheme(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUserInfo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getUserName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEmpty(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isValid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isValidURI(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeAllQueryItems(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeQueryItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAuthority(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDirectory(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFileName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFragment(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setHost(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPassword(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setQueryDelimiters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setScheme(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setURI(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUserInfo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUserName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MUint64Array:
    """Array of MUint64 values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MUintArray:
    """Array of unsigned int values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MUserData:
    """Virtual base class for user data caching.

    MUserData( deleteAfterUse=False, legacy=True )
    * deleteAfterUse (bool) - Enabled if user data should be deleted immediately after use. DEPRECATED in 2022.
    * legacy (bool) - Enabled if legacy constructor arguments are used. DEPRECATED in 2022.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteAfterUse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDeleteAfterUse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MUserEventMessage(MMessage):
    """Class used to register callbacks for user event messages."""
    @staticmethod
    def addUserEventCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterUserEvent(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isUserEvent(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def postUserEvent(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerUserEvent(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MUuid:
    """Manipulate UUID data."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def asString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def generate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def valid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MVector:
    """3D vector with double-precision coordinates."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __isub__(self, value: Unknown, /) -> Any: ...
    def __itruediv__(self, value: Unknown, /) -> Any: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __len__(self, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __neg__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __radd__(self, value: Unknown, /) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __rsub__(self, value: Unknown, /) -> Any: ...
    def __rtruediv__(self, value: Unknown, /) -> Any: ...
    def __rxor__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def __sub__(self, value: Unknown, /) -> Any: ...
    def __truediv__(self, value: Unknown, /) -> Any: ...
    def __xor__(self, value: Unknown, /) -> Any: ...
    def angle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEquivalent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isParallel(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kOneVector: MVector
    kTolerance: float = 1e-10
    kWaxis: int = 3
    kXaxis: int = 0
    kXaxisVector: MVector
    kXnegAxisVector: MVector
    kYaxis: int = 1
    kYaxisVector: MVector
    kYnegAxisVector: MVector
    kZaxis: int = 2
    kZaxisVector: MVector
    kZeroVector: MVector
    kZnegAxisVector: MVector
    def length(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def normalize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotateBy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotateTo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transformAsNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    x: float
    y: float
    z: float

class MVectorArray:
    """Array of MVector values."""
    def __add__(self, value: Unknown, /) -> Any: ...
    def __contains__(self, key: Unknown, /) -> Any: ...
    def __delitem__(self, key: Unknown, /) -> Any: ...
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __iadd__(self, value: Unknown, /) -> Any: ...
    def __imul__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __mul__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def __repr__(self, /) -> Any: ...
    def __rmul__(self, value: Unknown, /) -> Any: ...
    def __setitem__(self, key: Unknown, value: Unknown, /) -> Any: ...
    def __str__(self, /) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MWeight:
    """Methods for accessing component weight data. This class is currently
    only used to access soft select and symmetry selection weights.
    Other weight data (e.g. deformer weights) does not use this class
    and can be accessed through the corresponding MFn class or directly
    from the node's attributes.

    __init__()
    Initializes a new MWeight object with influence weight of 1 and seam
    weight of 0.
    __init__(MWeight src)
    Initializes a new MWeight object with the same value as src.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    influence: float
    seam: float

def getStringResource(*args: Unknown, **kwargs: Unknown) -> Any: ...

key: str = "__file__"

ourdict: Dict[str, Any]

py2dict: Dict[str, Any]

def registerStringResource(*args: Unknown, **kwargs: Unknown) -> Any: ...
def registerStringResources(*args: Unknown, **kwargs: Unknown) -> Any: ...

val: str = "C:\\Program Files\\Autodesk\\Maya2026\\Python\\Lib\\site-packages\\maya\\api\\_OpenMaya_py2.pyd"
