import { z } from "zod"; import { CallbackManagerForToolRun, Callbacks } from "../callbacks/manager.js"; import { BaseLangChain, BaseLangChainParams } from "../base_language/index.js"; export interface ToolParams extends BaseLangChainParams { } export declare abstract class StructuredTool = z.ZodObject> extends BaseLangChain { abstract schema: T | z.ZodEffects; constructor(fields?: ToolParams); protected abstract _call(arg: z.output, runManager?: CallbackManagerForToolRun): Promise; call(arg: (z.output extends string ? string : never) | z.input, callbacks?: Callbacks): Promise; abstract name: string; abstract description: string; returnDirect: boolean; } export declare abstract class Tool extends StructuredTool { schema: z.ZodEffects; }, "strip", z.ZodTypeAny, { input?: string | undefined; }, { input?: string | undefined; }>, string | undefined, { input?: string | undefined; }>; constructor(verbose?: boolean, callbacks?: Callbacks); call(arg: string | undefined | z.input, callbacks?: Callbacks): Promise; }