import execa from 'execa';
import { VideoResolution } from '../../../shared/models';
export declare class YoutubeDLCLI {
    static safeGet(): Promise<YoutubeDLCLI>;
    static updateYoutubeDLBinary(): Promise<void>;
    static getYoutubeDLVideoFormat(enabledResolutions: VideoResolution[]): string;
    private constructor();
    download(options: {
        url: string;
        format: string;
        output: string;
        processOptions: execa.NodeOptions;
        timeout?: number;
        additionalYoutubeDLArgs?: string[];
    }): Promise<string[]>;
    getInfo(options: {
        url: string;
        format: string;
        processOptions: execa.NodeOptions;
        additionalYoutubeDLArgs?: string[];
    }): Promise<any>;
    getSubs(options: {
        url: string;
        format: 'vtt';
        processOptions: execa.NodeOptions;
    }): Promise<string[]>;
    private run;
    private wrapWithProxyOptions;
    private wrapWithIPOptions;
    private wrapWithFFmpegOptions;
    private parseInfo;
}
//# sourceMappingURL=youtube-dl-cli.d.ts.map