import { FlexibleSchema, Tool, ToolExecuteFunction } from 'ai'; import { Project } from '../../project'; export interface ILlmToolParameters { options: TOptions; project: Project; } export declare class LlmToolCompilationError extends Error { property: string; constructor(property: string); } export declare class LlmToolExecutionError extends Error { name: string; constructor(name: string, reason: string); static build(name: string, source: unknown): LlmToolExecutionError; } export declare class LlmToolCompiler { description: string; private provided; TOptions: TSchema['options']; TExecutor: (parameters: ILlmToolParameters) => ToolExecuteFunction; constructor(description: string, provided: { executor?: LlmToolCompiler['TExecutor']; options?: TSchema['options']; schema: { input?: FlexibleSchema; output?: FlexibleSchema; }; }); input>(schema: FlexibleSchema): U; output>(schema: FlexibleSchema): U; /** Provides options to tool (makes clone of this instance) */ options(payload: TSchema['options']): this; execute(executor: NonNullable['TExecutor']>): this; compile(parameters: Omit, 'options'>): Tool; static build(description: string): LlmToolCompiler<{ input: unknown; output: TOutput; options: TOptions; }>; } //# sourceMappingURL=model.d.ts.map