import type { AnimationManager } from './AnimationManager.js';
import type { PlaybackSettings, StopMethodOptions } from './Playback.js';
import { type Transition, type TransitionTypes } from './Transition.js';
import { type TimingFunction } from './utils.js';
import Playback from './Playback.js';
export type AnimatableValues = number | number[];
export type AnimationParams<T> = Partial<PlaybackSettings> & {
    [K in keyof T]?: TransitionTypes;
};
export type AnimatableTarget = Record<string, AnimatableValues>;
export type AnimationSettings = {
    [key: string]: TransitionTypes | boolean | number | string | TimingFunction | StopMethodOptions | undefined;
} & Partial<PlaybackSettings>;
export default class Animation extends Playback {
    target: AnimatableTarget;
    transitions: Record<string, Transition[]>;
    transitionKeys: string[];
    constructor(animationManager: AnimationManager, target: AnimatableTarget, animationParams: AnimationSettings);
    updateValues(currentTime: number): void;
    applyStartValues(): void;
}
