/** * Timeline.ts * * Sequential and parallel animation group orchestration. * Enables complex choreographed animation sequences. */ import { AnimationEngine, AnimationClip } from './AnimationEngine'; export type TimelineMode = 'sequential' | 'parallel'; export interface TimelineEntry { clip: AnimationClip; setter: (value: number) => void; startOffset?: number; } export interface TimelineConfig { mode: TimelineMode; loop: boolean; loopCount: number; pingPong: boolean; delay: number; onComplete?: () => void; onLoop?: (count: number) => void; } export declare class Timeline { private entries; private config; private engine; private elapsed; private isPlaying; private isPaused; private currentLoop; private direction; private totalDuration; constructor(config?: Partial, engine?: AnimationEngine); /** * Add an animation to the timeline. */ add(clip: AnimationClip, setter: (value: number) => void, startOffset?: number): Timeline; /** * Start playing the timeline. */ play(): void; pause(): void; resume(): void; stop(): void; /** * Update the timeline. Call every frame. */ update(delta: number): void; private updateSequential; private updateParallel; private handleCompletion; private recalcDuration; /** * Get total duration of the timeline. */ getDuration(): number; /** * Get current elapsed time. */ getElapsed(): number; /** * Get normalized progress (0-1). */ getProgress(): number; } //# sourceMappingURL=Timeline.d.ts.map