import { BodyDecoder, BodyEncoder } from '../../../api/converter';
export interface NumberDecoderOptions {
    signed: boolean;
    /**
     * Size of number if bits
     */
    sizeOf: 8 | 16 | 32;
    leastSignificantBitFirst: boolean;
}
export declare type Newable<T> = {
    new (...args: any[]): T;
};
export declare class NumberConverter implements BodyEncoder<number>, BodyDecoder<number> {
    options: NumberDecoderOptions;
    constructor(options: NumberDecoderOptions);
    static uint8Instance(lsb?: boolean): NumberConverter;
    static uint32Instance(lsb?: boolean): NumberConverter;
    static int32Instance(lsb?: boolean): NumberConverter;
    static int16Instance(lsb?: boolean): NumberConverter;
    static int8Instance(lsb?: boolean): NumberConverter;
    static uint16Instance(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;
    static fromBytes(data: Uint8Array, size: number, signed: boolean, lsb: boolean): number;
}
