/**
 * MCP identity proxy: stdio upstream, HTTP downstream.
 *
 * Bridges stdio-only harnesses (Cursor, Claude Code, Codex) to Neotoma's
 * HTTP `/mcp` endpoint with clientInfo injection, optional AAuth signing,
 * Mcp-Session-Id relay, and SSE fan-out.
 *
 * TypeScript port of the battle-tested Python proxy from ateles. Reuses
 * Neotoma's existing deps (`@modelcontextprotocol/sdk`, `jose`,
 * `@hellocoop/httpsig`) so no new runtime dependencies are needed.
 */
import type { AAuthSignerConfig } from "./aauth_client_signer.js";
export declare const DEFAULT_CLIENT_NAME = "neotoma-mcp-proxy";
export declare const DEFAULT_DOWNSTREAM_URL = "http://localhost:3080/mcp";
export interface ProxyConfig {
    downstreamUrl: string;
    clientName: string;
    clientVersion: string;
    agentLabel?: string;
    bearerToken?: string;
    connectionId?: string;
    sessionPreflight: boolean;
    sessionPreflightBase?: string;
    failClosed: boolean;
    logFile?: string;
    extraHeaders: Record<string, string>;
    aauthEnabled: boolean;
    aauthSigner?: AAuthSignerConfig;
    autostart: boolean;
}
/** Exported for unit tests — matches `src/actions.ts` Streamable HTTP 503 copy. */
export declare function isRecoverableMcpSessionLostError(status: number, bodyText: string): boolean;
export declare function formatDownstreamErrorMessage(status: number, detail: string): string;
export declare function runProxy(config: ProxyConfig): Promise<void>;
//# sourceMappingURL=mcp_stdio_proxy.d.ts.map