/**
 * Per-call context from LiveKit room metadata.
 *
 * The manager (e.g. a Lighthouse `/start` endpoint) pre-creates the room with
 * `base64(JSON({ authToken, mcpContext }))` metadata, built from the caller's
 * session. The worker reads it on join — nothing per-call comes from worker env.
 * Returns the MCP `x-auth-token` and the base64(JSON) `x-context` the server
 * expects.
 *
 * The metadata is untrusted input, so it is decoded with a zod schema rather
 * than a trusted `JSON.parse` cast.
 *
 * See docs/features/livekit-voice-agent.md.
 */
import type { LiveKitRoomCallContext } from "../../types/index.js";
/**
 * Decode `{ authToken, mcpContext }` from a room's base64(JSON) metadata.
 *
 * `authToken` may be empty (demo/guest, where the MCP server gates on the
 * context's `demoMode`); `xContext` is the re-encoded base64(JSON) of
 * `mcpContext`, or `""` when no context was supplied or the metadata is invalid.
 */
export declare function readCallContextFromRoom(roomMetadata: string | undefined): LiveKitRoomCallContext;
