/// <reference types="node" />
/// <reference types="bn.js" />
import { Opaque } from 'ts-essentials';
import { BN } from 'ethereumjs-util';
/**
 * A hexadecimal string representing a number.
 * Always prefixed with 0x, always lowercase.
 * Does not have leading zeroes, except when representing 0 - `"0x0"`.
 */
export declare type Quantity = Opaque<'Quantity', string>;
export declare function makeQuantity(value: string): Quantity;
export declare function bufferToQuantity(buffer: Buffer): Quantity;
export declare function bnToQuantity(bn: BN): Quantity;
export declare function numberToQuantity(number: number): Quantity;
/**
 * NOTE: this might throw when dealing with big number
 */
export declare function quantityToNumber(quantity: Quantity): number;
