import type { TrackAsset } from './track'; import type { Constructor } from '../../utils'; import type { SceneBinding } from '../../components'; import { EffectsObject } from '../../effects-object'; export declare class TimelineAsset extends EffectsObject { tracks: TrackAsset[]; private cacheFlattenedTracks; get flattenedTracks(): TrackAsset[]; createTrack(classConstructor: Constructor, parent: TrackAsset, name?: string): T; /** * Invalidates the asset, called when tracks data changed */ private invalidate; private addSubTracksRecursive; } export declare class TimelineInstance { private time; private clips; private masterTrackInstances; constructor(timelineAsset: TimelineAsset, sceneBindings: SceneBinding[]); setTime(time: number): void; getTime(): number; evaluate(deltaTime: number): void; compileTracks(tracks: TrackAsset[], sceneBindings: SceneBinding[]): void; private tickTrack; private updateTrackAnimatedObject; }