import NativeEvents from '../../utils/NativeEvents'; import type { UnsubscribeFunction } from '../conference/models'; import type { AudioPreviewStatusChangedEventType } from './events'; import type { AudioPreviewStatus, AudioCaptureModeOptions } from './models'; /** * The AudioPreview model allows the local participant to test different capture modes and voice fonts before a conference. The model is supported only in SDK 3.10 and later. */ export declare class AudioPreview { /** @internal */ _audioPreview: any; /** @internal */ _nativeEvents: NativeEvents; /** * Gets the recording status. */ status(): Promise; /** * Gets an audio capture mode for the audio preview. */ getCaptureMode(): Promise; /** * Sets an audio capture mode for the audio preview. * @param captureMode */ setCaptureMode(captureMode: AudioCaptureModeOptions): Promise; /** * Plays back the recorded audio sample. To test how your audio sounds while using different capture modes and voice fonts, set the captureMode to a preferred setting before using the method. * @param loop A boolean that indicates wether the SDK should play the recorded audio in a loop. */ play(loop: boolean): Promise; /** * Starts recording an audio sample if no recording is in progress. * @param duration - The preferred recording duration, in seconds. */ record(duration: number): Promise; /** * Stops recording or playing an audio sample. */ stop(): Promise; /** * Releases the internal memory and restarts the audio session configuration. */ release(): Promise; onStatusChanged(handler: (data: AudioPreviewStatusChangedEventType) => void): UnsubscribeFunction; } declare const _default: AudioPreview; export default _default;