import type { Server } from 'node:http'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; import express, { type Response } from 'express'; import type { McpTransport, WalletMode } from './types.js'; export type McpServerFactory = () => Promise; export type SseServerTransportFactory = (endpoint: string, response: Response) => SSEServerTransport; export type SseListenFactory = (app: express.Application, port: number, host: string) => Server; export declare const DEFAULT_MAX_SSE_SESSIONS = 100; export interface HttpSseTransportOptions { port: number; host: string; path: string; walletMode?: WalletMode; maxSessions?: number; } export interface HttpSseTransportDependencies { serverFactory?: McpServerFactory; transportFactory?: SseServerTransportFactory; listenFactory?: SseListenFactory; } export declare class HttpSseTransport implements McpTransport { readonly mode: "http-sse"; private readonly app; private httpServer; private readonly connections; private readonly sockets; private state; private startPromise; private stopPromise; private rejectStartup; private cleanupStartupListeners; private runtimeErrorHandler; private connectionHandler; private activeSessionSlots; private readonly port; private readonly host; private readonly path; private readonly walletMode; private readonly serverFactory; private readonly transportFactory; private readonly listenFactory; private readonly maxSessions; constructor(options: HttpSseTransportOptions, dependencies?: HttpSseTransportDependencies); private setupMiddleware; private setupRoutes; private closeDetachedSession; private closeSession; getListeningPort(): number | undefined; start(_server?: McpServer): Promise; stop(): Promise; }