import { Event } from 'microevent.ts'; import CartridgeInterface from './CartridgeInterface'; import CartridgeInfo from './CartridgeInfo'; import CpuInterface from '../../cpu/CpuInterface'; import Bus from '../Bus'; import RngInterface from '../../../tools/rng/GeneratorInterface'; declare class AbstractCartridge implements CartridgeInterface { init(): Promise; reset(): void; read(address: number): number; peek(address: number): number; write(address: number, value: number): void; getType(): CartridgeInfo.CartridgeType; setCpu(cpu: CpuInterface): this; setBus(bus: Bus): this; setRng(rng: RngInterface): this; setCpuTimeProvider(provider: () => number): this; notifyCpuCycleComplete(): void; randomize(rng: RngInterface): void; protected triggerTrap(reason: CartridgeInterface.TrapReason, message: string): void; trap: Event; } export { AbstractCartridge as default };