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 WriteCandidate from '../../types/writeCandidate.js';
import Module from '../module.js';
/**
 * Calculate checksums for {@link ArchiveFile}s (which were skipped in {@link CandidateGenerator}).
 * This deferral is done to prevent calculating checksums for files that are filtered out by a
 * candidate filtering module.
 */
export default class CandidateArchiveFileHasher extends Module {
    private static readonly DRIVE_SEMAPHORE;
    private readonly options;
    private readonly fileFactory;
    constructor(options: Options, progressBar: ProgressBar, fileFactory: FileFactory);
    /**
     * Hash the {@link ArchiveFile}s.
     */
    hash(dat: DAT, candidates: WriteCandidate[]): Promise<WriteCandidate[]>;
    private hashArchiveFiles;
}
