export interface ToolDefinition { name: string; description: string; inputSchema: { type: 'object'; properties: Record; required?: string[]; }; handler: (args: Record) => Promise; icon?: string; } export interface ToolResult { content: Array<{ type: 'text'; text: string; }>; isError?: boolean; } declare class ToolRegistry { private tools; register(tool: ToolDefinition): void; registerAll(tools: ToolDefinition[]): void; get(name: string): ToolDefinition | undefined; getAll(): ToolDefinition[]; has(name: string): boolean; getNames(): string[]; execute(name: string, args: Record): Promise; executeForMcp(name: string, args: Record): Promise; toMcpTools(): Array<{ name: string; description: string; inputSchema: object; }>; count(): number; unregister(name: string): boolean; clear(): void; } export declare const toolRegistry: ToolRegistry; export declare function defineTool(definition: ToolDefinition): ToolDefinition; export declare function registerTool(definition: ToolDefinition): ToolDefinition; export {};