import type { ProviderMessage } from '../providers/interface.js';
import type { ProviderRegistry } from '../providers/registry.js';
import type { CompactionContext } from './context-compaction.js';
import type { SessionMemoryStore } from './session-memory.js';
import type { SessionLineageTracker } from './session-lineage.js';
export interface ConversationCompactionHost {
    getMessageCount(): number;
    getMessagesForLLM(): ProviderMessage[];
    replaceMessagesForLLM(newMessages: ProviderMessage[]): void;
    getSessionMemoryStore(): Pick<SessionMemoryStore, 'list'> | null;
    getSessionLineageTracker(): Pick<SessionLineageTracker, 'addCompactionEntry'>;
}
export declare function compactConversation(host: ConversationCompactionHost, registry: ProviderRegistry, modelId: string, trigger?: 'auto' | 'manual', provider?: string, context?: CompactionContext): Promise<void>;
//# sourceMappingURL=conversation-compaction.d.ts.map