import { ServerMode, type ServerModeOption } from '../types.js';
/**
 * Parse an untrusted raw mode string (from CLI flag, env var, or URL param) into a {@link ServerModeOption}.
 *
 * Accepts:
 * - `'default'` / `'apps'` — canonical values
 * - `'true'` / `'on'` / `'false'` / `'off'` — CLI shorthand
 * - `'auto'` — resolve from client capabilities (default for missing/unknown input)
 * - `'openai'` — deprecated alias for `'apps'` (pre-MCP-Apps naming); silently normalized
 *
 * Missing or unrecognized input returns `'auto'`, so a typo in an env var becomes
 * capability-driven resolution instead of silently forcing default mode.
 */
export declare function parseServerMode(rawMode: string | null | undefined): ServerModeOption;
/**
 * Resolve a {@link ServerModeOption} to a concrete {@link ServerMode}.
 * Concrete modes are returned as-is. `'auto'` resolves to {@link ServerMode.APPS}
 * when the client advertises MCP Apps UI support, {@link ServerMode.DEFAULT} otherwise.
 */
export declare function resolveServerMode(option: ServerModeOption, clientSupportsUi: boolean): ServerMode;
//# sourceMappingURL=server_mode.d.ts.map