import type { IMmdAnimation } from "./IMmdAnimation"; import { MmdAnimationBase } from "./mmdAnimationBase"; import type { MmdBoneAnimationTrack, MmdCameraAnimationTrack, MmdMorphAnimationTrack, MmdMovableBoneAnimationTrack, MmdPropertyAnimationTrack } from "./mmdAnimationTrack"; /** * Represents mmd animation data * * Internally, it uses typed arrays to store animation data for better performance * * Therefore, it is not compatible with existing Babylon.js animation systems. * * You can save one mesh animation and one camera animation in one `MmdAnimation` instance */ export declare class MmdAnimation extends MmdAnimationBase implements IMmdAnimation { /** * Create a new `MmdAnimation` instance * @param name animation name for identification * @param boneTracks bone animation tracks * @param movableBoneTracks movable bone animation tracks * @param morphTracks morph animation tracks * @param propertyTrack property animation track * @param cameraTrack camera animation track */ constructor(name: string, boneTracks: readonly MmdBoneAnimationTrack[], movableBoneTracks: readonly MmdMovableBoneAnimationTrack[], morphTracks: readonly MmdMorphAnimationTrack[], propertyTrack: MmdPropertyAnimationTrack, cameraTrack: MmdCameraAnimationTrack); /** * Check if all animation tracks are valid(sorted) * @returns true if all animation tracks are valid */ validate(): boolean; }