export interface MicrophoneRequest { deviceId: string | undefined; } export declare function isSameMicrophoneRequest(request: MicrophoneRequest | null, deviceId: string | undefined): boolean; export type MicrophoneAcquireResult = { status: "ready"; stream: MediaStream; source: "selected" | "fallback"; } | { status: "failed"; primaryError: unknown; fallbackError: unknown; } | { status: "stale"; }; /** * One selected-device attempt plus its fallback, tied to one request identity. * A superseded request may still settle, but it may not publish or start a fallback. */ export declare function acquireMicrophoneForRequest(request: MicrophoneRequest, currentRequest: () => MicrophoneRequest | null, getMicrophone: (deviceId?: string) => Promise, onPrimaryFailure?: (error: unknown) => void): Promise;