import type { McpToolMetadata } from './mcp-tool-metadata'; import type { McpResourceMetadata } from './mcp-resource-metadata'; import type { McpPromptMetadata } from './mcp-prompt-metadata'; import type { McpAuthInfo } from './mcp-auth-info'; import type { McpToolContext } from './mcp-tool-context'; import type { McpToolInterceptor } from './mcp-tool-interceptor'; import type { McpCanActivate } from './mcp-can-activate'; import type { McpAuthStrategy } from './mcp-auth-strategy'; import type { McpGuardMetadata } from './mcp-guard-metadata'; import type { McpToolResult } from './mcp-tool-result'; import type { McpLogLevel } from './mcp-log-level'; import type { McpRegistrationChangeListener } from './mcp-registration-change-listener'; import type { McpResourceUpdateListener } from './mcp-resource-update-listener'; interface ToolEntry { metadata: McpToolMetadata; handler: (params: any, context?: McpToolContext) => Promise; guards?: McpGuardMetadata[]; } interface ResourceEntry { metadata: McpResourceMetadata; handler: (...args: any[]) => Promise; } interface PromptEntry { metadata: McpPromptMetadata; handler: (...args: any[]) => Promise; } export declare class McpToolRegistry { private readonly logger; private readonly tools; private readonly resources; private readonly prompts; private readonly interceptors; private readonly changeListeners; private readonly resourceSubscriptions; private readonly resourceUpdateListeners; private toolEnabledDelegate?; private guardResolver?; private providerResolver?; private authStrategy?; onRegistrationChange(listener: McpRegistrationChangeListener): () => void; private notifyChange; subscribeResource(uri: string, sessionId: string): void; unsubscribeResource(uri: string, sessionId: string): void; getResourceSubscribers(uri: string): ReadonlySet; notifyResourceUpdated(uri: string): void; onResourceUpdate(listener: McpResourceUpdateListener): () => void; removeSessionSubscriptions(sessionId: string): void; registerInterceptor(interceptor: McpToolInterceptor): void; setGuardResolver(resolver: (guardClass: new (...args: any[]) => McpCanActivate) => McpCanActivate): void; setAuthStrategy(strategy: McpAuthStrategy): void; setProviderResolver(resolver: (cls: new (...args: any[]) => any) => any): void; resolveProvider(cls: new (...args: any[]) => T): T; setToolEnabledDelegate(delegate: (name: string, enabled: boolean) => void): void; setToolEnabled(name: string, enabled: boolean): void; registerTool(metadata: McpToolMetadata, handler: (params: any) => Promise, guards?: McpGuardMetadata[]): void; registerResource(metadata: McpResourceMetadata, handler: (...args: any[]) => Promise): void; registerPrompt(metadata: McpPromptMetadata, handler: (...args: any[]) => Promise): void; getTools(): ReadonlyArray; getResources(): ReadonlyArray; getPrompts(): ReadonlyArray; getTool(name: string): ToolEntry | undefined; hasTool(name: string): boolean; getToolGuards(name: string): ReadonlyArray; executeToolRaw(name: string, params: Record, authInfo?: McpAuthInfo, extra?: { sessionId?: string; signal?: AbortSignal; sendProgress?: (progress: number, total?: number, message?: string) => Promise; sendLog?: (level: McpLogLevel, data: unknown, logger?: string) => Promise; createMessage?: (params: Record) => Promise; elicitInput?: (params: Record) => Promise; listRoots?: () => Promise; }): Promise; executeToolWrapped(name: string, params: Record, authInfo?: McpAuthInfo, extra?: { sessionId?: string; signal?: AbortSignal; sendProgress?: (progress: number, total?: number, message?: string) => Promise; sendLog?: (level: McpLogLevel, data: unknown, logger?: string) => Promise; createMessage?: (params: Record) => Promise; elicitInput?: (params: Record) => Promise; listRoots?: () => Promise; }): Promise; getToolJsonSchemas(): Array<{ name: string; description: string; jsonSchema: Record; }>; } export {}; //# sourceMappingURL=mcp-tool-registry.d.ts.map