from __future__ import annotations
import usdrt.DestructionSchema._DestructionSchema
import typing
import usdrt.Usd._Usd

__all__ = [
    "DestructibleBaseAPI",
    "DestructibleBondAPI",
    "DestructibleChunkAPI",
    "DestructibleInstAPI",
    "Tokens"
]


class DestructibleBaseAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateDefaultBondStrengthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateDefaultChunkStrengthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateSupportDepthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDefaultBondStrengthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetDefaultChunkStrengthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetSupportDepthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class DestructibleBondAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateAreaAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateAttachedRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def CreateCentroidAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateNormalAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateStrengthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateUnbreakableAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetAreaAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetAttachedRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def GetCentroidAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetNormalAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetStrengthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetUnbreakableAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class DestructibleChunkAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateCentroidAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateParentChunkRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def CreateStrengthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def CreateVolumeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetCentroidAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetParentChunkRel(self) -> usdrt.Usd._Usd.Relationship: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def GetStrengthAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def GetVolumeAttr(self) -> usdrt.Usd._Usd.Attribute: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class DestructibleInstAPI(usdrt.Usd._Usd.APISchemaBase, usdrt.Usd._Usd.SchemaBase):
    def CreateBaseRel(self) -> usdrt.Usd._Usd.Relationship: ...
    def GetBaseRel(self) -> usdrt.Usd._Usd.Relationship: ...
    @staticmethod
    def GetSchemaTypeName() -> TfToken: ...
    def __bool__(self) -> bool: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.Prim) -> None: ...
    @typing.overload
    def __init__(self, arg0: usdrt.Usd._Usd.SchemaBase) -> None: ...
    def __repr__(self) -> str: ...
    pass
class Tokens():
    destructArea = 'destruct:area'
    destructAttached = 'destruct:attached'
    destructBase = 'destruct:base'
    destructCentroid = 'destruct:centroid'
    destructDefaultBondStrength = 'destruct:defaultBondStrength'
    destructDefaultChunkStrength = 'destruct:defaultChunkStrength'
    destructNormal = 'destruct:normal'
    destructParentChunk = 'destruct:parentChunk'
    destructStrength = 'destruct:strength'
    destructSupportDepth = 'destruct:supportDepth'
    destructUnbreakable = 'destruct:unbreakable'
    destructVolume = 'destruct:volume'
    pass
