import { BigNumberInput, BigNumberRawValue, IBigNumber } from "@medusajs/types";
import { BigNumber as BigNumberConstructor } from "bignumber.js";
type BigNumberJS = InstanceType<typeof BigNumberConstructor>;
declare const BigNumberJS: typeof globalThis.BigNumber;
export declare class BigNumber implements IBigNumber {
    static DEFAULT_PRECISION: number;
    private numeric_;
    private raw_?;
    private bignumber_?;
    constructor(rawValue: BigNumberInput | BigNumber, options?: {
        precision?: number;
    });
    setRawValueOrThrow(rawValue: BigNumberInput | BigNumber, { precision }?: {
        precision?: number;
    }): void;
    get numeric(): number;
    set numeric(value: BigNumberInput);
    get raw(): BigNumberRawValue | undefined;
    get bigNumber(): BigNumberJS | undefined;
    set raw(rawValue: BigNumberInput);
    toJSON(): number;
    valueOf(): number;
    [Symbol.toPrimitive](hint: any): string | number | undefined;
}
export declare const MEDUSA_EPSILON: BigNumber;
export declare const MEDUSA_DEFAULT_CURRENCY_EPSILON: BigNumber;
export declare const getEpsilonFromDecimalPrecision: (decimalDigits?: number) => BigNumber;
export {};
//# sourceMappingURL=big-number.d.ts.map