import type { DefineToolParams, ToolDefinition, ExecuteToolResult, ToolCall, ToolResult, AskInput } from "../types.js"; export * from "./zod-converter.js"; /** * Define a tool with Zod schema validation and type-safe execution * @param params Tool definition parameters * @returns A typed tool definition with preserved return type */ export declare function defineTool, R>(params: DefineToolParams): ToolDefinition; /** * Validate and execute a tool call * @param tool The tool definition * @param toolCall The tool call to execute * @returns Promise resolving to execution result with typed result */ export declare function validateAndExecute, R>(tool: ToolDefinition, toolCall: ToolCall): Promise; /** * Validate tool call arguments against a tool's schema * @param tool The tool definition * @param args The arguments to validate * @returns True if valid, throws ZodError if invalid */ export declare function validateToolCall>(tool: ToolDefinition, args: unknown): T; /** * Convert tool execution result to string for LLM consumption * @param result The result from tool execution * @returns String representation suitable for LLM */ export declare function resultToString(result: unknown): string; /** * Convert a tool execution result to a ToolResult for LLM consumption */ export declare function toToolResult(executionResult: ExecuteToolResult): ToolResult; /** * Convert an array of tool execution results to an array of ToolResults for LLM consumption */ export declare function toToolResults(executionResults: ExecuteToolResult[]): ToolResult[]; /** * Convert ExecuteToolResult(s) to AskInput */ export declare function toAskInput(input: ExecuteToolResult | ExecuteToolResult[]): AskInput; //# sourceMappingURL=index.d.ts.map