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 "../utils/output.js"; export type VoiceSessionSetupResult = { connection: BaseConnection; input: InputController; output: OutputController; playbackEventTarget: PlaybackEventTarget | null; detach: () => void; }; export type VoiceSessionSetupStrategy = (options: Options) => Promise; /** * Sets up input and output controllers for an existing connection. * Shared helper used by platform-specific setup strategies. */ export declare function setupInputOutput(options: Options, connection: BaseConnection): Promise>; /** * Web platform session setup strategy. * Creates a connection and sets up input/output based on the connection type. */ export declare function webSessionSetup(options: Options): Promise; /** * The active session setup strategy. * Defaults to web platform strategy. * Can be overridden by platform-specific entrypoints (e.g. React Native). */ export declare let setupStrategy: VoiceSessionSetupStrategy; /** * Override the voice session setup strategy. * Called by platform-specific entrypoints to inject their own setup handling. */ export declare function setSetupStrategy(strategy: VoiceSessionSetupStrategy): void; //# sourceMappingURL=VoiceSessionSetup.d.ts.map