export type IntentRecordType = "emit" | "emit:error" | "emit:start" | "emit:end"; export type IntentRecord = { readonly id: number; readonly type: IntentRecordType; readonly intent: string; readonly payload?: any; readonly scope: string; readonly state: Readonly; readonly timestamp: number; }; export type EmitFn = (intent: string, payload?: any) => void | Promise; export type Timeline = { readonly records: readonly IntentRecord[]; record(entry: Omit, "id">): void; replay(emit: EmitFn, options?: { from?: number; to?: number; scope?: string; }): Promise; clear(): void; }; export declare function createTimeline(): Timeline;