import { LyricConfig, MetadataConfig } from '../core/core-config';
declare const readCliOptionsFromFile: () => Readonly<{
    [x: string]: unknown;
    cover: boolean;
    debug: boolean;
    batch: string;
    "batch-depth": number;
    batchDepth: number;
    "comment-language": string;
    commentLanguage: string;
    "cover-compress-size": number;
    coverCompressSize: number;
    "cover-compress-resolution": number;
    coverCompressResolution: number;
    source: string;
    lyric: boolean;
    "lyric-type": "original" | "translated" | "mixed";
    lyricType: "original" | "translated" | "mixed";
    "lyric-output": "metadata" | "lrc";
    lyricOutput: "metadata" | "lrc";
    "lyric-cache-size": number;
    lyricCacheSize: number;
    "translation-separator": string;
    translationSeparator: string;
    "lyric-time": boolean;
    lyricTime: boolean;
    separator: string;
    timeout: number;
    retry: number;
    interactive: boolean;
    _: (string | number)[];
    $0: string;
}>;
export type CliOptions = ReturnType<typeof readCliOptionsFromFile>;
export declare const getLyricConfig: (options: CliOptions) => LyricConfig;
export declare const getMetadataConfig: (options: CliOptions) => MetadataConfig;
export declare const getCliOptions: () => CliOptions;
export declare const loadOptions: () => Readonly<{
    [x: string]: unknown;
    cover: boolean;
    debug: boolean;
    batch: string;
    "batch-depth": number;
    batchDepth: number;
    "comment-language": string;
    commentLanguage: string;
    "cover-compress-size": number;
    coverCompressSize: number;
    "cover-compress-resolution": number;
    coverCompressResolution: number;
    source: string;
    lyric: boolean;
    "lyric-type": "original" | "translated" | "mixed";
    lyricType: "original" | "translated" | "mixed";
    "lyric-output": "metadata" | "lrc";
    lyricOutput: "metadata" | "lrc";
    "lyric-cache-size": number;
    lyricCacheSize: number;
    "translation-separator": string;
    translationSeparator: string;
    "lyric-time": boolean;
    lyricTime: boolean;
    separator: string;
    timeout: number;
    retry: number;
    interactive: boolean;
    _: (string | number)[];
    $0: string;
}>;
export {};
