import type { JsonObject } from '../contracts/common'; export type PageStreamReducerErrorCode = 'PAGE_STREAM_INVALID_FRAME' | 'PAGE_STREAM_ID_MISMATCH' | 'PAGE_STREAM_SNAPSHOT_REQUIRED' | 'PAGE_STREAM_SEQUENCE_CONFLICT' | 'PAGE_STREAM_SEQUENCE_GAP' | 'PAGE_STREAM_TERMINATED' | 'PAGE_STREAM_CAPACITY_EXCEEDED'; export declare class PageStreamReducerError extends Error { readonly code: PageStreamReducerErrorCode; constructor(code: PageStreamReducerErrorCode); } export interface PageStreamState { readonly streamId: string; readonly status: 'awaiting-snapshot' | 'open' | 'ended' | 'error'; readonly model: JsonObject | undefined; readonly events: readonly JsonObject[]; readonly sequence: number; readonly cursor: string | undefined; readonly error: { code: string; retryable: boolean; } | undefined; readonly seen: Readonly>; readonly retainedBytes: number; } export declare function createPageStreamState(streamId: string): PageStreamState; /** Verified snapshots replace presentation state; deltas retain every event or reject atomically. */ export declare function applyPageStreamEvent(state: PageStreamState, input: unknown): PageStreamState; //# sourceMappingURL=page-stream.d.ts.map