import { JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js"; import { Server as SDKServer } from "@modelcontextprotocol/sdk/server/index.js"; import { AbstractTransport } from "../base.js"; import { SSETransportConfig } from "./types.js"; /** * Factory function type for creating configured SDK Server instances. * Each SSE session gets its own SDK Server with all handlers registered. */ export type SDKServerFactory = () => SDKServer; export declare class SSEServerTransport extends AbstractTransport { readonly type = "sse"; private _server?; private _sessions; private _config; private _oauthMetadata?; private _corsHeaders; private _corsHeadersWithMaxAge; private _serverFactory?; private _healthPath; constructor(config?: SSETransportConfig); /** * Set the factory function used to create a new SDK Server for each SSE session. * Must be called before start(). */ setServerFactory(factory: SDKServerFactory): void; private getCorsHeaders; start(): Promise; private handleRequest; private setupSSEConnection; /** * Broadcast a message to all connected sessions. * Used for server-initiated notifications and sampling responses. */ send(message: JSONRPCMessage): Promise; close(): Promise; isRunning(): boolean; }