import ProgressBar from '../console/progressBar.js';
import DAT from '../types/dats/dat.js';
import File from '../types/files/file.js';
import Module from './module.js';
/**
 * After all output {@link File}s have been written, delete any input {@link File}s that were
 * "moved." This needs to happen after all writing has finished in order to guarantee we're done
 * reading input {@link File}s from disk.
 */
export default class MovedROMDeleter extends Module {
    constructor(progressBar: ProgressBar);
    /**
     * Delete input files that were moved.
     */
    delete(inputRoms: File[], movedRoms: File[], datsToWrittenFiles: Map<DAT, File[]>): Promise<string[]>;
    /**
     * Archives that do not have all of their file entries matched should not be deleted during
     *  moving.
     */
    private filterOutPartiallyConsumedArchives;
    private static groupFilesByFilePath;
    /**
     * When an input directory is also used as the output directory, and a file is matched multiple
     *  times, do not delete the input file if it is in a correct location.
     */
    private static filterOutWrittenFiles;
}
