import Decimal from 'decimal.js';
type OptFormat = [
    locales?: string | string[] | undefined,
    options?: Intl.NumberFormatOptions | undefined
];
export interface FractionOptions {
    decimalPlaces?: number;
    format?: boolean | OptFormat;
    reverse?: boolean;
    rounding?: Decimal.Rounding;
}
/**
 * Will convert the fraction of the two tokens into a significant representation.
 *
 * @param {Array<bigint>} fraction Fraction tupple array containing the numerator
 *    and denominator.
 * @param {Object=} optOptions Calculation options.
 * @param {number=} optOptions.significantDigits How many significant digits to use.
 * @param {boolean|Array=} optOptions.format Format the output using Intl.NumberFormat.
 * @param {boolean=} optOptions.reverse Set to true to reverse the ratio calculation.
 * @param {number=} optOptions.rounding Decimal.js rounding constant.
 * @return {string} The result.
 */
export declare const toSignificant: (fraction: any, optOptions?: FractionOptions) => any;
/**
 * Will convert the fraction of the two tokens into a fixed representation.
 *
 * @param {Array<bigint>} fraction Fraction tupple Array containing the numerator
 *    and denominator.
 * @param {Object=} optOptions Calculation options.
 * @param {number=} optOptions.decimalPlaces How many decimals to use.
 * @param {boolean|Array=} optOptions.format Format the output using Intl.NumberFormat.
 * @param {boolean=} optOptions.reverse Set to true to reverse the ratio calculation.
 * @param {number=} optOptions.rounding Decimal.js rounding constant.
 * @return {string} The result.
 */
export declare const toFixed: (fraction: any, optOptions?: FractionOptions) => any;
/**
 * Will divide and format the fraction by either using toFixed or toSignificant
 * automatically, depending if the fracrtion division is above or bellow 1.
 *
 * @param {Array<bigint>} fraction Fraction tupple Array containing the numerator
 *    and denominator.
 * @param {Object=} optOptions Calculation options.
 * @param {number=} optOptions.decimalPlaces How many decimals to use.
 * @param {boolean|Array=} optOptions.format Format the output using Intl.NumberFormat.
 * @param {boolean=} optOptions.reverse Set to true to reverse the ratio calculation.
 * @param {number=} optOptions.rounding Decimal.js rounding constant.
 * @return {string} The result.
 */
export declare const toAuto: (fraction: any, optOptions?: FractionOptions) => any;
/**
 * Checks and applies format if it exists.
 *
 * @param {string} res result from the calculations
 * @param {string} callee Invoking function.
 * @param {number} decimalPlaces How many decimal places to use.
 * @param {boolean|Array=} optFormat Format the output using Intl.NumberFormat.
 * @return {string} Formatted outcome.
 * @private
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
 */
export declare const _checkformat: (res: any, callee: any, decimalPlaces: any, optFormat: boolean | OptFormat | undefined) => any;
export {};
