import minimist from 'minimist';
import { supportsHyperlink } from './hyperlinks/is-supported';
export declare const cli: () => Promise<void>;
export declare const CliInternals: {
    createOverwriteableCliOutput: (options: {
        quiet: boolean;
        cancelSignal: import("@remotion/renderer").CancelSignal | null;
        updatesDontOverwrite: boolean;
        indent: boolean;
        logLevel: "error" | "info" | "trace" | "verbose" | "warn";
    }) => import("./progress-bar").OverwriteableCliOutput;
    chalk: {
        enabled: () => boolean;
        visible: boolean;
        styles: Record<string, {
            codes: [number, number];
            name: string;
            wrap?: ((input: string, newline: boolean) => string) | undefined;
        }>;
        keys: Record<string, string[]>;
        alias?: ((name: string, col: string) => void) | undefined;
    } & {
        reset: (str: string) => string;
        bold: (str: string) => string;
        dim: (str: string) => string;
        italic: (str: string) => string;
        underline: (str: string) => string;
        inverse: (str: string) => string;
        hidden: (str: string) => string;
        strikethrough: (str: string) => string;
        black: (str: string) => string;
        red: (str: string) => string;
        green: (str: string) => string;
        yellow: (str: string) => string;
        blue: (str: string) => string;
        magenta: (str: string) => string;
        cyan: (str: string) => string;
        white: (str: string) => string;
        gray: (str: string) => string;
        bgBlack: (str: string) => string;
        bgRed: (str: string) => string;
        bgGreen: (str: string) => string;
        bgYellow: (str: string) => string;
        bgBlue: (str: string) => string;
        bgMagenta: (str: string) => string;
        bgWhite: (str: string) => string;
        blackBright: (str: string) => string;
        redBright: (str: string) => string;
        greenBright: (str: string) => string;
        yellowBright: (str: string) => string;
        blueBright: (str: string) => string;
        magentaBright: (str: string) => string;
        whiteBright: (str: string) => string;
        bgBlackBright: (str: string) => string;
        bgRedBright: (str: string) => string;
        bgGreenBright: (str: string) => string;
        bgYellowBright: (str: string) => string;
        bgBlueBright: (str: string) => string;
        bgMagentaBright: (str: string) => string;
        bgWhiteBright: (str: string) => string;
    };
    makeProgressBar: (percentage: number, noColor: boolean) => string;
    Log: {
        formatLogs: (logLevel: "error" | "info" | "trace" | "verbose" | "warn", options: import("@remotion/renderer").LogOptions & {
            tag?: string | undefined;
        }, args: [message?: any, ...optionalParams: any[]]) => string[];
        trace: (options: import("@remotion/renderer").LogOptions & {
            tag?: string | undefined;
        }, message?: any, ...optionalParams: any[]) => void | boolean;
        verbose: (options: import("@remotion/renderer").LogOptions & {
            tag?: string | undefined;
        }, message?: any, ...optionalParams: any[]) => void | boolean;
        info: (options: import("@remotion/renderer").LogOptions, message?: any, ...optionalParams: any[]) => void | boolean;
        warn: (options: import("@remotion/renderer").LogOptions, message?: any, ...optionalParams: any[]) => void | boolean;
        error: (options: import("@remotion/renderer").LogOptions & {
            tag?: string | undefined;
        }, message?: any, ...optionalParams: any[]) => void | boolean;
    };
    getCliOptions: (options: {
        isStill: boolean;
        logLevel: "error" | "info" | "trace" | "verbose" | "warn";
        indent: boolean;
    }) => {
        frameRange: import("@remotion/renderer").FrameRange | null;
        shouldOutputImageSequence: boolean;
        inputProps: Record<string, unknown>;
        envVariables: Record<string, string>;
        stillFrame: number;
        ffmpegOverride: import("@remotion/renderer").FfmpegOverrideFn;
    };
    loadConfig: (remotionRoot: string) => Promise<string | null>;
    formatBytes: (number: number, options?: (Intl.NumberFormatOptions & {
        locale: string;
        bits?: boolean | undefined;
        binary?: boolean | undefined;
        signed: boolean;
    }) | undefined) => string;
    initializeCli: (remotionRoot: string) => Promise<"error" | "info" | "trace" | "verbose" | "warn">;
    BooleanFlags: string[];
    quietFlagProvided: () => boolean;
    parsedCli: import("./parsed-cli").CommandLineOptions & {
        _: string[];
    };
    printError: (err: Error, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
    getFileSizeDownloadBar: (downloaded: number) => string;
    determineFinalStillImageFormat: ({ downloadName, outName, configuredImageFormat, isLambda, fromUi, }: {
        downloadName: string | null;
        outName: string | null;
        configuredImageFormat: "jpeg" | "pdf" | "png" | "webp" | null;
        isLambda: boolean;
        fromUi: "jpeg" | "pdf" | "png" | "webp" | null;
    }) => {
        format: "jpeg" | "pdf" | "png" | "webp";
        source: string;
    };
    minimist: typeof minimist;
    findEntryPoint: ({ args, logLevel, remotionRoot, allowDirectory, }: {
        args: (string | number)[];
        remotionRoot: string;
        logLevel: "error" | "info" | "trace" | "verbose" | "warn";
        allowDirectory: boolean;
    }) => {
        file: string | null;
        remainingArgs: (string | number)[];
        reason: "argument passed" | "argument passed - found in cwd" | "argument passed - found in root" | "common paths" | "config file" | "none found";
    };
    printCompositions: (compositions: import("remotion").VideoConfig[], logLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
    listOfRemotionPackages: string[];
    shouldUseNonOverlayingLogger: ({ logLevel, }: {
        logLevel: "error" | "info" | "trace" | "verbose" | "warn";
    }) => boolean;
    getCompositionWithDimensionOverride: ({ height, width, fps, durationInFrames, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, binariesDirectory, onBrowserDownload, chromeMode, mediaCacheSizeInBytes, }: {
        height: number | null;
        width: number | null;
        fps: number | null;
        durationInFrames: number | null;
        args: (string | number)[];
        compositionIdFromUi: string | null;
        timeoutInMilliseconds: number;
        puppeteerInstance: import("@remotion/renderer").HeadlessBrowser | undefined;
        envVariables: Record<string, string>;
        chromiumOptions: import("@remotion/renderer").ChromiumOptions;
        port: number | null;
        browserExecutable: import("@remotion/renderer").BrowserExecutable;
        serveUrlOrWebpackUrl: string;
        indent: boolean;
        logLevel: "error" | "info" | "trace" | "verbose" | "warn";
        serializedInputPropsWithCustomSchema: string;
        server: import("@remotion/renderer").RemotionServer;
        offthreadVideoCacheSizeInBytes: number | null;
        offthreadVideoThreads: number | null;
        binariesDirectory: string | null;
        onBrowserDownload: import("@remotion/renderer").OnBrowserDownload;
        chromeMode: "chrome-for-testing" | "headless-shell";
        mediaCacheSizeInBytes: number | null;
    }) => Promise<{
        compositionId: string;
        reason: string;
        config: import("remotion").VideoConfig;
        argsAfterComposition: (string | number)[];
    }>;
    defaultBrowserDownloadProgress: ({ indent, logLevel, quiet, onProgress, }: {
        indent: boolean;
        logLevel: "error" | "info" | "trace" | "verbose" | "warn";
        quiet: boolean;
        onProgress: (progress: import("@remotion/studio-shared").BrowserDownloadState) => void;
    }) => import("@remotion/renderer").OnBrowserDownload;
    LABEL_WIDTH: number;
    printFact: (printLevel: "error" | "info" | "trace" | "verbose" | "warn") => ({ indent, logLevel, left, right, color, link, }: {
        indent: boolean;
        logLevel: "error" | "info" | "trace" | "verbose" | "warn";
        left: string;
        right: string;
        link?: string | undefined;
        color: "blue" | "blueBright" | "gray" | undefined;
    }) => void;
    makeHyperlink: ({ text, url, fallback, }: {
        text: string | ((clickInstruction: string) => string);
        url: string;
        fallback: string;
    }) => string;
    supportsHyperlink: typeof supportsHyperlink;
    getGitSource: ({ remotionRoot, disableGitSource, logLevel, }: {
        remotionRoot: string;
        disableGitSource: boolean;
        logLevel: "error" | "info" | "trace" | "verbose" | "warn";
    }) => import("@remotion/studio-shared").GitSource | null;
};
