import type { AnimationClip } from "./AnimationClip.js";
import { type AnimationEvent } from "./AnimationEvents.js";
export type LoopMode = "once" | "repeat" | "pingpong";
export type AnimationActionSnapshot = {
    readonly clipName: string;
    readonly duration: number;
    readonly time: number;
    readonly weight: number;
    readonly timeScale: number;
    readonly playing: boolean;
    readonly paused: boolean;
    readonly loopMode: LoopMode;
};
export declare class AnimationAction {
    readonly clip: AnimationClip;
    time: number;
    weight: number;
    timeScale: number;
    loopMode: LoopMode;
    playing: boolean;
    paused: boolean;
    private pingPongForward;
    private fadeDuration;
    private fadeElapsed;
    private fadeStartWeight;
    private fadeTargetWeight;
    constructor(clip: AnimationClip);
    play(): this;
    pause(): this;
    stop(): this;
    setWeight(weight: number): this;
    setTimeScale(timeScale: number): this;
    setLoop(loopMode: LoopMode): this;
    reset(): this;
    seek(time: number): this;
    fadeTo(weight: number, duration: number): this;
    update(delta: number): readonly AnimationEvent[];
    snapshot(): AnimationActionSnapshot;
}
//# sourceMappingURL=AnimationAction.d.ts.map