import { Tool, ToolRegistration } from '../types';
/**
//  * 工具参数集合
//  */
/**
 * 工具管理服务，负责工具的注册和执行
 */
export declare class ToolService {
    private static instance;
    private tools;
    private logger;
    private constructor();
    /**
     * 获取ToolService单例
     */
    static getInstance(): ToolService;
    /**
     * 注册工具
     * @param tool 工具配置
     */
    registerTool<T = Record<string, any>, R = any>(tool: ToolRegistration<T, R>): void;
    /**
     * 批量注册工具
     * @param tools 工具配置数组
     */
    registerTools<T = Record<string, any>, R = any>(tools: ToolRegistration<T, R>[]): void;
    /**
     * 获取所有已注册工具
     */
    getAllTools(): Tool[];
    /**
     * 获取工具定义（无处理函数）
     */
    getToolDefinitions(): Omit<Tool, 'handler'>[];
    /**
     * 检查工具是否存在
     * @param name 工具名称
     */
    hasTool(name: string): boolean;
    /**
     * 执行工具
     * @param name 工具名称
     * @param args 工具参数
     */
    executeTool<T = Record<string, any>, R = any>(name: string, args: T): Promise<R>;
    /**
     * 取消注册工具
     * @param name 工具名称
     */
    unregisterTool(name: string): boolean;
}
//# sourceMappingURL=tools.d.ts.map