import type { SdkFrame } from "./types"; export interface EventFrame extends SdkFrame { type: "event"; generation: number; seq: number; } export type EventReplayGap = { kind: "generation_reset"; fromGeneration: number; toGeneration: number; resyncQueries: string[]; } | { kind: "sequence_gap"; fromSeq: number; toSeq: number; resyncQueries: string[]; }; export interface EventReplay { events: EventFrame[]; gap?: EventReplayGap; } export declare class SessionEventStream { #private; constructor(options?: { generation?: number; ringSize?: number; resyncQueryIds?: string[]; }); get generation(): number; get sequence(): number; restart(): number; emit(frame: SdkFrame): EventFrame; /** Replays retained current-generation events and reports any required resynchronization. */ replay(lastSeq: number, generation?: number): EventReplay; }