import ProgressBar from '../../console/progressBar.js';
import DAT from '../../types/dats/dat.js';
import FileFactory from '../../types/files/fileFactory.js';
import Options from '../../types/options.js';
import Scanner from '../scanner.js';
/**
 * Scan the {@link OptionsProps.dat} input directory for DAT files and return the internal model
 * representation.
 */
export default class DATScanner extends Scanner {
    constructor(options: Options, progressBar: ProgressBar, fileFactory: FileFactory);
    /**
     * Scan files and parse {@link DAT}s.
     */
    scan(): Promise<DAT[]>;
    private downloadDats;
    private parseDatFiles;
    private parseDatFile;
    private parseMameListxml;
    private parseDatContents;
    private parseXmlDat;
    private parseCmproDat;
    /**
     * @see https://github.com/frederic-mahe/Hardware-Target-Game-Database
     */
    private parseSourceMaterialDatabase;
    private static parseSourceMaterialTsv;
    private shouldFilterOut;
    private sanitizeDat;
}
