import { Timeline } from '../timeline/timeline'; import { Sequenced } from './sequenced-timeline'; import { AbstractCompositeTimeline } from '../timeline/abstract-composite-timeline'; import { TimelineEvents } from '../timeline'; export interface SequenceEvents extends TimelineEvents> { completed: [event: {}, source: Sequence]; sought: [event: { from: number; }, source: Sequence]; timelineActivated: [timeline: T, source: Sequence]; timelineDeactivated: [timeline: T, source: Sequence]; updated: [event: { dt: number; }, source: Sequence]; } export declare class Sequence extends AbstractCompositeTimeline implements Timeline { private readonly eventEmitter; readonly on: >(eventName: K, handler: (...args: import("@akolos/event-emitter/build/union-to-intersection").UnionToIntersection[K]>) => void) => this; readonly off: >(eventName: K, handler: (...args: import("@akolos/event-emitter/build/union-to-intersection").UnionToIntersection[K]>) => void) => this; protected readonly emit: >(eventName: K, ...args: import("@akolos/event-emitter/build/union-to-intersection").UnionToIntersection[K]>) => this; private readonly _items; private readonly _activeTimelines; /** * The set of all timelines that were updated during this sequence's most recent update. */ getActiveTimelines(): ReadonlySet; /** * All timelines included in this sequence along with their start times. */ getItems(): ReadonlyArray>; /** * Creates a new sequence. * @param sequenceItems The timelines to include in this sequence, with each having a start time. */ constructor(sequenceItems: Sequenced[]); _update(dt: number): void; protected _completed(): void; protected _start(): void; protected _stop(): void; protected _seek(from: number): void; private updateTimelines; }