/** Serializable data for the CinematicComponent GUI. */ export interface CinematicData { /** Video URL resolved by the game. */ src: string; /** Allow pressing Escape or clicking the on-screen button to skip. Defaults to true. */ allowSkip?: boolean; /** Music treatment during this clip. Defaults to duck. */ bgm?: 'duck' | 'pause'; /** Following clips, played without revealing the game between them. */ clips?: Omit[]; } /** Completion returned to the waiting server GUI. */ export type CinematicResult = { reason: "ended" | "skipped" | "error"; }; type PlaybackOptions = { source: () => string | Promise; allowSkip: boolean; volume: number; translate: (key: string) => string; finish: (result: CinematicResult) => void; clips?: { source: () => string | Promise; allowSkip: boolean; bgm?: 'duck' | 'pause'; }[]; beforeClip?: (bgm: 'duck' | 'pause') => void; }; export declare class CinematicPlayback { private readonly options; readonly element: HTMLElement; private readonly video; private readonly status; private readonly action; private readonly skip; private readonly abort; private readonly previousFocus; private loadTimer?; private finishTimer?; private revealTimer?; private done; private disposed; private failed; private clipIndex; private nextVideo?; private get clip(); constructor(options: PlaybackOptions); start(): Promise; private get fadeDuration(); private preloadNext; private watchLoading; private play; private fail; private onKeyDown; private onKeyUp; private complete; dispose(): void; } export {};