import { type McpServerFactory } from "@modelcontextprotocol/server"; export interface StartServerOptions { outputDir?: string; enabledProviders?: string[]; name?: string; version?: string; /** Shared HMAC secret used to verify OTPs for paid endpoints. */ paygateSecret?: string; } /** * Build the endpoint registry once and return a factory that mints a * configured `Server` per serving unit, which is what `serveStdio` wants: it * pins one instance for the connection after the opening exchange settles the * protocol era. * * This is the seam the in-process round-trip test drives — it pairs the * factory with `serveStdio`'s `transport` option so the test exercises the * same era-aware path production uses. Connecting a bare `Server` to a * transport would serve the 2025 era instead (see the note on `startServer`). * * Exported from `server.ts` but deliberately not re-exported from `index.ts`: * the public surface stays `startServer`/`StartServerOptions`. */ export declare function createServer(opts?: StartServerOptions): Promise<{ factory: McpServerFactory; endpointCount: number; }>; /** * Serve MCP over stdio on protocol revision 2026-07-28. * * `serveStdio` — not `server.connect(new StdioServerTransport())` — is what * puts the connection on the modern era: it owns the opening exchange, answers * `server/discover`, and runs the era-aware encode seam that stamps * `resultType` and the configured cache fields. A hand-wired `Server` + * transport keeps answering the 2025-era `initialize` handshake instead. * * `legacy: "reject"` is the operator's no-backward-compatibility decision made * explicit: a pre-2026-07-28 opening is answered with the unsupported-version * error naming `2026-07-28` rather than being served on the old era. */ export declare function startServer(opts?: StartServerOptions): Promise; //# sourceMappingURL=server.d.ts.map