import { Subject } from "rxjs";
import { Progress } from "../models/generic.model";
import { Mediainfo } from "../models/mediainfo.model";
export declare const FFmpeg: any;
export declare const MediaInfo: any;
export declare class FfmpegService extends EventTarget {
    private static instance;
    ffmpeg: any;
    mediainfo: any;
    isReady: boolean;
    progress: Subject<Progress>;
    ready: Subject<void>;
    static getInstance(): FfmpegService;
    initializeFramo: () => Promise<void>;
    initializeFfmpeg: () => Promise<void>;
    initializeMediaInfo: () => Promise<void>;
    fetchFile: (filename: string, file: File | Blob | ArrayBuffer | string) => Promise<Blob>;
    fetchFiles: (files: (File | Blob | ArrayBuffer | string)[], filenames: string[]) => Promise<Blob>[];
    initializeProgressForwarding(): void;
    emitReadyState: () => void;
    getMediaInfo: (fileBlob: Blob) => Promise<Mediainfo>;
    getMediaInfos: (fileBlobs: Blob[]) => Promise<Mediainfo>[];
}
