import type { Tool, ToolCall } from "../types.js";
export interface ValidationDiagnostics {
    cacheSize: number;
    ajvEnabled: boolean;
    isBrowserExtension: boolean;
}
/**
 * Looks up the tool referenced by a tool call and checks the call's arguments
 * against that tool's declared schema.
 *
 * @param tools The set of tools that may be invoked.
 * @param toolCall A model-issued tool call to verify.
 * @returns The arguments once they pass validation.
 * @throws When no matching tool exists, or when the arguments do not conform.
 */
export declare function validateToolCall(tools: Tool[], toolCall: ToolCall): any;
/**
 * Checks a tool call's arguments against the schema attached to the tool.
 *
 * @param tool The tool whose schema describes the expected arguments.
 * @param toolCall The model-issued call carrying the arguments to verify.
 * @returns The arguments after validation (type coercion may apply).
 * @throws With a human-readable summary when the arguments fail to validate.
 */
export declare function validateToolArguments(tool: Tool, toolCall: ToolCall): any;
export declare function getValidationDiagnostics(): ValidationDiagnostics;
