import type Part from './Part'; import type Destination from './Destination'; import type Context from './Context'; import type Sound from './Sound'; import type { Effect } from './effects/Effect'; import Bus from './Bus'; interface TimelineProps { bpm: number; mesure?: number; lookahead?: number; effects?: Effect[]; context?: Context; destination?: Destination; } export default class Timeline { private readonly lookahead; private started; private startTime; private nextPartStart; private currentPart; readonly context: Context; readonly barDuration: number; readonly bus: Bus; queue: Part[]; constructor({ bpm, mesure, lookahead, effects, context, destination, }: TimelineProps); play(sound: Sound): void; cue(part: Part): void; private updateState; getTimeoutForTime(time: number): number; } export {};