/** * Validation utilities for CLI options using driver SUPPORTED_CONFIG */ import type { LoadedDriver } from '@ya-modbus/driver-loader'; /** * Validation error with helpful context */ export declare class ValidationError extends Error { readonly field: string; readonly value: unknown; readonly validValues?: readonly unknown[] | undefined; constructor(message: string, field: string, value: unknown, validValues?: readonly unknown[] | undefined); } /** * Validate baud rate against driver constraints * * @param baudRate - User-specified baud rate * @param driverMetadata - Loaded driver metadata * @throws ValidationError if invalid */ export declare function validateBaudRate(baudRate: number | undefined, driverMetadata?: LoadedDriver): void; /** * Validate parity against driver constraints * * @param parity - User-specified parity * @param driverMetadata - Loaded driver metadata * @throws ValidationError if invalid */ export declare function validateParity(parity: string | undefined, driverMetadata?: LoadedDriver): void; /** * Validate data bits against driver constraints * * @param dataBits - User-specified data bits * @param driverMetadata - Loaded driver metadata * @throws ValidationError if invalid */ export declare function validateDataBits(dataBits: number | undefined, driverMetadata?: LoadedDriver): void; /** * Validate stop bits against driver constraints * * @param stopBits - User-specified stop bits * @param driverMetadata - Loaded driver metadata * @throws ValidationError if invalid */ export declare function validateStopBits(stopBits: number | undefined, driverMetadata?: LoadedDriver): void; /** * Validate slave ID/address against driver constraints * * @param slaveId - User-specified slave ID * @param driverMetadata - Loaded driver metadata * @throws ValidationError if invalid */ export declare function validateSlaveId(slaveId: number | undefined, driverMetadata?: LoadedDriver): void; /** * Validate all serial connection parameters * * Validates baudRate, parity, dataBits, stopBits, and slaveId against driver constraints. * * @param options - Connection options to validate * @param driverMetadata - Loaded driver metadata * @throws ValidationError if any parameter is invalid */ export declare function validateSerialOptions(options: { baudRate?: number; parity?: string; dataBits?: number; stopBits?: number; slaveId?: number; }, driverMetadata?: LoadedDriver): void; //# sourceMappingURL=validation.d.ts.map