import BigNumber from 'bignumber.js';
export declare type Numeric = BigNumber | number | string;
export declare const parseBigNum: (bigNum: Numeric | BigNumber) => BigNumber;
export declare const isNumber: (n: any) => boolean;
export declare const sum: (numbers: Numeric[], initial?: Numeric) => BigNumber;
export declare const sumToDecimal: (numbers: Numeric[]) => string;
export declare const average: (numbers: Numeric[]) => BigNumber;
export declare const difference: (numbers: Numeric[], initial?: Numeric) => BigNumber;
export declare const add: (a: Numeric, b: Numeric) => string;
export declare const subtract: (a: Numeric, b: Numeric) => string;
export declare const times: (a: Numeric, b: Numeric) => string;
export declare const divide: (a: Numeric, b: Numeric) => string;
export declare const percentageValue: (percent: Numeric, amount: Numeric) => string;
export declare const floor: (a: Numeric) => string;
export declare const round: (a: Numeric, decimals: number) => string;
export declare const gt: (a: Numeric, b: Numeric) => boolean;
export declare const gte: (a: Numeric, b: Numeric) => boolean;
export declare const lt: (a: Numeric, b: Numeric) => boolean;
export declare const lte: (a: Numeric, b: Numeric) => boolean;
export declare const nonZero: (a?: string | number | BigNumber | undefined) => boolean;
export declare const isZero: (a?: string | number | BigNumber | undefined) => boolean;
export declare const eq: (a?: string | number | BigNumber | undefined, b?: string | number | BigNumber | undefined) => boolean;
export declare const isNumeric: (a?: any) => a is Numeric;
export declare const compare: (a: BigNumber, b: BigNumber) => number;
export declare const naturalToOrdinal: (num: number) => string;
export declare const equals: (a: Numeric, b: Numeric) => boolean;
export declare const notEquals: (a: Numeric, b: Numeric) => boolean;
export declare const tryParseBigNumOrZero: (bigNum: Numeric) => BigNumber;
export declare const ZERO: BigNumber;
export declare const NAN: BigNumber;
export interface IRange {
    from: Numeric;
    to: Numeric;
}
/**
 * Checks if two numeric ranges contain overlaps
 * @param a from - to numeric range, to value is not inclusive
 * @param b from - to numeric range, to value is not inclusive
 */
export declare const rangesOverlap: (a: IRange, b: IRange) => boolean;
export declare const max: (numOne: Numeric, numTwo: Numeric) => Numeric;
export declare const min: (numOne: Numeric, numTwo: Numeric) => Numeric;
export declare const clampNumeric: (num: Numeric, lowerBound: Numeric, upperBound: Numeric) => Numeric;
export declare const clamp: (num: number, min: number, max: number) => number;
