/**
 * Partial Summarizer
 *
 * Summarizes a portion of the conversation from a given index,
 * using keyword extraction rather than LLM calls for fast,
 * deterministic summarization.
 */
export declare class PartialSummarizer {
    private lastMessageCount;
    private lastTokensSaved;
    static getInstance(): PartialSummarizer;
    static resetInstance(): void;
    /**
     * Estimate token count for a string (rough: ~4 chars per token)
     */
    private estimateTokens;
    /**
     * Extract text content from a message object
     */
    private extractContent;
    /**
     * Extract role from a message object
     */
    private extractRole;
    summarizeFrom(messages: unknown[], fromIndex: number): string;
    summarizeRange(messages: unknown[], startIndex: number, endIndex: number): string;
    generateSummary(messagesToSummarize: unknown[]): string;
    getMessageCount(): number;
    getTokensSaved(): number;
}
export declare function getPartialSummarizer(): PartialSummarizer;
export declare function resetPartialSummarizer(): void;
