/** * Register scanner with batch reading and automatic fallback */ import type { Transport } from '@ya-modbus/driver-types'; import type { ErrorType } from './error-classifier.js'; import { RegisterType } from './read-tester.js'; /** * Result of scanning a single register */ export interface ScanResult { /** Register address */ address: number; /** Register type */ type: RegisterType; /** Whether the read was successful */ success: boolean; /** Register value if successful (2 bytes) */ value?: Buffer; /** Time taken for the read operation in milliseconds */ timing: number; /** Error message if failed */ error?: string; /** Classified error type if failed */ errorType?: ErrorType; } /** * Options for register scanning */ export interface ScanOptions { /** Modbus transport */ transport: Transport; /** Register type to scan */ type: RegisterType; /** Starting register address */ startAddress: number; /** Ending register address (inclusive) */ endAddress: number; /** Maximum registers to read in a single batch (default: 10) */ batchSize?: number; /** Callback for progress updates */ onProgress?: (current: number, total: number) => void; /** Callback for each register result */ onResult?: (result: ScanResult) => void; } /** * Scan a range of registers with batch reads and automatic fallback * * @param options - Scan configuration */ export declare function scanRegisters(options: ScanOptions): Promise; //# sourceMappingURL=register-scanner.d.ts.map