/**
 * Parallel Summarizer
 *
 * Summarizes multiple message chunks in parallel for efficient
 * context compaction. Uses a fast model for summarization.
 */
import type { MessageChunk, ChunkSummary } from './types.js';
/**
 * Interface for LLM summarization
 */
export interface Summarizer {
    summarize(text: string): Promise<string>;
}
/**
 * Local summarizer using simple extraction (fallback)
 */
export declare class LocalSummarizer implements Summarizer {
    summarize(text: string): Promise<string>;
}
/**
 * Default local summarizer instance
 */
declare const defaultSummarizer: LocalSummarizer;
/**
 * Summarize multiple chunks in parallel
 */
export declare function summarizeChunksParallel(chunks: MessageChunk[], summarizer?: Summarizer, model?: string): Promise<ChunkSummary[]>;
/**
 * Merge summaries into a single coherent summary
 */
export declare function mergeSummaries(summaries: ChunkSummary[], model?: string): {
    merged: string;
    tokenCount: number;
};
/**
 * Truncate text keeping head and tail
 */
export declare function truncateText(text: string, headChars?: number, tailChars?: number): string;
export { defaultSummarizer };
