import { BedrockMessage } from './bedrock-client';
import { BedrockClient } from './bedrock-client';
export interface MemoryConfig {
    maxMessages: number;
    maxTokensPerMessage: number;
    summaryThreshold: number;
}
export declare class MemoryManager {
    private bedrockClient?;
    private config;
    private summaries;
    private messageCount;
    constructor(bedrockClient?: BedrockClient | undefined);
    /**
     * Process messages and return optimized conversation history
     */
    processMessages(messages: BedrockMessage[]): Promise<BedrockMessage[]>;
    /**
     * Summarize a set of messages
     */
    private summarizeMessages;
    /**
     * Create a prompt for summarizing messages
     */
    private createSummaryPrompt;
    /**
     * Extract text content from message content (handles both string and array formats)
     */
    private extractTextContent;
    /**
     * Get memory statistics
     */
    getStats(): {
        totalMessages: number;
        summaryCount: number;
        config: MemoryConfig;
    };
    /**
     * Clear memory
     */
    clear(): void;
    /**
     * Update configuration
     */
    updateConfig(config: Partial<MemoryConfig>): void;
}
//# sourceMappingURL=memory-manager.d.ts.map