import IOFile from '../../polyfill/ioFile.js';
import File from '../files/file.js';
export default abstract class Patch {
    private readonly file;
    private readonly crcBefore;
    private readonly crcAfter?;
    private readonly sizeAfter?;
    protected constructor(file: File, crcBefore: string, crcAfter?: string, sizeAfter?: number);
    protected static getCrcFromPath(fileBasename: string): string;
    getFile(): File;
    getCrcBefore(): string;
    getCrcAfter(): string | undefined;
    getSizeAfter(): number | undefined;
    getRomName(): string;
    abstract createPatchedFile(inputRomFile: File, outputRomPath: string): Promise<void>;
    protected static readUpsUint(fp: IOFile): Promise<number>;
    static readVcdiffUintFromFile(fp: IOFile): Promise<number>;
    static readVcdiffUintFromBuffer(buffer: Buffer, offset?: number): [number, number];
}
