/**
 * Smart compaction suggestions — monitors conversation and suggests compaction at optimal points.
 */
import type { Message } from './types.js';
export interface CompactionSuggestion {
    reason: string;
    strategy: 'full' | 'quick' | 'selective';
    estimatedTokens: number;
    estimatedSavings: number;
}
/**
 * Suggest compaction at optimal points.
 * Returns null if no compaction needed, or a suggestion with reason.
 */
export declare function shouldSuggestCompaction(messages: Message[], lastCompactionAt: number): CompactionSuggestion | null;
/**
 * Pre-build a summary of what would be compacted.
 * Shows which messages/ranges would be affected.
 */
export declare function buildCompactionSummary(messages: Message[]): string;
/**
 * Determine optimal compaction strategy based on token count and message characteristics.
 */
export declare function getCompactionStrategy(messages: Message[]): 'full' | 'quick' | 'selective';
