/**
 * Environment resolution for the LiveKit voice agent.
 *
 * Reads LiveKit connection settings and LLM defaults from `process.env` with
 * descriptive errors for missing required values. No type assertions: presence
 * is verified with explicit string checks.
 *
 * See docs/features/livekit-voice-agent.md.
 */
import type { LiveKitServerConfig, LiveKitBrainDefaults, RealtimeVoiceConfig } from "../../types/index.js";
/**
 * Resolve LiveKit server connection settings from the environment.
 *
 * Requires `LIVEKIT_URL`, `LIVEKIT_API_KEY`, and `LIVEKIT_API_SECRET`. Works
 * identically for LiveKit Cloud, a self-hosted server, or `livekit-server --dev`
 * — only the values differ.
 */
export declare function resolveLiveKitServerConfig(): LiveKitServerConfig;
/**
 * Resolve the LLM provider/model defaults for the brain.
 *
 * Defaults to Bedrock / Claude; overridable via `VOICE_LLM_PROVIDER` and
 * `VOICE_LLM_MODEL`.
 */
export declare function resolveBrainDefaults(): LiveKitBrainDefaults;
/**
 * Resolve the realtime (Gemini Live speech-to-speech) voice configuration from
 * the environment.
 *
 * Every value has a safe default so a worker can run with no realtime-specific
 * env at all. Vertex `project` is resolved from `VERTEX_PROJECT`, then the
 * service-account project (`GOOGLE_AUTH_BREEZE_PROJECT_ID`), then
 * `GOOGLE_CLOUD_PROJECT_ID`. The MCP URL is `VOICE_MCP_URL` if set, otherwise
 * `${LIGHTHOUSE_URL}/ai/mcp/v2`.
 */
export declare function resolveRealtimeVoiceConfig(): RealtimeVoiceConfig;
/**
 * Resolve the semantic end-of-utterance (EOU) turn-detection settings.
 *
 * Opt-in via `LIVEKIT_EOU_TURN_DETECTION` (`1`/`true`/`english`/`en`/`on`/`yes`).
 * When enabled, the English `@livekit/agents-plugin-livekit` EOU model decides
 * whether the user's turn is truly over, layered on top of VAD silence — so
 * natural mid-sentence pauses don't split one utterance. English-only; the
 * model adds ~200MB RAM per worker and ~10ms per turn-end.
 *
 * `LIVEKIT_EOU_UNLIKELY_THRESHOLD` optionally overrides the model's confidence
 * threshold (lower = end the turn more eagerly).
 */
export declare function resolveEouTurnDetection(): {
    enabled: boolean;
    unlikelyThreshold: number | undefined;
};
