import type { IncomingMessage, ServerResponse } from 'node:http'; import { type Server as HttpServer } from 'node:http'; import type { MCPServer } from './MCPServer.js'; import type { StreamableHttpConfig } from './TransportConfig.js'; interface RuntimeDependencies { createAppServer: () => Promise; createHttpServer?: (handler: (req: IncomingMessage, res: ServerResponse) => void) => HttpServer; } export declare class StreamableHttpRuntime { private readonly config; private readonly dependencies; private readonly mcpHandler; private readonly nodeHandler; private httpServer?; private isStopping; private preloadedAppServer?; private runtimeLogger?; constructor(config: StreamableHttpConfig, dependencies: RuntimeDependencies); start(): Promise; stop(): Promise; getAddress(): { host: string; port: number; path: string; }; logInfo(message: string): void; handleNodeRequest(req: IncomingMessage, res: ServerResponse): Promise; private takeAppServer; private reportError; private isPathMatch; private validateHostHeader; private validateOriginHeader; private normalizeHostHeader; private writePlainResponse; private writeJsonRpcError; } export {}; //# sourceMappingURL=StreamableHttpRuntime.d.ts.map