import { type ElicitRequest, type ElicitResult, type McpSamplingParams, type McpSamplingResult, type PromptMessage, type ResourceContent, type ToolContent } from '@nest-mcp/common'; import { ResponseCacheService } from './cache/response-cache.service'; import { PolicyEngineService } from './policies/policy-engine.service'; import type { PolicyContext } from './policies/policy.interface'; import { PromptAggregatorService } from './routing/prompt-aggregator.service'; import type { AggregatedPrompt } from './routing/prompt-aggregator.service'; import { ResourceAggregatorService } from './routing/resource-aggregator.service'; import type { AggregatedResource } from './routing/resource-aggregator.service'; import { ResourceTemplateAggregatorService } from './routing/resource-template-aggregator.service'; import type { AggregatedResourceTemplate } from './routing/resource-template-aggregator.service'; import { RouterService } from './routing/router.service'; import { ToolAggregatorService } from './routing/tool-aggregator.service'; import type { AggregatedTool } from './routing/tool-aggregator.service'; import { RequestTransformService } from './transform/request-transform.service'; import { ResponseTransformService } from './transform/response-transform.service'; import { UpstreamManagerService } from './upstream/upstream-manager.service'; export interface GatewayCallToolResult { content: ToolContent[]; isError?: boolean; } export interface GatewayReadResourceResult { contents: ResourceContent[]; } export interface GatewayGetPromptResult { description?: string; messages: PromptMessage[]; } export interface GatewayCompleteResult { values: string[]; hasMore?: boolean; total?: number; } export declare class GatewayService { private readonly router; private readonly toolAggregator; private readonly resourceAggregator; private readonly promptAggregator; private readonly resourceTemplateAggregator; private readonly upstreamManager; private readonly policyEngine; private readonly responseCache; private readonly requestTransform; private readonly responseTransform; private readonly logger; private static readonly policyDenialHandlers; constructor(router: RouterService, toolAggregator: ToolAggregatorService, resourceAggregator: ResourceAggregatorService, promptAggregator: PromptAggregatorService, resourceTemplateAggregator: ResourceTemplateAggregatorService, upstreamManager: UpstreamManagerService, policyEngine: PolicyEngineService, responseCache: ResponseCacheService, requestTransform: RequestTransformService, responseTransform: ResponseTransformService); listTools(): Promise; getCachedTools(): AggregatedTool[]; callTool(toolName: string, args: Record, context?: PolicyContext, signal?: AbortSignal, createMessage?: (params: McpSamplingParams) => Promise, elicit?: (params: ElicitRequest, options?: { signal?: AbortSignal; }) => Promise): Promise; listResources(): Promise; getCachedResources(): AggregatedResource[]; readResource(uri: string, signal?: AbortSignal): Promise; /** * Read a resource template URI by matching against cached templates and * forwarding to the appropriate upstream, stripping any gateway-added prefix * by re-expanding with the original upstream URI template. */ readResourceTemplate(uri: string, signal?: AbortSignal): Promise; listPrompts(): Promise; getCachedPrompts(): AggregatedPrompt[]; getPrompt(name: string, args: Record, signal?: AbortSignal): Promise; listResourceTemplates(): Promise; getCachedResourceTemplates(): AggregatedResourceTemplate[]; complete(ref: { type: string; name?: string; uri?: string; }, argument: { name: string; value: string; }): Promise; private completePrompt; private completeResourceTemplate; private withTimeout; } //# sourceMappingURL=gateway.service.d.ts.map