import { ExtractFramesRequestConfig, ExtractFramesParametersResponse } from "../models/frame-extractor.model";
import { FramoImageExtension } from "../models/generic.model";
import { FfmpegService } from "./ffmpeg.service";
export declare class FrameExtractorService {
    ffmpegService: FfmpegService;
    private static instance;
    static getInstance(): FrameExtractorService;
    extractFrames: (config: ExtractFramesRequestConfig) => Promise<Blob[]>;
    getParameters(config: ExtractFramesRequestConfig, fileBlob: Blob): Promise<ExtractFramesParametersResponse>;
    getTimeBasedParameters(config: ExtractFramesRequestConfig): ExtractFramesParametersResponse;
    getSingleTimeBasedParameter(time: string, filename: string): string[];
    getOutputMappingParameter(index: number, outputFilename: string, scale: string): string[];
    getIntervalBasedParameters(config: ExtractFramesRequestConfig, fileBlob: Blob): Promise<ExtractFramesParametersResponse>;
    getOutputFilenamesForIntervalBasedParameters(interval: number, videoDuration: number, extension: FramoImageExtension): string[];
    getInParametersForIntervalBasedExtraction(filename: string, rate: string, scale: string): string[];
}
