import type { MemoryMap, Hardware, PcHook, MemoryRegion, MachineInterface } from './types.js'; export interface Z80TestMachineConfig { /** Memory layout — write protection, default addresses */ memoryMap?: MemoryMap; /** Hardware peripherals — I/O ports, hooks, stubs */ hardware?: Hardware; /** ROM data to load into memory */ rom?: Uint8Array; /** Address at which to load ROM (overrides memoryMap.defaultRomLoadAddress, default: 0x0000) */ romLoadAddress?: number; /** Binary images to load into memory: [address, data] pairs */ regions?: MemoryRegion[]; /** Initial stack pointer (overrides memoryMap.defaultStackPointer) */ stackPointer?: number; /** Additional PC-triggered hooks (merged with hardware.hooks) */ hooks?: Map; /** Additional stub addresses (merged with hardware.stubs) */ stubs?: number[]; } export declare class Z80TestMachine implements MachineInterface { private memory; private cpu; private tStates; private mergedHooks; constructor(config?: Z80TestMachineConfig); get regs(): import("z80-base").RegisterSet; readByte(addr: number): number; writeByte(addr: number, val: number): void; readWord(addr: number): number; writeWord(addr: number, val: number): void; writeBlock(addr: number, data: Uint8Array | number[]): void; /** * Run from a specific address. * Pushes sentinel return address onto stack, runs until HALT or cycle limit. * Returns the number of T-states consumed. */ runFrom(addr: number, cycleLimit?: number): number; /** Get the number of T-states from the last run */ get elapsedTStates(): number; } //# sourceMappingURL=machine.d.ts.map