/**
 * Cross-Platform Buffer Handling Module
 *
 * Ensures consistent data representation across ARM and x86 architectures
 * by using explicit buffer operations that are not affected by processor endianness.
 */
export type Endianness = "LE" | "BE";
export type DataType = "uint16" | "int16" | "uint32" | "int32" | "float32" | "float64" | "bool";
export interface BufferOptions {
    endian?: Endianness;
    wordSwap?: boolean;
    byteSwap?: boolean;
}
export declare class CrossPlatformBuffer {
    private systemEndianness;
    constructor();
    /**
     * Detect system endianness (for logging/debugging only)
     */
    private detectSystemEndianness;
    /**
     * Get system endianness
     */
    getSystemEndianness(): Endianness;
    /**
     * Convert float32 to two 16-bit registers with explicit endianness control
     */
    float32ToRegisters(value: number, endian?: Endianness, wordSwap?: boolean, byteSwap?: boolean): [number, number];
    /**
     * Convert two 16-bit registers to float32 with explicit endianness control
     */
    registersToFloat32(reg1: number, reg2: number, endian?: Endianness, wordSwap?: boolean, byteSwap?: boolean): number;
    /**
     * Convert int32 to two 16-bit registers
     */
    int32ToRegisters(value: number, endian?: Endianness, wordSwap?: boolean): [number, number];
    /**
     * Convert two 16-bit registers to int32
     */
    registersToInt32(reg1: number, reg2: number, endian?: Endianness, wordSwap?: boolean): number;
    /**
     * Convert uint32 to two 16-bit registers
     */
    uint32ToRegisters(value: number, endian?: Endianness, wordSwap?: boolean): [number, number];
    /**
     * Convert two 16-bit registers to uint32
     */
    registersToUint32(reg1: number, reg2: number, endian?: Endianness, wordSwap?: boolean): number;
    /**
     * Convert boolean to register value
     */
    boolToRegister(value: boolean): number;
    /**
     * Convert register value to boolean
     */
    registerToBool(value: number): boolean;
    /**
     * Convert int16 to register with proper sign extension
     */
    int16ToRegister(value: number): number;
    /**
     * Convert register to int16 with proper sign handling
     */
    registerToInt16(value: number): number;
    /**
     * Convert string to register array
     */
    stringToRegisters(str: string, maxLength?: number): number[];
    /**
     * Convert register array to string
     */
    registersToString(registers: number[]): string;
    /**
     * Validate register value is within 16-bit range
     */
    validateRegisterValue(value: number): boolean;
    /**
     * Create a buffer configuration for consistent handling
     */
    createBufferConfig(options?: BufferOptions): Required<BufferOptions>;
}
export declare function getCrossPlatformBuffer(): CrossPlatformBuffer;
export default CrossPlatformBuffer;
//# sourceMappingURL=crossPlatformBuffer.d.ts.map