import { type IContent } from '../../services/history/IContent.js';
export declare class ConversationCache {
    private static readonly scopes;
    private readonly maxSize;
    private readonly ttlMs;
    private readonly scopeKey;
    constructor(maxSize?: number, ttlHours?: number, scopeKey?: string | symbol);
    private getOrCreateScope;
    private peekScope;
    private generateKey;
    private evictIfNeeded;
    private updateAccessOrder;
    private isExpired;
    set(conversationId: string, parentId: string, messages: IContent[], promptTokensAccum?: number): void;
    get(conversationId: string, parentId: string): IContent[] | null;
    has(conversationId: string, parentId: string): boolean;
    clear(): void;
    size(): number;
    getAccumulatedTokens(conversationId: string, parentId: string): number;
    updateTokenCount(conversationId: string, parentId: string, additionalTokens: number): void;
    invalidate(conversationId: string, parentId: string): void;
}
