import { Tool } from "@modelcontextprotocol/sdk/types.js"; import type { ToolDefinition, EnrichedModuleStatus } from "./registry-types.js"; import type { ModuleCategory, ModuleMeta } from "../profiles.js"; /** * ToolRegistry — encapsulates the previously module-level mutable state of * the tool registry (toolMap / aliasMap / frozen flag / listeners / …). * * Behaviour is identical to the legacy module-level implementation; the * top-level functions in `registry.ts` now delegate here via the default * RuntimeContext. */ export declare class ToolRegistry { private readonly toolMap; private readonly aliasMap; private readonly aliasDefaultsMap; private frozen; private readonly hiddenTools; private readonly manuallyDisabled; private readonly lazyModules; private readonly moduleMetadataMap; private notifyToolListChanged; setToolListChangedNotifier(notifier: () => void): void; freezeRegistry(): void; registerTools(defs: ToolDefinition[]): void; registerToolsHidden(defs: ToolDefinition[]): void; unhideTools(names: string[]): void; hideTools(names: string[]): void; registerLazyModule(name: string, loader: () => void): void; loadModule(name: string): boolean; registerAllModuleMetadata(modules: readonly ModuleMeta[]): void; getModuleMetadata(name: string): ModuleMeta | undefined; unhideByCategory(category: ModuleCategory): string[]; hideByCategory(category: ModuleCategory, alwaysVisible: readonly string[]): string[]; getModuleStatus(): EnrichedModuleStatus[]; reset(): void; registerAliases(aliases: Record): void; registerAliasesWithDefaults(aliases: Record; }>): void; getRegisteredToolNames(): Set; getTools(): Tool[]; private tryAutoEnable; resolveToolCall(name: string, args: Record): { handler: ToolDefinition["handler"]; args: Record; autoEnabled: string | null; } | undefined; } //# sourceMappingURL=tool-registry.d.ts.map