/**
 * Mapping of key configuration register addresses for Circulo Integrated Encoders (e.g., iC-MU, iC-PVL).
 *
 * Each entry maps a configuration register's address in EEPROM to its corresponding
 * address in RAM. This mapping allows read/write access to configuration data via
 * either persistent storage (EEPROM) or volatile memory (RAM).
 */
export declare const circuloIntegratedEncoderKeyConfigurationRegisterAddresses: {
    eeprom: number;
    ram: number;
}[];
/**
 * I²C device IDs (addresses) used to access specific memory areas and registers
 * of Circulo Integrated Encoders such as iC-MU and iC-PVL.
 *
 * These values are used as the 7-bit device address (plus R/W bit) in I²C transactions,
 * defining whether the access targets EEPROM or RAM, and whether full or limited access is allowed.
 *
 * EEPROM access allows for reading and writing of persistent configuration data,
 * while iC-PVL access allows interaction with runtime registers. Limited access
 * typically restricts operations to a subset of available registers.
 */
export declare enum CirculoIntegratedEncoderI2CDeviceId {
    /** I²C address for writing to EEPROM memory. */
    WRITE_EEPROM = 160,
    /** I²C address for reading from EEPROM memory. */
    READ_EEPROM = 161,
    /** I²C address for limited write access to iC-PVL registers. */
    WRITE_ICPVL_LIMITED = 192,
    /** I²C address for limited read access to iC-PVL registers. */
    READ_ICPVL_LIMITED = 193,
    /** I²C address for full write access to iC-PVL registers. */
    WRITE_ICPVL = 194,
    /** I²C address for full read access to iC-PVL registers. */
    READ_ICPVL = 195
}
/**
 * A key-value object representing the `CirculoIntegratedEncoderI2CDeviceId` enum,
 * where each key is the string name of an I²C device ID, and each value is its
 * corresponding numeric address.
 *
 * This object is generated by filtering out the reverse mappings from the enum
 * (numeric keys), leaving only the name-to-value entries for use in things like
 * dropdowns or selection lists.
 *
 * @example
 * {
 *   READ_EEPROM: 161,
 *   READ_ICPVL: 195
 *   READ_ICPVL_LIMITED: 193,
 *   WRITE_EEPROM: 160,
 *   WRITE_ICPVL: 194,
 *   WRITE_ICPVL_LIMITED: 192,
 * }
 */
export declare const circuloIntegratedEncoderI2CDeviceIdOptions: Record<string, number>;
export declare class CirculoIntegratedEncoderIcmuParameters {
    static GC_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GF_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GX_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static VOSS_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static VOSC_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PH_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ENAC: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CIBM: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GC_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GF_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GX_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static VOSS_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static VOSC_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PH_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MODEB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MODEA: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CFGEW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ACC_STAT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static NCHK_CRC: {
        address: number;
        lsb: number;
        msb: number;
    };
    static NCHK_NON: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ACRM_RES: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EMTD: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ESSI_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ROT_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static LIN: {
        address: number;
        lsb: number;
        msb: number;
    };
    static FILT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MPC: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GET_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CHK_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SBL_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MODE_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OUT_ZERO: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OUT_MSB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GSSI: {
        address: number;
        lsb: number;
        msb: number;
    };
    static RSSI: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MODE_ST: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OUT_LSB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static RESABZ: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ROT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SS_AB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ENIF_AUTO: {
        address: number;
        lsb: number;
        msb: number;
    };
    static FRQAB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static LENZ: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CHYS_AB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PP60UVW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static INV_A: {
        address: number;
        lsb: number;
        msb: number;
    };
    static INV_B: {
        address: number;
        lsb: number;
        msb: number;
    };
    static INV_Z: {
        address: number;
        lsb: number;
        msb: number;
    };
    static RPL: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PPUVW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static TEST: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OFF_ABZ_1: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OFF_POS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OFF_COM: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PA0_CONF: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ACGAIN_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static AFGAIN_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ACGAIN_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static AFGAIN_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static BANKSEL: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EDSBANK: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PROFILE_ID: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SERIAL: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OFF_ABZ_2: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OFF_UVW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PRES_POS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_0: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_BASE: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_2: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_1: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_4: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_3: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_6: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_5: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_8: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_7: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_10: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_9: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_12: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_11: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_14: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_13: {
        address: number;
        lsb: number;
        msb: number;
    };
    static RPL_RESET: {
        address: number;
        lsb: number;
        msb: number;
    };
    static I2C_DEV_START: {
        address: number;
        lsb: number;
        msb: number;
    };
    static I2C_RAM_START: {
        address: number;
        lsb: number;
        msb: number;
    };
    static I2C_RAM_END: {
        address: number;
        lsb: number;
        msb: number;
    };
    static I2C_DEVID: {
        address: number;
        lsb: number;
        msb: number;
    };
    static I2C_RETRY: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_1: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_2: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_3: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_4: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_5: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_6: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_7: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_8: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_9: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_10: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_11: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_12: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_13: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_14: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_15: {
        address: number;
        lsb: number;
        msb: number;
    };
    static USER_EXCHANGE_REGISTERS_16: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EVENT_COUNT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static HARD_REV: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CMD_MU: {
        address: number;
        lsb: number;
        msb: number;
    };
    static STATUS0: {
        address: number;
        lsb: number;
        msb: number;
    };
    static STATUS1: {
        address: number;
        lsb: number;
        msb: number;
    };
    static DEV_ID: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MFG_ID: {
        address: number;
        lsb: number;
        msb: number;
    };
}
export declare class CirculoIntegratedEncoderIcpvlParameters {
    static EN_PAR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EN_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static DIR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ST_GRAY: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MT_GRAY: {
        address: number;
        lsb: number;
        msb: number;
    };
    static INT_MODE: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MT_BW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PCR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EN_WRN: {
        address: number;
        lsb: number;
        msb: number;
    };
    static BAT_MON: {
        address: number;
        lsb: number;
        msb: number;
    };
    static A_MAX: {
        address: number;
        lsb: number;
        msb: number;
    };
    static IBIAS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static FIXED_ZERO_1: {
        address: number;
        lsb: number;
        msb: number;
    };
    static NOMAG: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ATHR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ONAX: {
        address: number;
        lsb: number;
        msb: number;
    };
    static POLEWID: {
        address: number;
        lsb: number;
        msb: number;
    };
    static I2C_POS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PCR_OUT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SYNC_BW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static BAT_THR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static HYS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ABQUAD: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CRC_CFG: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MT_COUNT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CRC_CTR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static FIXED_ZERO_2: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SYNC: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CHIP_REL: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PRESET: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PDR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static BAT_WRN: {
        address: number;
        lsb: number;
        msb: number;
    };
    static BAT_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static POS_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CTR_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CFG_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static STUP_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CMD: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SLEEP_ST: {
        address: number;
        lsb: number;
        msb: number;
    };
    static NOMAG_ST: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ACTIVE_ST: {
        address: number;
        lsb: number;
        msb: number;
    };
    static POWON_ST: {
        address: number;
        lsb: number;
        msb: number;
    };
    static NOMAG_L: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MAG_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static AMPL_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
}
export declare class CirculoIntegratedEncoderEepromParameters {
    static GC_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GF_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GX_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static VOSS_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static VOSC_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PH_M: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ENAC: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CIBM: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GC_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GF_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GX_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static VOSS_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static VOSC_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PH_N: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MODEB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MODEA: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CFGEW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ACC_STAT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static NCHK_CRC: {
        address: number;
        lsb: number;
        msb: number;
    };
    static NCHK_NON: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ACRM_RES: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EMTD: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ESSI_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ROT_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static LIN: {
        address: number;
        lsb: number;
        msb: number;
    };
    static FILT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MPC: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GET_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CHK_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SBL_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MODE_MT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OUT_ZERO: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OUT_MSB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static GSSI: {
        address: number;
        lsb: number;
        msb: number;
    };
    static RSSI: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MODE_ST: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OUT_LSB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static RESABZ: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ROT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SS_AB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ENIF_AUTO: {
        address: number;
        lsb: number;
        msb: number;
    };
    static FRQAB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static LENZ: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CHYS_AB: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PP60UVW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static INV_A: {
        address: number;
        lsb: number;
        msb: number;
    };
    static INV_B: {
        address: number;
        lsb: number;
        msb: number;
    };
    static INV_Z: {
        address: number;
        lsb: number;
        msb: number;
    };
    static RPL: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PPUVW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static TEST: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_0: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_BASE: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_2: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_1: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_4: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_3: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_6: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_5: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_8: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_7: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_10: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_9: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_12: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_11: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_14: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SPO_13: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CRC16: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OFF_ABZ: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OFF_UVW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PRES_POS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CRC8: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PA0_CONF: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EDSBANK: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PROFILE_ID: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SERIAL: {
        address: number;
        lsb: number;
        msb: number;
    };
    static DEV_ID: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MFG_ID: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EN_PAR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EN_ERR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static DIR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ST_GRAY: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MT_GRAY: {
        address: number;
        lsb: number;
        msb: number;
    };
    static INT_MODE: {
        address: number;
        lsb: number;
        msb: number;
    };
    static OS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MT_BW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PCR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static EN_WRN: {
        address: number;
        lsb: number;
        msb: number;
    };
    static BAT_MON: {
        address: number;
        lsb: number;
        msb: number;
    };
    static A_MAX: {
        address: number;
        lsb: number;
        msb: number;
    };
    static IBIAS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static FIXED_ZERO_1: {
        address: number;
        lsb: number;
        msb: number;
    };
    static NOMAG: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ATHR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ONAX: {
        address: number;
        lsb: number;
        msb: number;
    };
    static POLEWID: {
        address: number;
        lsb: number;
        msb: number;
    };
    static I2C_POS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static PCR_OUT: {
        address: number;
        lsb: number;
        msb: number;
    };
    static SYNC_BW: {
        address: number;
        lsb: number;
        msb: number;
    };
    static BAT_THR: {
        address: number;
        lsb: number;
        msb: number;
    };
    static HYS: {
        address: number;
        lsb: number;
        msb: number;
    };
    static ABQUAD: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CRC_CFG: {
        address: number;
        lsb: number;
        msb: number;
    };
    static MT_PREL: {
        address: number;
        lsb: number;
        msb: number;
    };
    static CRC_CTR: {
        address: number;
        lsb: number;
        msb: number;
    };
}
/**
 * Commands for the iC-MU encoder's `CMD_MU` register (address 0x75).
 *
 * These command codes control various internal operations of the iC-MU encoder,
 * such as memory writes, resets, communication settings, and maintenance counters.
 */
export declare class CirculoIntegratedEncoderIcmuCommands {
    /** Write all configuration settings to EEPROM. */
    static WRITE_ALL: number;
    /** Disable EEPROM write access. */
    static WRITE_OFF: number;
    /** Reset absolute position data. */
    static ABS_RESET: number;
    /** Start non-volatile memory verification. */
    static NON_VER: number;
    /** Reset multiturn counter. */
    static MT_RESET: number;
    /** Verify multiturn counter value. */
    static MT_VER: number;
    /** Perform a software reset of the device. */
    static SOFT_RESET: number;
    /** Perform a software presence check. */
    static SOFT_PRES: number;
    /** Perform a software + EEPROM presence check. */
    static SOFT_E2P_PRES: number;
    /** Set or test I²C communication path. */
    static I2C_COM: number;
    /** Trigger an event counter update. */
    static EVENT_COUNT: number;
    /** Toggle or test switch functionality. */
    static SWITCH: number;
    /** Verify stored CRC against calculated CRC. */
    static CRC_VER: number;
    /** Trigger CRC calculation. */
    static CRC_CALC: number;
    /** Set multiturn counter (manual value assignment). */
    static SET_MTC: number;
    /** Reset multiturn counter to zero. */
    static RES_MTC: number;
}
/**
 * Commands for the iC-PVL encoder's `CMD` register (address 0x11).
 *
 * These command values are written to the `CMD` register to control
 * the behavior of the encoder, including reset, sleep mode, and clearing status.
 */
export declare class CirculoIntegratedEncoderIcpvlCommands {
    /** Perform a software reset of the device. */
    static RESET: number;
    /** Reboot the device, similar to power cycling. */
    static REBOOT: number;
    /** Enable sleep mode to reduce power consumption. */
    static SLEEP_ENABLE: number;
    /** Clear internal status flags or errors (software clear). */
    static SCLR: number;
    /** Disable sleep mode and resume normal operation. */
    static SLEEP_DISABLE: number;
}
/**
 * Returns a color representing the encoder calibration quality for Circulo devices.
 *
 * The color is determined by the maximum-value percentage:
 *
 * - `50–100%`: **Green** (`#6ba853`) — robust calibration
 * - `20–50%`: **Yellow** (`#aeb303`) — acceptable, small displacements tolerated
 * - `0–20%`: **Orange** (`#e69138`) — weak, avoid mechanical displacement
 * - `≤ 0%`: **Red** (`#fb262e`) — invalid calibration, phase error too high
 *
 * @param percentage - The maximum-value percentage obtained from encoder calibration.
 * @returns A hex color string representing the calibration quality, or an empty string if out of range.
 */
export declare function getCirculoEncoderCalibrationMaxValuePercentageColor(percentage: number): "" | "#6ba853" | "#aeb303" | "#e69138" | "#fb262e";
/**
 * Returns a descriptive label explaining the quality of the encoder calibration
 * based on the maximum-value percentage for Circulo devices.
 *
 * The label communicates how robust the calibration is with respect to mechanical
 * displacement and thermal expansion:
 *
 * - `50–100%`: Robust against displacement and temperature changes
 * - `20–50%`: Robust to small mechanical or thermal variations
 * - `0–20%`: Calibration succeeded but sensitive; avoid displacement
 * - `≤ 0%`: Calibration failed; phase error too high
 *
 * @param percentage - The maximum-value percentage obtained from encoder calibration.
 * @returns A human-readable label describing calibration quality, or an empty string if out of range.
 */
export declare function getCirculoEncoderCalibrationMaxValuePercentageLabel(percentage: number): "" | "Calibration was successful. Encoder system is robust to mechanical displacements and temperature expansions." | "Calibration was successful. Encoder system is robust to small mechanical displacements and temperature expansions." | "Calibration was successful. Mechanical displacement and temperature expansions should be avoided." | "Phase error is too high. The absolute position can't be computed reliably. Adjust mechanical position and repeat calibration.";
/**
 * Result of Circulo encoder calibration computation.
 */
export interface CirculoEncoderCalibrationResult {
    /** Paired data points: [position, phaseError] */
    data: number[][];
    /** Maximum-value percentage indicating calibration quality (0–100) */
    value: number;
    /** Human-readable meaning of the calibration percentage */
    meaning: string;
}
/**
 * Computes the Circulo encoder calibration result from position and phaseError arrays.
 *
 * Handles empty or mismatched inputs gracefully by returning null.
 *
 * @param position - Array of encoder positions
 * @param phaseError - Array of corresponding phase errors
 * @returns Calibration result or null if inputs are invalid or empty
 */
export declare function computeCirculoEncoderCalibrationResult(position?: number[], phaseError?: number[]): CirculoEncoderCalibrationResult | null;
