import type { Transport } from '@ya-modbus/driver-types'; import { Mutex } from 'async-mutex'; /** * Wraps a transport with mutex-based serialization. * All operations are executed sequentially to prevent concurrent access issues. * * Used for: * - RTU transports: Prevents bus collisions when multiple devices share a serial bus * - TCP transports: Many Modbus devices support only one connection or process * requests sequentially. Serialization prevents timeouts and communication errors. */ export declare class MutexTransport implements Transport { private readonly transport; private readonly mutex; constructor(transport: Transport, mutex: Mutex); readHoldingRegisters(address: number, count: number): Promise; readInputRegisters(address: number, count: number): Promise; readCoils(address: number, count: number): Promise; readDiscreteInputs(address: number, count: number): Promise; writeSingleRegister(address: number, value: number): Promise; writeSingleCoil(address: number, value: boolean): Promise; writeMultipleRegisters(address: number, values: Buffer): Promise; writeMultipleCoils(address: number, values: Buffer): Promise; close(): Promise; } //# sourceMappingURL=mutex-transport.d.ts.map