import type { Codec } from '../codec';
export declare const validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
export type AudioCodec = (typeof validAudioCodecs)[number];
export declare const supportedAudioCodecs: {
    readonly h264: readonly ["aac", "pcm-16", "mp3"];
    readonly 'h264-mkv': readonly ["pcm-16", "mp3"];
    readonly 'h264-ts': readonly ["pcm-16", "aac"];
    readonly aac: readonly ["aac", "pcm-16"];
    readonly avi: readonly [];
    readonly gif: readonly [];
    readonly h265: readonly ["aac", "pcm-16"];
    readonly mp3: readonly ["mp3", "pcm-16"];
    readonly prores: readonly ["aac", "pcm-16"];
    readonly vp8: readonly ["opus", "pcm-16"];
    readonly vp9: readonly ["opus", "pcm-16"];
    readonly wav: readonly ["pcm-16"];
};
declare const audioCodecNames: readonly ["pcm_s16le", "libfdk_aac", "libmp3lame", "libopus"];
type FfmpegAudioCodecName = (typeof audioCodecNames)[number];
export declare const mapAudioCodecToFfmpegAudioCodecName: (audioCodec: AudioCodec) => FfmpegAudioCodecName;
export declare const defaultAudioCodecs: {
    [key in Codec]: {
        [_ in 'compressed' | 'lossless']: (typeof supportedAudioCodecs)[key][number] | null;
    };
};
export declare const getExtensionFromAudioCodec: (audioCodec: AudioCodec) => "mp3" | "aac" | "wav" | "opus";
export declare const resolveAudioCodec: ({ codec, setting, preferLossless, separateAudioTo, }: {
    setting: AudioCodec | null;
    codec: Codec;
    preferLossless: boolean;
    separateAudioTo: string | null;
}) => "mp3" | "aac" | "pcm-16" | "opus" | null;
export declare const getDefaultAudioCodec: ({ codec, preferLossless, }: {
    codec: Codec;
    preferLossless: boolean;
}) => AudioCodec | null;
export declare const audioCodecOption: {
    cliFlag: "audio-codec";
    setConfig: (audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => void;
    getValue: ({ commandLine }: {
        commandLine: Record<string, unknown>;
    }) => {
        source: string;
        value: AudioCodec;
    } | {
        source: string;
        value: null;
    };
    description: () => string;
    docLink: string;
    name: string;
    ssrName: "audioCodec";
    type: AudioCodec;
};
export {};
