import { BodyDecoder, BodyEncoder } from '@iotize/tap/client/api'; export interface NumberDecoderOptions { signed: boolean; /** * Size of number if bits */ sizeOf: 8 | 16 | 32; leastSignificantBitFirst: boolean; } export interface Newable { new (...args: any[]): T; } export declare class NumberConverter implements BodyEncoder, BodyDecoder { options: NumberDecoderOptions; constructor(options: NumberDecoderOptions); /** * Number as unsigned 8 bits converter * @param lsb true for least significant bit first */ static uint8(lsb?: boolean): NumberConverter; /** * Number as unsigned 16 bits converter * @param lsb true for least significant bit first */ static uint16(lsb?: boolean): NumberConverter; /** * Number as unsigned 32 bits converter * @param lsb true for least significant bit first */ static uint32(lsb?: boolean): NumberConverter; /** * Number as signed 8 bits converter * @param lsb true for least significant bit first */ static int8(lsb?: boolean): NumberConverter; /** * Number as signed 16 bits converter * @param lsb true for least significant bit first */ static int16(lsb?: boolean): NumberConverter; /** * Number as signed 32 bits converter * @param lsb true for least significant bit first */ static int32(lsb?: boolean): NumberConverter; decode(body: Uint8Array): number; encode(value: number): Uint8Array; static toOpaqueMsb(input: number, sizeOf: 8 | 16 | 32 | number): Uint8Array; static fromOpaqueMsb(data: Uint8Array, sizeOf?: number): number; /** * @param size size in bytes */ static fromBytes(data: Uint8Array, size: number, signed: boolean, lsb: boolean): number; }