import { BaseCache } from '../../cache/base.js'; import * as promise_based_task from 'promise-based-task'; import { BaseToolRunOptions, BaseToolOptions, JSONToolOutput, Tool, ToolEmitter, ToolEvents, ToolInput } from '../../tools/base.js'; import { GetRunContext } from '../../context.js'; import { RunnableConfig } from '@langchain/core/runnables'; import * as LCTools from '@langchain/core/tools'; import { E as Emitter } from '../../emitter-l0W9gC1A.js'; import '../../internals/serializable.js'; import '../../internals/types.js'; import '../../internals/helpers/guards.js'; import 'ajv'; import '../../errors.js'; import '../../internals/helpers/schema.js'; import 'zod'; import 'zod-to-json-schema'; import '../../internals/helpers/promise.js'; type LangChainToolRunOptions = RunnableConfig & BaseToolRunOptions; type LangChainToolOptions = BaseToolOptions & { outputClass?: typeof JSONToolOutput; }; declare class LangChainTool extends Tool, LangChainToolOptions, LangChainToolRunOptions> { name: string; description: string; protected readonly tool: T; static serializedSchemaKey: "_internalJsonSchema"; readonly emitter: ToolEmitter, JSONToolOutput>; constructor({ tool, ...options }: LangChainToolOptions & { tool: T; }); inputSchema(): T["schema"]; protected _run(arg: ToolInput, options: Partial, run: GetRunContext): Promise>; createSnapshot(): { tool: T; name: string; description: string; options: LangChainToolOptions; cache: BaseCache, any>>; emitter: Emitter; }; loadSnapshot(snapshot: ReturnType): void; } export { LangChainTool, type LangChainToolOptions, type LangChainToolRunOptions };