import { Action, ActionContext, ActionSchema, StandardTool, GenericToolSchema } from '../types/tool';
export declare class Tool<TInput = any, TOutput = any> implements Action<TInput, TOutput>, StandardTool {
    name: string;
    schema: ActionSchema<TInput, TOutput>;
    code: string;
    description: string;
    constructor(name: string, schema: ActionSchema<TInput, TOutput>, code: string, description: string);
    execute(params: TInput, context: ActionContext): Promise<TOutput>;
    getSchema(): GenericToolSchema;
    validate(args: Record<string, any>): boolean;
}
