import { AmplitudeRecorderService } from './amplitude-recorder.service'; import { MediaRecorderConfig, MultimediaRecorder } from './media-recorder'; import { NotificationService } from '../notification.service'; import { ChatClientService } from '../chat-client.service'; import { TranscoderService } from './transcoder.service'; import { AudioRecording, MediaRecording } from '../types'; import * as i0 from "@angular/core"; /** * The `AudioRecorderService` can record an audio file, the SDK uses this to record a voice message */ export declare class AudioRecorderService extends MultimediaRecorder> { private amplitudeRecorder; /** * Due to browser restrictions the following config is used: * - In Safari we record in audio/mp4 * - For all other browsers we use audio/webm (which is then transcoded to wav) */ config: MediaRecorderConfig; constructor(notificationService: NotificationService, chatService: ChatClientService, transcoder: TranscoderService, amplitudeRecorder: AmplitudeRecorderService); protected enrichWithExtraData(): { waveform_data: number[]; }; /** * Start audio recording */ start(): Promise; /** * Pause audio recording, it can be restarted using `resume` */ pause(): void; /** * Resume a previously paused recording */ resume(): void; /** * Stop the recording and free up used resources * @param options * @param options.cancel if this is `true` no recording will be created, but resources will be freed * @returns the recording */ stop(options?: { cancel: boolean; }): Promise>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }