import { INumberConverter } from './number-converter.interface';
import { EntityIdT, StringNumberT } from '../../definitions.interface';
export declare class NumberConverter implements INumberConverter {
    private readonly settings;
    private readonly defaultFormatter;
    private readonly integerCurrencyFormatter;
    private readonly fractionalCurrencyFormatter;
    private readonly integerFormatter;
    private readonly fractionalFormatter;
    /**
     * @stable [22.10.2018]
     */
    constructor();
    /**
     * @stable [09.09.2020]
     * @param value
     * @param radix
     */
    integer(value: StringNumberT, radix?: number): StringNumberT;
    /**
     * @stable [09.09.2020]
     * @param value
     * @param returnString
     */
    number(value: StringNumberT, returnString?: boolean): StringNumberT;
    /**
     * @stable [09.09.2020]
     * @param value
     */
    asNumber(value: StringNumberT): number;
    /**
     * @stable [29.08.2019]
     * @param {StringNumberT} value
     * @param {(value: number) => number} converter
     * @returns {number}
     */
    numberParameter(value: StringNumberT, converter?: (value: number) => number): number;
    /**
     * @stable [09.09.2020]
     * @param value
     * @param formatter
     * @param options
     */
    format(value: string | number, formatter?: Intl.NumberFormat, options?: Intl.NumberFormatOptions): string;
    /**
     * @stable [09.09.2020]
     * @param value
     * @param options
     */
    formatInteger(value: StringNumberT, options?: Intl.NumberFormatOptions): string;
    /**
     * @stable [09.09.2020]
     * @param value
     * @param options
     */
    formatFractional(value: StringNumberT, options?: Intl.NumberFormatOptions): string;
    /**
     * @stable [09.09.2020]
     * @param value
     * @param options
     */
    formatIntegerCurrency(value: StringNumberT, options?: Intl.NumberFormatOptions): string;
    /**
     * @stable [09.09.2020]
     * @param value
     * @param options
     */
    formatFractionalCurrency(value: StringNumberT, options?: Intl.NumberFormatOptions): string;
    /**
     * @stable [09.09.2020]
     * @param value
     */
    id(value: EntityIdT): string;
    /**
     * @stable [09.09.2020]
     * @param value
     */
    internalId(value: EntityIdT): string;
    /**
     * @stable [19.12.2020]
     * @param value
     */
    currencyValue(value: StringNumberT): string;
    /**
     * @stable [09.09.2020]
     * @param value
     * @param formatter
     * @param options
     * @private
     */
    private doFormat;
    /**
     * @stable [09.09.2020]
     * @private
     */
    private get currencyFormatOptions();
    /**
     * @stable [09.09.2020]
     * @private
     */
    private get integerFormatOptions();
    /**
     * @stable [09.09.2020]
     * @private
     */
    private get fractionalFormatOptions();
    /**
     * @stable [09.09.2020]
     * @private
     */
    private get locale();
}
