import { MutexInterface } from 'async-mutex';
import { Job } from 'bullmq';
import { MVideo, MVideoFile, MVideoFullLight } from '../../types/models';
import { VideoResolution } from '../../../shared/models/videos';
import { VideoFileModel } from '../../models/video/video-file';
declare function optimizeOriginalVideofile(options: {
    video: MVideoFullLight;
    inputVideoFile: MVideoFile;
    job: Job;
}): Promise<{
    transcodeType: "video" | "quick-transcode";
    videoFile: MVideoFile;
}>;
declare function transcodeNewWebTorrentResolution(options: {
    video: MVideoFullLight;
    resolution: VideoResolution;
    job: Job;
}): Promise<{
    video: MVideoFullLight;
    videoFile: MVideoFile;
}>;
declare function mergeAudioVideofile(options: {
    video: MVideoFullLight;
    resolution: VideoResolution;
    job: Job;
}): Promise<{
    video: MVideoFullLight;
    videoFile: MVideoFile;
}>;
declare function generateHlsPlaylistResolutionFromTS(options: {
    video: MVideo;
    concatenatedTsFilePath: string;
    resolution: VideoResolution;
    isAAC: boolean;
    inputFileMutexReleaser: MutexInterface.Releaser;
}): Promise<{
    resolutionPlaylistPath: string;
    videoFile: VideoFileModel;
}>;
declare function generateHlsPlaylistResolution(options: {
    video: MVideo;
    videoInputPath: string;
    resolution: VideoResolution;
    copyCodecs: boolean;
    inputFileMutexReleaser: MutexInterface.Releaser;
    job?: Job;
}): Promise<{
    resolutionPlaylistPath: string;
    videoFile: VideoFileModel;
}>;
export { generateHlsPlaylistResolution, generateHlsPlaylistResolutionFromTS, optimizeOriginalVideofile, transcodeNewWebTorrentResolution, mergeAudioVideofile };
//# sourceMappingURL=transcoding.d.ts.map