type Vec3 = [number, number, number]; /** * CinematicTrack.ts * * Keyframe-based cinematic sequencer: position/rotation/fov * keyframes, easing curves, playback control, and event cues. * * @module camera */ export type EasingType = 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'smoothStep'; export interface CinematicKeyframe { time: number; position?: Vec3; rotation?: Vec3; fov?: number; zoom?: number; easing: EasingType; } export interface CinematicCue { time: number; event: string; data: Record; fired: boolean; } export interface CinematicState { position: [number, number, number]; rotation: Vec3; fov: number; zoom: number; } export declare class CinematicTrack { private keyframes; private cues; private currentTime; private duration; private playing; private looping; private speed; private cueListeners; addKeyframe(keyframe: CinematicKeyframe): void; addCue(time: number, event: string, data?: Record): void; removeKeyframesAt(time: number): number; play(): void; pause(): void; stop(): void; seek(time: number): void; setSpeed(speed: number): void; setLooping(loop: boolean): void; isPlaying(): boolean; getCurrentTime(): number; getDuration(): number; getProgress(): number; update(dt: number): CinematicState | null; evaluate(time: number): CinematicState; private applyEasing; onCue(listener: (event: string, data: Record) => void): void; private resetCues; private recalcDuration; getKeyframeCount(): number; getCueCount(): number; clear(): void; } export {}; //# sourceMappingURL=CinematicTrack.d.ts.map