type M2Track = { trackType: number; loopIndex: number; sequenceTimes: Uint32Array[]; sequenceKeys: T[]; }; type M2Bounds = { extent: Float32Array; radius: number; }; type M2Bone = { boneId: number; flags: number; parentIndex: number; distToParent: number; boneNameCrc: number; pivot: Float32Array; translationTrack: M2Track; rotationTrack: M2Track; scaleTrack: M2Track; }; type M2Color = { colorTrack: M2Track; alphaTrack: M2Track; }; type M2Sequence = { id: number; variationIndex: number; duration: number; moveSpeed: number; flags: number; frequency: number; blendTime: number; bounds: M2Bounds; variationNext: number; aliasNext: number; }; type M2SkinSection = { id: number; vertexStart: number; vertexCount: number; indexStart: number; indexCount: number; boneCount: number; boneComboIndex: number; boneInfluences: number; centerBoneIndex: number; centerPosition: number[]; sortCenterPosition: number[]; sortRadius: number; }; type M2TextureTransform = { translationTrack: M2Track; rotationTrack: M2Track; scalingTrack: M2Track; }; type M2TextureWeight = { weightTrack: M2Track; }; export { M2Bone, M2Color, M2Sequence, M2SkinSection, M2TextureTransform, M2TextureWeight, M2Track };