import type { Root } from '@modelcontextprotocol/sdk/types.js'; import { McpTransportType } from '@nest-mcp/common'; import type { McpModuleOptions, TransportOptions } from '@nest-mcp/common'; import { McpPromptBuilder, McpRegistryService, McpResourceBuilder, McpToolBuilder } from '@nest-mcp/server'; import { type DynamicModule, type OnApplicationBootstrap } from '@nestjs/common'; import { HealthCheckerService } from './upstream/health-checker.service'; import { UpstreamManagerService } from './upstream/upstream-manager.service'; import type { UpstreamConfig } from './upstream/upstream.interface'; import { PromptAggregatorService } from './routing/prompt-aggregator.service'; import { ResourceAggregatorService } from './routing/resource-aggregator.service'; import { ResourceTemplateAggregatorService } from './routing/resource-template-aggregator.service'; import type { RoutingConfig } from './routing/route-config.interface'; import { RouterService } from './routing/router.service'; import { TaskAggregatorService } from './task/task-aggregator.service'; import { PolicyEngineService } from './policies/policy-engine.service'; import type { PoliciesConfig } from './policies/policy.interface'; import type { CacheConfig } from './cache/cache.interface'; import { ResponseCacheService } from './cache/response-cache.service'; import { GatewayService } from './gateway.service'; export interface McpGatewayOptions { server: McpModuleOptions; upstreams: UpstreamConfig[]; routing?: RoutingConfig; policies?: PoliciesConfig; cache?: CacheConfig; /** Roots advertised to upstream servers when they request roots/list. */ roots?: Root[]; } export interface McpGatewayAsyncOptions { imports?: any[]; server: { transport: McpTransportType | McpTransportType[]; transportOptions?: TransportOptions; }; useFactory: (...args: any[]) => McpGatewayOptions | Promise; inject?: any[]; } export declare class McpGatewayModule implements OnApplicationBootstrap { private readonly options; private readonly gatewayService; private readonly upstreamManager; private readonly healthChecker; private readonly router; private readonly policyEngine; private readonly responseCache; private readonly toolBuilder; private readonly resourceBuilder; private readonly promptBuilder; private readonly resourceAggregator; private readonly promptAggregator; private readonly resourceTemplateAggregator; private readonly registry; private readonly taskAggregator; private static readonly logger; constructor(options: McpGatewayOptions, gatewayService: GatewayService, upstreamManager: UpstreamManagerService, healthChecker: HealthCheckerService, router: RouterService, policyEngine: PolicyEngineService, responseCache: ResponseCacheService, toolBuilder: McpToolBuilder, resourceBuilder: McpResourceBuilder, promptBuilder: McpPromptBuilder, resourceAggregator: ResourceAggregatorService, promptAggregator: PromptAggregatorService, resourceTemplateAggregator: ResourceTemplateAggregatorService, registry: McpRegistryService, taskAggregator: TaskAggregatorService); static forRoot(options: McpGatewayOptions): DynamicModule; static forRootAsync(options: McpGatewayAsyncOptions): DynamicModule; onApplicationBootstrap(): Promise; private registerUpstreamTools; private registerUpstreamResources; private registerUpstreamPrompts; private registerUpstreamResourceTemplates; private registerCompletionHandlers; } //# sourceMappingURL=mcp-gateway.module.d.ts.map