import { Emitter } from './Emitter'; import { ISequenceMeta, ITimelineEvents, TTimelineTickMode } from './types'; /** * Is used for sequence time management. * It is necessary to set the duration and the number of frames per second (frame rate). * * @category Timeline * @class Timeline * @extends {Emitter} */ declare class Timeline extends Emitter { /** * Animation status started * @internal */ static readonly START = "start"; /** * Animation status paused * @internal */ static readonly PAUSE = "pause"; /** * Animation status stop * @internal */ static readonly STOP = "stop"; private readonly fps_samples_size; private fps_samples; private fps_samples_index; private fps; private currentFrame; private currentTime; private currentLoop; private paused_time; private start_time; private tick_time; private last_tick; private b_sequence_started; private tickMode; private sequence; constructor(duration?: number, framerate?: number, tickMode?: TTimelineTickMode); /** * Return the sequence * * @returns {Sequence} */ getSequence(): ISequenceMeta; /** * Set Sequence * * @param {number} duration in ms * @param {number} framerate * @param {number} atTime */ setSequence(duration: number, framerate: number, atTime?: number): void; /** * Set duration of timeline * * @param {number} framerate */ setDuration(duration: number): void; /** * Get timeline duration * * @returns {number} */ getDuration(): number; /** * Return framerate * * @returns {number} */ getFramerate(): number; /** * Set a framerate * * @param {number} framerate */ setFramerate(framerate: number): void; /** * Get number of frames based on duration and framerate * * @returns {number} */ getFramesCount(): number; bSequenceStarted(): boolean; /** * Start the sequence * */ start(): void; /** * Pause the sequence * */ pause(): void; /** * Stop the sequence and reset * */ stop(): void; /** * Animation tick * * @param {number} timestamp current timestamp * @returns {boolean} */ tick(timestamp: number): boolean; /** * Return sequence loop */ getCurrentLoop(): number; /** * Calculate fps * * @private * @param {number} currentFPS */ private calculateFPS; /** * Return current animation frame * * @returns {number} */ getCurrentFrame(): number; /** * get the time at specific frame number * * @param {number} frame * @returns {number} */ getFrameTime(frame: number): number; /** * Return frame number at time * * @param {number} time * @returns {number} */ getFrameAtTime(time: number): number; /** * set current frame (0 to sequence.frames - 1) * * @param {number} frame */ setFrame(frame: number): void; /** * Return tick time (based on framerate) * * @returns {number} */ getTickTime(): number; /** * Return the current time * * @returns {number} */ getTime(): number; /** * Set animation at time * * @param {number} time */ setTime(time: number): void; } export { Timeline }; //# sourceMappingURL=Timeline.d.ts.map