import type { JSONSchemaType } from "ajv"; import type { BaseTool, JSONValue, ToolMetadata } from "../types.js"; export declare class FunctionTool> implements BaseTool { private readonly _fn; private readonly _metadata; constructor(_fn: (input: T) => R, _metadata: ToolMetadata>); static from(fn: (input: T) => JSONValue | Promise, schema: ToolMetadata>): FunctionTool>; get metadata(): BaseTool["metadata"]; call(input: T): R; }