import type { Options } from "../BaseConversation.js"; import type { BaseConnection } from "../utils/BaseConnection.js"; import type { InputController } from "../InputController.js"; import type { OutputController } from "../OutputController.js"; import type { PlaybackEventTarget } from "../OutputController.js"; export type VoiceSessionSetupResult = { connection: BaseConnection; input: InputController; output: OutputController; playbackEventTarget: PlaybackEventTarget | null; detach: () => Promise; }; export type VoiceSessionSetupStrategy = (options: Options) => Promise; /** * The active session setup strategy. * Defaults to undefined — set by platform-specific entrypoints on import. */ export declare let setupStrategy: VoiceSessionSetupStrategy | undefined; /** * Override the voice session setup strategy. * Called by platform-specific entrypoints to inject their own setup handling. */ export declare function setSetupStrategy(strategy: VoiceSessionSetupStrategy): void; /** * Sets up a voice session for a WebRTC connection. * Platform-agnostic: extracts the input/output controllers that * WebRTCConnection already provides via LiveKit. */ export declare function setupWebRTCSession(connection: BaseConnection): VoiceSessionSetupResult; //# sourceMappingURL=VoiceSessionSetup.d.ts.map