/** * 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; } export declare function getCrossPlatformBuffer(): CrossPlatformBuffer; export default CrossPlatformBuffer; //# sourceMappingURL=crossPlatformBuffer.d.ts.map