export interface CompactionSourceText { text: string; seq: number; entryId: string; } export interface HandoverChunk { text: string; sourceThroughSeq: number; } export interface CompactionChunkCursorState { index: number; offset: number; } /** Consume source text in order, fitting each chunk against the current ledger. */ export declare class CompactionChunkCursor { private readonly sources; private index; private offset; constructor(sources: readonly CompactionSourceText[], state?: CompactionChunkCursorState); get done(): boolean; checkpoint(): CompactionChunkCursorState; next(maxTokens: number, fits: (text: string) => boolean): HandoverChunk; }