export interface ToolSchema { type: 'object'; properties: { [key: string]: { type: string; description?: string; }; }; required?: string[]; additionalProperties?: boolean; [key: string]: any; } export declare abstract class BaseTool { abstract readonly name: string; abstract readonly description: string; abstract readonly parameters: ToolSchema; abstract _run(input: any): Promise; run(input: any): Promise; }