from __future__ import annotations
import pxr.AnimationSchema._animationSchema
import typing
import Boost.Python
import pxr.AnimationSchema
import pxr.Usd
import pxr.UsdGeom

__all__ = [
    "AnimationCurveAPI",
    "AnimationData",
    "AnimationDataAPI",
    "GetTangentControlStrategy",
    "Infinity",
    "Key",
    "SkelAnimationAnnotation",
    "SkelJoint",
    "Tangent",
    "TangentControlStrategy",
    "Tokens"
]


class AnimationCurveAPI(pxr.Usd.APISchemaBase, pxr.Usd.SchemaBase, Boost.Python.instance):
    @staticmethod
    def DeleteCurve(*args, **kwargs) -> None: ...
    @staticmethod
    def Get(*args, **kwargs) -> None: ...
    @staticmethod
    def GetCurves(*args, **kwargs) -> None: ...
    @staticmethod
    def GetDefaultTangentType(*args, **kwargs) -> None: ...
    @staticmethod
    def GetInfinityType(*args, **kwargs) -> None: ...
    @staticmethod
    def GetKeys(*args, **kwargs) -> None: ...
    @staticmethod
    def GetSchemaAttributeNames(*args, **kwargs) -> None: ...
    @staticmethod
    def GetTicksPerSecond(*args, **kwargs) -> None: ...
    @staticmethod
    def SetDefaultTangentType(*args, **kwargs) -> None: ...
    @staticmethod
    def SetInfinityType(*args, **kwargs) -> None: ...
    @staticmethod
    def SetKeys(*args, **kwargs) -> None: ...
    @staticmethod
    def ValidateKeys(*args, **kwargs) -> None: ...
    @staticmethod
    def _GetStaticTfType(*args, **kwargs) -> None: ...
    __instance_size__ = 48
    pass
class AnimationData(pxr.Usd.Typed, pxr.Usd.SchemaBase, Boost.Python.instance):
    @staticmethod
    def Define(*args, **kwargs) -> None: ...
    @staticmethod
    def Get(*args, **kwargs) -> None: ...
    @staticmethod
    def GetSchemaAttributeNames(*args, **kwargs) -> None: ...
    @staticmethod
    def _GetStaticTfType(*args, **kwargs) -> None: ...
    __instance_size__ = 40
    pass
class AnimationDataAPI(pxr.Usd.APISchemaBase, pxr.Usd.SchemaBase, Boost.Python.instance):
    @staticmethod
    def Apply(*args, **kwargs) -> None: ...
    @staticmethod
    def CanApply(*args, **kwargs) -> None: ...
    @staticmethod
    def CreateAnimationDataBindingRel(*args, **kwargs) -> None: ...
    @staticmethod
    def Get(*args, **kwargs) -> None: ...
    @staticmethod
    def GetAnimationDataBindingRel(*args, **kwargs) -> None: ...
    @staticmethod
    def GetSchemaAttributeNames(*args, **kwargs) -> None: ...
    @staticmethod
    def _GetStaticTfType(*args, **kwargs) -> None: ...
    __instance_size__ = 48
    pass
class Infinity(Boost.Python.enum, int):
    Post = pxr.AnimationSchema.Infinity.Post
    Pre = pxr.AnimationSchema.Infinity.Pre
    __slots__ = ()
    names = {'Pre': pxr.AnimationSchema.Infinity.Pre, 'Post': pxr.AnimationSchema.Infinity.Post}
    values = {0: pxr.AnimationSchema.Infinity.Pre, 1: pxr.AnimationSchema.Infinity.Post}
    pass
class Key(Boost.Python.instance):
    @property
    def inTangent(self) -> None:
        """
        :type: None
        """
    @property
    def outTangent(self) -> None:
        """
        :type: None
        """
    @property
    def tangentBroken(self) -> None:
        """
        :type: None
        """
    @property
    def tangentWeighted(self) -> None:
        """
        :type: None
        """
    @property
    def time(self) -> None:
        """
        :type: None
        """
    @property
    def value(self) -> None:
        """
        :type: None
        """
    __instance_size__ = 88
    pass
