import type { SessionManager } from "@earendil-works/pi-coding-agent"; import { type ServerFrame, type TimelineEvent } from "../protocol/v2/index.js"; type RecoveryFn = (sessionManager: SessionManager) => readonly TimelineEvent[]; type GenerationProvider = (sessionManager: SessionManager) => string; type HistorySyncRequest = { requestId: string; targetChannelId: string; before: number | null; limit?: number; }; export type TimelineHistorySync = HistorySyncRequest; export type TimelineHistoryRecovery = RecoveryFn; export type TimelineHistoryGenerationProvider = GenerationProvider; export declare class TimelineHistoryPager { private readonly sessionManager; private readonly recoverFn; private readonly generationProvider; constructor(sessionManager: SessionManager, recoverFn: RecoveryFn, generationProvider?: GenerationProvider); sync(request: HistorySyncRequest): ServerFrame[]; private validateRequest; private captureSnapshot; private snapshotInvalidReason; private recoverRecords; private selectWindow; private fragmentWindow; private makeChunk; private nonFinalFrameBytes; private finalFrameBytes; private protocolError; private reset; } export {};