/// <reference types="node" />
import RTC from "./RTC";
import Cartridge from "./Cartridge";
import { EventEmitter } from "events";
export default class MBC extends EventEmitter {
    currentRomBank: number;
    romBank1Offset: number;
    ram: Uint8Array;
    romBankEdge: number;
    currentMbcRamBank: number;
    currentRamBankPosition: number;
    ramBanksEnabled: boolean;
    romSize: number;
    ramSize: number;
    rtc?: RTC;
    romSizes: number[];
    ramSizes: number[];
    cartridge: Cartridge;
    constructor(cartridge: Cartridge);
    setupRom(): void;
    setupRAM(): void;
    loadRam(data: Uint8Array): void;
    getRam(): Uint8Array;
    cutSRAMFromBatteryFileArray(data: ArrayBuffer): Uint8Array;
    saveState(): any;
    readRam: (address: number) => number;
    writeRam: (address: number, data: number) => void;
    setCurrentROMBank(): void;
    toggle: (address: number, data: number) => void;
}
