import type { AgentMessage } from '@earendil-works/pi-agent-core'; import type { TranscriptSourceEntry } from '../../storage/sqlite/transcript-repository.js'; export interface CompactionSourcePlan { sourceEntries: TranscriptSourceEntry[]; keptEntries: TranscriptSourceEntry[]; keptMessages: AgentMessage[]; allMessages: AgentMessage[]; sourceThroughSeq: number; } export declare function planCompactionSource(params: { entries: readonly TranscriptSourceEntry[]; minMessagesBeforeCompact: number; recentTurnsPreserve: number; keepRecentTokens: number; force: boolean; }): CompactionSourcePlan | null; export declare function estimateCompactionSourceTokens(plan: CompactionSourcePlan): { before: number; kept: number; };