import { z } from 'zod'; import { RunnableConfig } from '@langchain/core/runnables'; import { StructuredTool, ToolParams } from '@langchain/core/tools'; import { CallbackManagerForToolRun, Callbacks } from '@langchain/core/callbacks/manager'; import { ICommonObject } from '../../../src/Interface'; export interface BaseDynamicToolInput extends ToolParams { name: string; description: string; code: string; returnDirect?: boolean; } export interface DynamicStructuredToolInput = z.ZodObject> extends BaseDynamicToolInput { func?: (input: z.infer, runManager?: CallbackManagerForToolRun) => Promise; schema: T; } export declare class DynamicStructuredTool = z.ZodObject> extends StructuredTool { name: string; description: string; code: string; func: DynamicStructuredToolInput['func']; schema: T; private variables; private flowObj; constructor(fields: DynamicStructuredToolInput); call(arg: z.output, configArg?: RunnableConfig | Callbacks, tags?: string[], flowConfig?: { sessionId?: string; chatId?: string; input?: string; state?: ICommonObject; }): Promise; protected _call(arg: z.output, _?: CallbackManagerForToolRun, flowConfig?: { sessionId?: string; chatId?: string; input?: string; state?: ICommonObject; }): Promise; setVariables(variables: any[]): void; setFlowObject(flow: any): void; }