import SingleValueGame from './dats/singleValueGame.js';
import ROMWithFiles from './romWithFiles.js';
/**
 * A container holding a {@link Game}, optionally a {@link Release} for that {@link Game}, and a
 * {@link ROMWithFiles} with input and output {@link File} information for every {@link ROM}.
 * In other words, a {@link WriteCandidate} will only exist if every {@link ROM} of a {@link Game}
 * has been found.
 */
export default class WriteCandidate {
    private readonly game;
    private readonly romsWithFiles;
    constructor(game: SingleValueGame, romsWithFiles: ROMWithFiles[]);
    getGame(): SingleValueGame;
    getRomsWithFiles(): ROMWithFiles[];
    getName(): string;
    /**
     * Returns true if any {@link ROMWithFiles} input {@link File} has a {@link Patch} attached to it.
     */
    isPatched(): boolean;
    withRomsWithFiles(romsWithFiles: ROMWithFiles[]): WriteCandidate;
    /**
     * A string hash code to uniquely identify this {@link WriteCandidate}.
     */
    hashCode(): string;
}
