import ProgressBar from '../../console/progressBar.js';
import DAT from '../../types/dats/dat.js';
import Patch from '../../types/patches/patch.js';
import WriteCandidate from '../../types/writeCandidate.js';
import Module from '../module.js';
/**
 * For each {@link Patch} that matches a {@link ROM}, generate a new {@link Game} and
 * {@link WriteCandidate} of that {@link Game}.
 */
export default class CandidatePatchGenerator extends Module {
    constructor(progressBar: ProgressBar);
    /**
     * Generate the patched candidates.
     */
    generate(dat: DAT, candidates: WriteCandidate[], patches: Patch[]): Promise<WriteCandidate[]>;
    private static indexPatchesByCrcBefore;
    private build;
    private buildPatchedCandidates;
}
