/**
 * Streamable HTTP MCP gateway — stateless per-request transport for room + discovery.
 *
 * Runs in **stateless mode**: a fresh MCP server + transport is created for
 * every request, so no session state has to survive between requests.
 *
 * This matters for deployed rooms. The previous implementation kept sessions in
 * a per-process in-memory Map keyed by `mcp-session-id`. A deployed room cold-
 * starts, idles out, and scales across replicas, so the session established at
 * `initialize` was routinely gone by the time the model actually called a tool —
 * surfacing as a bodyless "Invalid or expired MCP session" (-32000) on every
 * tool call while tool *discovery* still worked. Stateless mode removes that
 * failure class entirely: every request is self-contained.
 *
 * @module trellis/server
 */
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
export declare class StreamableMcpGateway {
    handle(req: Request, createServer: () => McpServer | Promise<McpServer>): Promise<Response>;
    close(): Promise<void>;
}
//# sourceMappingURL=streamable-mcp-gateway.d.ts.map