import { z } from "zod"; import type { AgentTool, AgentToolContext } from "../agent"; export declare function createTool(config: { name: string; description: string; inputSchema: Record; execute: (input: TInput, context: AgentToolContext) => Promise; lifecycle?: AgentTool["lifecycle"]; timeoutMs?: number; retryable?: boolean; maxRetries?: number; }): AgentTool; export declare function createTool(config: { name: string; description: string; inputSchema: TSchema; execute: (input: z.infer, context: AgentToolContext) => Promise; lifecycle?: AgentTool, TOutput>["lifecycle"]; timeoutMs?: number; retryable?: boolean; maxRetries?: number; }): AgentTool, TOutput>;