/**
 * Represents detailed information for a specific encoder error code.
 */
export interface IntegroIntegratedEncoderErrorCodeInfo {
    /** The 16-bit numeric error code. */
    errorCode: number;
    /** A short, human-readable name for the error. */
    name: string;
    /** A detailed description explaining the error. */
    description: string;
    /** The category or type of error (e.g., hardware, communication, logic). */
    category: string;
    /** Expected behavior or consequence when this error occurs. */
    behavior: string;
}
/**
 * Represents a parsed encoder error register value.
 *
 * Combines the raw register value, extracted debug information,
 * and the associated structured error description.
 */
export interface IntegroIntegratedEncoderError {
    /** The lower 16 bits of the register containing debug information. */
    debugInfo: number;
    /** The original 32-bit value read from the encoder error register. */
    registerValue: number;
    /** Structured information about the encoder error code. */
    errorInfo: IntegroIntegratedEncoderErrorCodeInfo;
}
/**
 * Predefined list of known encoder error codes and their detailed descriptions.
 *
 * Each entry provides structured information about a specific error code, including:
 * - `errorCode`: The numeric 16-bit error code.
 * - `name`: A short, human-readable name of the error.
 * - `description`: Detailed explanation of the error.
 * - `category`: Classification of the error type (e.g., initialization, signal, command).
 * - `behavior`: Expected behavior or consequence when this error occurs.
 *
 * This array is used by functions like `getIntegroIntegratedEncoderErrorDescription` to
 * resolve a numeric error code into a structured, human-readable format.
 */
export declare const integroIntegratedEncoderErrorCodeDescriptions: IntegroIntegratedEncoderErrorCodeInfo[];
/**
 * Splits a 32-bit encoder error register value into its two logical components.
 *
 * The encoder returns a 32-bit integer where:
 * - The upper 16 bits represent the `errorCode`.
 * - The lower 16 bits contain `debugInfo` specific to that error.
 *
 * This function extracts both components and returns them as separate properties.
 *
 * @param registerValue - The 32-bit value read from the encoder error register.
 * @returns An object containing:
 *   - `errorCode`: The 16-bit error code.
 *   - `debugInfo`: The 16-bit debug information associated with the error.
 */
export declare function splitIntegroIntegratedEncoderErrorValue(registerValue: number): {
    errorCode: number;
    debugInfo: number;
};
/**
 * Retrieves a structured description for a specific encoder error code.
 *
 * This function looks up the provided `errorCode` in the predefined list of known
 * encoder error codes and returns the corresponding description object. If the
 * error code is not recognized, a default description is returned.
 *
 * @param errorCode - The 16-bit error code extracted from the encoder register.
 * @returns The error description object matching the given code, or a default
 *          description if the code is unknown.
 */
export declare function getIntegroIntegratedEncoderErrorDescription(errorCode: number): IntegroIntegratedEncoderErrorCodeInfo;
/**
 * Parses a 32-bit encoder error register value into a structured error object.
 *
 * This utility provides a high-level interpretation of encoder error registers by:
 * 1. Extracting the `errorCode` and `debugInfo` from the raw register value.
 * 2. Resolving a human-readable description for the extracted error code.
 * 3. Returning all relevant information in a structured format.
 *
 * If the extracted `errorCode` is not recognized, the `errorInfo` field will be `undefined`.
 *
 * @param registerValue - The 32-bit integer value read from the encoder error register.
 * @returns An object containing:
 *   - `registerValue`: The original raw register value.
 *   - `debugInfo`: Additional debug information extracted from the register.
 *   - `errorInfo`: Optional detailed description of the error, or `undefined` if unknown.
 */
export declare function parseIntegroIntegratedEncoderError(registerValue: number): IntegroIntegratedEncoderError;
