import type { ContextExcerpt, EvidenceAtom, ExplorationBudget, ExplorationUsage } from "@oscharko-dev/keiko-contracts/connected-context";
export interface CompactionInput {
    readonly atom: EvidenceAtom;
    readonly rawContent: string;
    readonly maxBytes: number;
}
export interface CompactionResult {
    readonly excerpt: ContextExcerpt;
    readonly bytesConsumed: number;
    readonly truncated: boolean;
}
export interface BudgetCheckpoint {
    readonly atoms: readonly EvidenceAtom[];
    readonly budget: ExplorationBudget;
    readonly currentUsage: ExplorationUsage;
}
export interface BudgetCheckpointResult {
    readonly fits: boolean;
    readonly violatedDim?: string;
}
export declare function compactExcerpt(input: CompactionInput): CompactionResult;
export declare function nextAtomFitsBudget(cp: BudgetCheckpoint, candidateAtomBytes: number): BudgetCheckpointResult;
//# sourceMappingURL=compaction.d.ts.map