import type { Agent } from '../../agent';
import type { ProcessedResponse } from '../../runner/types';
import type { ApplyPatchTool, ComputerTool, FunctionTool, ShellTool, Tool } from '../../tool';
import * as protocol from '../../types/protocol';
export declare function processedResponseRequiresExecutionToolRehydration(processedResponse: ProcessedResponse<any> | undefined): boolean;
export declare function getSerializedFunctionToolPlaceholder<TContext>(args: {
    agent: Agent<any, any>;
    baseAgentTools: Tool<any>[];
    serializedTool: unknown;
    toolCall: protocol.FunctionCallItem;
    toolIdentity: string;
    allowSerializedExecutionToolPlaceholder: boolean;
}): FunctionTool<TContext> | undefined;
export declare function getSerializedComputerToolPlaceholder(args: {
    agent: Agent<any, any>;
    baseAgentTools: Tool<any>[];
    serializedTool: unknown;
    toolName: string;
    allowSerializedExecutionToolPlaceholder: boolean;
}): ComputerTool<any, any> | undefined;
export declare function getSerializedShellToolPlaceholder(args: {
    agent: Agent<any, any>;
    baseAgentTools: Tool<any>[];
    serializedTool: unknown;
    toolName: string;
    allowSerializedExecutionToolPlaceholder: boolean;
}): ShellTool | undefined;
export declare function getSerializedApplyPatchToolPlaceholder(args: {
    agent: Agent<any, any>;
    baseAgentTools: Tool<any>[];
    serializedTool: unknown;
    toolName: string;
    allowSerializedExecutionToolPlaceholder: boolean;
}): ApplyPatchTool | undefined;
