from __future__ import annotations

from typing import *

import maya.api.OpenMaya

Unknown = Any

class MAnimControl:
    """Control over animation playback and values"""
    @staticmethod
    def animationEndTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def animationStartTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def autoKeyMode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def currentTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def globalInTangentType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def globalOutTangentType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isPlaying(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isScrubbing(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kPlaybackLoop: int = 1
    kPlaybackOnce: int = 0
    kPlaybackOscillate: int = 2
    kPlaybackViewActive: int = 1
    kPlaybackViewAll: int = 0
    @staticmethod
    def maxTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def minTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def playBackward(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def playForward(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def playbackBy(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def playbackMode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def playbackSpeed(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setAnimationEndTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setAnimationStartEndTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setAnimationStartTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setAutoKeyMode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setCurrentTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setGlobalInTangentType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setGlobalOutTangentType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setMaxTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setMinMaxTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setMinTime(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setPlaybackBy(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setPlaybackMode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setPlaybackSpeed(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setViewMode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setWeightedTangents(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def stop(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def viewMode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def weightedTangents(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MAnimCurveChange:
    """Anim curve change cache."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def redoIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def undoIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MAnimCurveClipboard:
    """Provides control over the animation clipboard.

    __init__()
    Initializes a new, empty MAnimCurveClipboard object.
    """
    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 clipboardItems(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    endTime: maya.api.OpenMaya.MTime
    endUnitlessInput: float
    isEmpty: bool
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    startTime: maya.api.OpenMaya.MTime
    startUnitlessInput: float
    theAPIClipboard: MAnimCurveClipboard

class MAnimCurveClipboardItem:
    """This class provides a wrapper for a clipboard item.

    __init__()
    Initializes a new, empty MAnimCurveClipboardItem object.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    animCurve: maya.api.OpenMaya.MObject
    def animCurveType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    fullAttributeName: str
    def getAddressingInfo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    leafAttributeName: str
    nodeName: str
    def setAddressingInfo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAnimCurve(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setNameInfo(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MAnimCurveClipboardItemArray:
    """Array of MAnimCurveClipboardItem 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 MAnimMessage(maya.api.OpenMaya.MMessage):
    """Class used to register callbacks for anim related messages."""
    @staticmethod
    def addAnimCurveEditedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addAnimKeyframeEditCheckCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addAnimKeyframeEditedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addDisableImplicitControlCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addNodeAnimKeyframeEditedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addPostBakeResultsCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addPreBakeResultsCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def flushAnimKeyframeEditedCallbacks(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MAnimUtil:
    """Static class providing common animation helper methods."""
    @staticmethod
    def findAnimatablePlugs(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def findAnimatedPlugs(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def findAnimation(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def findConstraint(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def findSetDrivenKeyAnimation(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isAnimated(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnAnimCurve(maya.api.OpenMaya.MFnDependencyNode):
    """Function set for operations on anim curves.

    __init__()
    Initializes a new, empty MFnAnimCurve object.

    __init__(MObject object)
    Initializes a new MFnAnimCurve and attaches it
    to an animCurve object.

    __init__(MPlug plug)
    Initializes a new MFnAnimCurve and attaches it
    to the single animCurve node connected to the given MPlug.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addKey(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addKeys(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addKeysWithTangents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    animCurveType: Any
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def evaluate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def find(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def findClosest(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTangentAngleWeight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTangentXY(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inTangentType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def input(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insertKey(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isBreakdown(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isStatic: Any
    isTimeInput: Any
    isUnitlessInput: Any
    isWeighted: Any
    kAnimCurveTA: int = 0
    kAnimCurveTL: int = 1
    kAnimCurveTT: int = 2
    kAnimCurveTU: int = 3
    kAnimCurveUA: int = 4
    kAnimCurveUL: int = 5
    kAnimCurveUT: int = 6
    kAnimCurveUU: int = 7
    kAnimCurveUnknown: int = 8
    kConstant: int = 0
    kCycle: int = 3
    kCycleRelative: int = 4
    kLinear: int = 1
    kOscillate: int = 5
    kTangentAuto: int = 11
    kTangentAutoCustom: int = 29
    kTangentAutoEase: int = 28
    kTangentAutoMix: int = 27
    kTangentClamped: int = 8
    kTangentCustomEnd: int = 32767
    kTangentCustomStart: int = 64
    kTangentFast: int = 7
    kTangentFixed: int = 1
    kTangentFlat: int = 3
    kTangentGlobal: int = 0
    kTangentLinear: int = 2
    kTangentPlateau: int = 9
    kTangentShared1: int = 19
    kTangentShared2: int = 20
    kTangentShared3: int = 21
    kTangentShared4: int = 22
    kTangentShared5: int = 23
    kTangentShared6: int = 24
    kTangentShared7: int = 25
    kTangentShared8: int = 26
    kTangentSlow: int = 6
    kTangentSmooth: int = 4
    kTangentStep: int = 5
    kTangentStepNext: int = 10
    kTangentTypeCount: int = 32768
    numKeys: Any
    def outTangentType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    postInfinityType: Any
    preInfinityType: Any
    def quaternionW(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInTangentType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInput(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIsBreakdown(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIsWeighted(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setOutTangentType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPostInfinityType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPreInfinityType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setQuaternionW(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTangent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTangentTypes(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTangentsLocked(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setWeight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setWeightsLocked(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def tangentsLocked(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def timedAnimCurveTypeForPlug(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def unitlessAnimCurveTypeForPlug(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def value(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def weightsLocked(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnGeometryFilter(maya.api.OpenMaya.MFnDependencyNode):
    """Function set for operating on geometryFilter nodes.
    geometryFilter is the abstract node type from which all
    deformer node types derive.

    __init__()
    Initializes a new, empty MFnGeometryFilter functionset.

    __init__(MObject)
    Initializes a new MFnGeometryFilter functionset and attaches it
    to a geometryFilter node.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    deformerSet: Any
    envelope: Any
    def getComponentAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getInputGeometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getOutputGeometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPathAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def groupIdAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexForGroupId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexForOutputConnection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexForOutputShape(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inputShapeAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numOutputConnections(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def outputShapeAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnIkJoint(maya.api.OpenMaya.MFnTransform):
    """Function set joints.

    __init__()
    Initializes a new, empty MFnIKJoint 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 degreesOfFreedom(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hikJointName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def maxRotateDampXRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def maxRotateDampXStrength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def maxRotateDampYRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def maxRotateDampYStrength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def maxRotateDampZRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def maxRotateDampZStrength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def minRotateDampXRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def minRotateDampXStrength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def minRotateDampYRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def minRotateDampYStrength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def minRotateDampZRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def minRotateDampZStrength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def orientation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def orientationComponents(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def preferredAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scaleOrientation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def segmentScale(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDegreesOfFreedom(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMaxRotateDampXRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMaxRotateDampXStrength(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setMaxRotateDampYRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMaxRotateDampYStrength(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setMaxRotateDampZRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMaxRotateDampZStrength(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setMinRotateDampXRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMinRotateDampXStrength(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setMinRotateDampYRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMinRotateDampYStrength(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setMinRotateDampZRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMinRotateDampZStrength(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setOrientation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPreferredAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setScaleOrientation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSegmentScale(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setStiffness(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def stiffness(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnSkinCluster(MFnGeometryFilter):
    """Function set for operating on skinCluster nodes.
    SkinCluster nodes are created during a smooth bindSkin. They
    store a weight per influence object for each component of the
    geometry that is deformed. Influence objects can be joints or
    any transform.

    Unlike most deformers, a skinCluster node can deform only a
    single geometry. Therefore, if additional geometries are added
    to the skinCluster set, they will be ignored.

    __init__()
    Initializes a new, empty MFnSkinCluster functionset.

    __init__(MObject)
    Initializes a new MFnSkinCluster functionset and attaches it to
    a skinCluster node.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBlendWeights(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPointsAffectedByInfluence(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getWeights(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexForInfluenceObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def influenceObjects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setBlendWeights(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setWeights(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnWeightGeometryFilter(MFnGeometryFilter):
    """Function set for operating on weightGeometryFilter nodes.
    weightGeometryFilter is the abstract node type from which
    weighted deformer node types derive.

    __init__()
    Initializes a new, empty MFnWeightGeometryFilter functionset.

    __init__(MObject)
    Initializes a new MFnWeightGeometryFilter functionset and attaches it
    to a geometryFilter node.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEnvelopeWeights(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getWeightPlugStrings(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getWeights(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setWeight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def weightPlugStrings(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

key: str = "__file__"

ourdict: Dict[str, Any]

py2dict: Dict[str, Any]

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