import { Message } from "../clients/types";
import { MessageProcessorFunction } from "../services/MessageProcessor";
import { ToolsService } from "../services";
import { JsonCompressor } from "./JsonCompressor";
import { jqToolResponseDefinition, grepToolResponseDefinition, GrepOptions, tailToolResponseDefinition, TailOptions, listStoredToolResponsesDefinition } from "./tools";
export declare class ToolResponseCache {
    private storage;
    private metadataStorage;
    private toolNameMap;
    private jsonCompressor;
    constructor(toolsService: ToolsService, jsonCompressor?: JsonCompressor);
    private createMinimalJsonCompressor;
    parseNestedJsonStrings(obj: any): any;
    storeToolResponse(content: string, toolCallId: string, toolName?: string): void;
    private processMessage;
    createProcessor(filterFn?: (msg: Message) => boolean): MessageProcessorFunction;
    queryToolResponse(toolCallId: string, jqQuery: string): Promise<string>;
    grepToolResponse(toolCallId: string, pattern: string, options?: GrepOptions): Promise<string>;
    tailToolResponse(toolCallId: string, options?: TailOptions): Promise<string>;
    listStoredToolResponses(): Promise<string>;
    retrieveRawResponse(toolCallId: string): string | null;
    clearStorage(): void;
    getStorageKeys(): string[];
    getStorageSize(): number;
    registerTool(toolsService: ToolsService): void;
}
export { jqToolResponseDefinition, grepToolResponseDefinition, tailToolResponseDefinition, listStoredToolResponsesDefinition, };
