import { Event } from 'microevent.ts'; import BusInterface from '../bus/BusInterface'; import Tia from './tia/Tia'; import Pia from './Pia'; import CartridgeInterface from './cartridge/CartridgeInterface'; declare class Bus implements BusInterface { setTia(tia: Tia): Bus; setPia(pia: Pia): Bus; setCartridge(cartridge: CartridgeInterface): Bus; readWord(address: number): number; read(address: number): number; write(address: number, value: number): void; peek(address: number): number; poke(address: number, value: number): void; getLastDataBusValue(): number; setDataBusValue(value: number): void; getLastAddresBusValue(): number; private triggerTrap; event: { trap: Event; read: Event; write: Event; transition: Event; }; private _tia; private _pia; private _cartridge; private _lastDataBusValue; private _lastAddressBusValue; } declare namespace Bus { const enum TrapReason { tia = 0, pia = 1, cartridge = 2 } const enum AccessType { tia = 0, pia = 1, cartridge = 2 } class TrapPayload { reason: TrapReason; bus: Bus; message?: string; constructor(reason: TrapReason, bus: Bus, message?: string); } } export { Bus as default };