class SkelAnimationAnnotation(pxr.Usd.Typed, pxr.Usd.SchemaBase, Boost.Python.instance):
    @staticmethod
    def CreateEndAttr(*args, **kwargs) -> None: ...
    @staticmethod
    def CreateStartAttr(*args, **kwargs) -> None: ...
    @staticmethod
    def CreateTagAttr(*args, **kwargs) -> None: ...
    @staticmethod
    def Define(*args, **kwargs) -> None: ...
    @staticmethod
    def Get(*args, **kwargs) -> None: ...
    @staticmethod
    def GetEndAttr(*args, **kwargs) -> None: ...
    @staticmethod
    def GetSchemaAttributeNames(*args, **kwargs) -> None: ...
    @staticmethod
    def GetStartAttr(*args, **kwargs) -> None: ...
    @staticmethod
    def GetTagAttr(*args, **kwargs) -> None: ...
    @staticmethod
    def _GetStaticTfType(*args, **kwargs) -> None: ...
    __instance_size__ = 40
    pass
class SkelJoint(pxr.UsdGeom.Boundable, pxr.UsdGeom.Xformable, pxr.UsdGeom.Imageable, pxr.Usd.Typed, pxr.Usd.SchemaBase, Boost.Python.instance):
    @staticmethod
    def CreateHideAttr(*args, **kwargs) -> None: ...
    @staticmethod
    def Define(*args, **kwargs) -> None: ...
    @staticmethod
    def Get(*args, **kwargs) -> None: ...
    @staticmethod
    def GetHideAttr(*args, **kwargs) -> None: ...
    @staticmethod
    def GetJoint(*args, **kwargs) -> None: ...
    @staticmethod
    def GetSchemaAttributeNames(*args, **kwargs) -> None: ...
    @staticmethod
    def _GetStaticTfType(*args, **kwargs) -> None: ...
    __instance_size__ = 40
    pass
class Tangent(Boost.Python.instance):
    @property
    def time(self) -> None:
        """
        :type: None
        """
    @property
    def type(self) -> None:
        """
        :type: None
        """
    @property
    def value(self) -> None:
        """
        :type: None
        """
    __instance_size__ = 40
    pass
class TangentControlStrategy(Boost.Python.instance):
    @staticmethod
    def ValidateInControl(*args, **kwargs) -> None: ...
    @staticmethod
    def ValidateOutControl(*args, **kwargs) -> None: ...
    __instance_size__ = 32
    pass
class Tokens(Boost.Python.instance):
    animationDataBinding = 'animationData:binding'
    auto_ = 'auto'
    constant = 'constant'
    cycle = 'cycle'
    cycleRelative = 'cycleRelative'
    defaultTangentType = 'defaultTangentType'
    end = 'end'
    fixed = 'fixed'
    flat = 'flat'
    hide = 'hide'
    inTangentTimes = 'inTangentTimes'
    inTangentTypes = 'inTangentTypes'
    inTangentValues = 'inTangentValues'
    linear = 'linear'
    oscillate = 'oscillate'
    outTangentTimes = 'outTangentTimes'
    outTangentTypes = 'outTangentTypes'
    outTangentValues = 'outTangentValues'
    postInfinityType = 'postInfinityType'
    preInfinityType = 'preInfinityType'
    smooth = 'smooth'
    start = 'start'
    step = 'step'
    tag = 'tag'
    tangentBrokens = 'tangentBrokens'
    tangentWeighteds = 'tangentWeighteds'
    times = 'times'
    values = 'values'
    pass
class _CanApplyResult(Boost.Python.instance):
    @property
    def whyNot(self) -> None:
        """
        :type: None
        """
    __instance_size__ = 56
    pass
def GetTangentControlStrategy(*args, **kwargs) -> None:
    pass
__MFB_FULL_PACKAGE_NAME = 'animationSchema'
