import type { ProjectedPayload } from './toolResultProjectionFilter';
export type ToolRuntime = 'claude' | 'openai';
export interface SessionToolResultKey {
    sessionId: string;
    runId: string;
    runtime: ToolRuntime;
    invocationId: string;
}
export interface SessionToolResultEntry {
    llmPayload: unknown;
    sidecar: ProjectedPayload;
    createdAt: number;
}
export declare function serializeToolResultKey(key: SessionToolResultKey): string;
export declare class SessionToolResultRegistry {
    private readonly entries;
    private readonly aliases;
    put(key: SessionToolResultKey, entry: Omit<SessionToolResultEntry, 'createdAt'>): void;
    alias(from: SessionToolResultKey, to: SessionToolResultKey): void;
    getSidecar(key: SessionToolResultKey): ProjectedPayload | undefined;
    getLlmPayload(key: SessionToolResultKey): unknown;
    clearRun(sessionId: string, runId: string): void;
}
export declare function projectedSidecarMissing(toolName: string): ProjectedPayload;
//# sourceMappingURL=sessionToolResultRegistry.d.ts.map