import type { Tool } from './tool-types.js'; export interface ToolGroup { id: string; displayName: string; tools: Tool[]; } export interface ToolRegistryOptions { onToolRegistered?: (tool: Tool, groupId?: string) => void; onToolRemoved?: (toolName: string, groupId?: string) => void; } export declare class ToolRegistry { private tools; private groups; private toolToGroup; private opts; constructor(opts?: ToolRegistryOptions); register(tool: Tool, groupId?: string): void; registerGroup(group: ToolGroup): void; remove(toolName: string): boolean; removeGroup(groupId: string): void; get(name: string): Tool | undefined; has(name: string): boolean; getAll(): Tool[]; getNames(): string[]; getGroups(): ToolGroup[]; getGroupForTool(toolName: string): string | undefined; get size(): number; buildToolDeclarations(): Array<{ name: string; description: string; input_schema: { type: 'object'; properties: Record; required?: string[]; }; }>; } //# sourceMappingURL=tool-registry.d.ts.map