import { AsyncQueue } from 'async';
import Downloader from './Downloader.js';
interface DumpOpts {
    tmpDir: string;
    username: string;
    password: string;
    outputDirectory: string;
    publisher: string;
    withoutZimFullTextIndex: boolean;
    customZimTags?: string;
    customZimLanguage?: string;
    customZimTitle?: string;
    customZimDescription?: string;
    customZimLongDescription?: string;
    mainPage?: string;
    filenamePrefix?: string;
    articleList?: string;
    resume?: boolean;
    minifyHtml: boolean;
    keepEmptyParagraphs: boolean;
    tags?: string;
    filenameDate: string;
}
export declare class Dump {
    customProcessor?: CustomProcessor;
    nopic: boolean;
    novid: boolean;
    nopdf: boolean;
    nodet: boolean;
    opts: DumpOpts;
    strings: KVS<string>;
    mwMetaData: MWMetaData;
    outFile: string;
    mediaQueue: AsyncQueue<string>;
    isMainPage: (articleId: string) => boolean;
    status: {
        files: {
            success: number;
            fail: number;
        };
        articles: {
            success: number;
            fail: number;
        };
        redirects: {
            written: number;
        };
    };
    private formatFlavour;
    constructor(format: string, opts: DumpOpts, mwMetaData: MWMetaData, customProcessor?: CustomProcessor);
    computeFlavour(): string;
    computeFilenameRadical(withoutSelection?: boolean, withoutFlavour?: boolean, withoutDate?: boolean): any;
    checkResume(): void;
    computeZimTags(): string;
    computeZimRootPath(): string;
    getRelevantStylesheetUrls(downloader: Downloader): Promise<any[]>;
}
export {};
