import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { AudioRecorderService } from './audio-recorder.service';
import { MediaRecordingState } from './media-recorder';
import { AudioRecording } from '../types';
import { VoiceRecorderService } from '../message-input/voice-recorder.service';
import * as i0 from "@angular/core";
/**
 * The `VoiceRecorderComponent` makes it possible to record audio, and then upload it as a voice recording attachment
 */
export declare class VoiceRecorderComponent implements OnInit, OnDestroy, OnChanges {
    readonly recorder: AudioRecorderService;
    voiceRecorderService?: VoiceRecorderService;
    recordState: MediaRecordingState;
    isLoading: boolean;
    recording?: AudioRecording;
    readonly MediaRecordingState: typeof MediaRecordingState;
    private subscriptions;
    private isVisibleSubscription?;
    constructor(recorder: AudioRecorderService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    cancel(): void;
    stop(): Promise<void>;
    pause(): void;
    resume(): void;
    uploadRecording(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<VoiceRecorderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<VoiceRecorderComponent, "stream-voice-recorder", never, { "voiceRecorderService": { "alias": "voiceRecorderService"; "required": false; }; }, {}, never, never, false, never>;
}
