import type { AnimationEventMarker } from "./AnimationEvents.js";
import { AnimationTrack, type SerializedAnimationTrack } from "./AnimationTrack.js";
export type AnimationClipDescriptor = {
    readonly name: string;
    readonly duration?: number;
    readonly tracks: readonly AnimationTrack[];
    readonly events?: readonly AnimationEventMarker[];
};
export type SerializedAnimationClip = {
    readonly name: string;
    readonly duration: number;
    readonly tracks: readonly SerializedAnimationTrack[];
    readonly events: readonly AnimationEventMarker[];
};
export declare class AnimationClip {
    readonly name: string;
    readonly tracks: readonly AnimationTrack[];
    readonly events: readonly AnimationEventMarker[];
    readonly duration: number;
    constructor(descriptor: AnimationClipDescriptor);
    toJSON(): SerializedAnimationClip;
    static fromJSON(serialized: SerializedAnimationClip): AnimationClip;
}
//# sourceMappingURL=AnimationClip.d.ts.map