import I2CPromisifiedBus from "./i2c-connection"; import MockI2CDevice from "./mock-i2c-device"; export declare enum MockI2CBusEventType { READ_BYTE = "READ_BYTE", READ_WORD = "READ_WORD", WRITE_BYTE = "WRITE_BYTE", WRITE_WORD = "WRITE_WORD", SEND_BYTE = "SEND_BYTE", RECEIVE_BYTE = "RECEIVE_BYTE", IO_ERROR = "IO_ERROR", BUS_CLOSE = "BUS_CLOSE" } export interface MockI2CBusEvent { address?: number; eventType: MockI2CBusEventType; cmd?: number; data?: number; errDescription?: string; } export declare type MockI2CEventListener = (event: MockI2CBusEvent) => void; export default class MockI2C extends I2CPromisifiedBus { private _shouldLog; private _devices; private _eventListeners; private _logger; private _logFunc; constructor(busNum: number, shouldLog?: boolean); protected setup(): void; addDeviceToBus(device: MockI2CDevice): void; clearListeners(): void; addListener(listener: MockI2CEventListener): void; private _notifyListeners; close(): Promise; readByte(addr: number, cmd: number, romiMode?: boolean): Promise; writeByte(addr: number, cmd: number, byte: number): Promise; readWord(addr: number, cmd: number, romiMode?: boolean): Promise; writeWord(addr: number, cmd: number, word: number): Promise; sendByte(addr: number, cmd: number): Promise; receiveByte(addr: number): Promise; }