import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import type { McpExecutionContext, McpModuleOptions } from '@nest-mcp/common'; import type { McpRegistryService, RegisteredPrompt, RegisteredResource, RegisteredResourceTemplate, RegisteredTool } from '../discovery/registry.service'; import type { ExecutionPipelineService } from '../execution/pipeline.service'; import type { ResourceSubscriptionManager } from '../subscription/resource-subscription.manager'; /** Handle returned by SDK registration methods — used to remove items dynamically. */ export interface SdkHandle { remove(): void; } /** * Registers all tools, resources, resource templates, and prompts from the * registry onto an McpServer instance, including parameter schemas, prompt * argument metadata, and resource mimeType information. * * Also registers: * - A `notifications/cancelled` handler for server-side request cancellation * - Custom list request handlers for cursor-based pagination * * Shared across all transport implementations (streamable HTTP, SSE, stdio). */ export declare function registerHandlers(server: McpServer, registry: McpRegistryService, pipeline: ExecutionPipelineService, ctx: McpExecutionContext, options: McpModuleOptions, subscriptionManager?: ResourceSubscriptionManager): void; /** * Register a single tool on an McpServer instance. * Returns an SDK handle whose `remove()` unregisters the tool and auto-sends * `notifications/tools/list_changed` to connected clients. */ export declare function registerToolOnServer(server: McpServer, tool: RegisteredTool, pipeline: ExecutionPipelineService, ctx: McpExecutionContext): SdkHandle; /** * Register a single resource on an McpServer instance. * Returns an SDK handle whose `remove()` unregisters the resource. */ export declare function registerResourceOnServer(server: McpServer, resource: RegisteredResource, pipeline: ExecutionPipelineService, ctx: McpExecutionContext): SdkHandle; /** * Register a single resource template on an McpServer instance. * Returns an SDK handle whose `remove()` unregisters the template. */ export declare function registerResourceTemplateOnServer(server: McpServer, template: RegisteredResourceTemplate, pipeline: ExecutionPipelineService, ctx: McpExecutionContext): SdkHandle; /** * Register a single prompt on an McpServer instance. * Returns an SDK handle whose `remove()` unregisters the prompt. */ export declare function registerPromptOnServer(server: McpServer, prompt: RegisteredPrompt, pipeline: ExecutionPipelineService, ctx: McpExecutionContext): SdkHandle; //# sourceMappingURL=register-handlers.d.ts.map