import { AfterViewInit, ChangeDetectorRef, NgZone, OnChanges, SimpleChanges } from '@angular/core';
import { Attachment } from 'stream-chat';
import { DefaultStreamChatGenerics } from '../types';
import * as i0 from "@angular/core";
/**
 * This component can be used to display an attachment with type `voiceRecording`. The component allows playing the attachment inside the browser.
 */
export declare class VoiceRecordingComponent implements OnChanges, AfterViewInit {
    private ngZone;
    private cdRef;
    /**
     * The voice recording attachment
     */
    attachment?: Attachment<DefaultStreamChatGenerics>;
    fileSize: string;
    secondsElapsedFormatted: string;
    durationFormatted: string;
    secondsElapsed: number;
    isError: boolean;
    private audioElement?;
    constructor(ngZone: NgZone, cdRef: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    togglePlay(): Promise<void>;
    setPlaybackRate(): void;
    private getFormattedDuration;
    private getFileSize;
    static ɵfac: i0.ɵɵFactoryDeclaration<VoiceRecordingComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<VoiceRecordingComponent, "stream-voice-recording", never, { "attachment": { "alias": "attachment"; "required": false; }; }, {}, never, never, false, never>;
}
