import { CRCOrder, F32Encode, F64Encode, I16Encode, I32Encode, I64Encode, ModbusDataType } from './constant';
export declare class Util {
    /**
     * 获取CRC校验结果
     * @param cmdHex 十六进制命令
     * @param crcOrder CRC顺序
     * @returns CRC校验结果
     */
    static getCRC(cmdHex: string, crcOrder: CRCOrder): string;
    /**
     * 生成LRC校验码
     * @param hexStr 校验运算的十六进制字符串
     * @returns LRC校验码
     */
    static getLRC(hexStr: string): string;
    /**
     * 十六进制字符串分隔符处理
     * @param hexStr 十六进制字符串
     * @param separator 分隔符
     * @param oldSeparator 原始（旧）分隔符
     * @returns 处理结果
     */
    static hexSeparator(hexStr: string, separator: string, oldSeparator?: string): string;
    /**
     * 根据数据类型获取寄存器数量
     * @param dataType 数据类型
     * @returns 寄存器数量
     */
    static getRegisterCountByDataType(dataType: ModbusDataType): number;
    /**
     * 根据数据类型解析数据值
     * @description 仅限保持寄存器和输入寄存器值解析使用
     * @param hexStr 十六进制字符串值
     * @param dataType 数据类型
     * @param i16Encode 16位整型编码（有符号+无符号）
     * @param i32Encode 32位整型编码（有符号+无符号）
     * @param f32Encode 32位浮点型编码（FLOAT）
     * @param i64Encode 64位整型编码（有符号+无符号）
     * @param f64Encode 64位浮点型编码（Double）
     * @returns 解析值
     */
    static getValueByDataType(hexStr: string, dataType: ModbusDataType, i16Encode?: I16Encode, i32Encode?: I32Encode, f32Encode?: F32Encode, i64Encode?: I64Encode, f64Encode?: F64Encode): number | string;
    /**
     * 将数值编码成十六进制字符串
     * @description 注意返回的字符串是**小写格式**！！！
     * @param data 数据值
     * @param dataType 数据类型
     * @param i16Encode 16位整型编码（有符号+无符号）
     * @param i32Encode 32位整型编码（有符号+无符号）
     * @param f32Encode 32位浮点型编码（FLOAT）
     * @param i64Encode 64位整型编码（有符号+无符号）
     * @param f64Encode 64位浮点型编码（Double）
     * @returns 十六进制字符串，**小写格式**！！！
     */
    static dataEncode(data: number | string, dataType: ModbusDataType, i16Encode?: I16Encode, i32Encode?: I32Encode, f32Encode?: F32Encode, i64Encode?: I64Encode, f64Encode?: F64Encode): string;
    /**
     * Modbus PDU数据转成Modbus ASCII数据
     * @param pduHex Modbus PDU数据(十六进制字符串格式)
     * @param slaveId 从机地址
     * @param disableLinefeed 取消结尾的回车换行符（\r\n）
     * @returns Modbus ASCII格式数据
     */
    static pdu2ascii(pduHex: string, slaveId: number, disableLinefeed?: boolean): string;
    /**
     * 检查返回错误码和错误信息
     * @param functionalCode 操作功能码
     * @param resCodeHex 返回功能码
     * @param errorCodeHex 错误码
     * @returns 错误信息
     */
    static checkResCode(functionalCode: '01' | '02' | '03' | '04' | '10' | '06', resCodeHex: string, errorCodeHex: string): string | undefined;
}
