import { I18n } from '../intl/intl';
import { RoundingMode, NumberFormatTypes } from '../intl/intl.util';
interface ParsedNumber {
    digits: number[];
    integerLen: number;
}
declare class Formatter {
    decimal(data: I18n.DataForNumber): Function;
    currencies(data: I18n.DataForCurrency): Function;
    percent(data: I18n.DataForNumber): Function;
    plural(data: I18n.DataForNumber): Function;
    resetFormats(formats: any, minFracDigit: number, maxFracDigit: number, round: RoundingMode): any;
    /**
     * Get info from the formats
     * eg: ¤#,##0.00
     * return: { gSize: 3, lgSize: 3, maxFrac: 2, minFrac: 2, minInt: 1, negPre: "-¤", posPre: "¤" }
     */
    parseFormats(format: string, minusSign?: string): {
        'minInt': number;
        'minFrac': number;
        'maxFrac': number;
        'posPre': string;
        'posSuf': string;
        'negPre': string;
        'negSuf': string;
        'gSize': number;
        'lgSize': number;
        'round': RoundingMode;
    };
    parseNumber(numStr: string): ParsedNumber;
    /**
     * rounding number
     */
    roundingNumber(number: number, minFrac: number, maxFrac: number, mode: RoundingMode): string;
    resetCurrencyFormatsInfo(formatsInfo: any, data: I18n.DataForCurrency, currencyCode: string, min?: number, max?: number): any;
    resetPercentNumber(num: number): string;
    resetString(isCurrency: boolean, formatsInfo: any, symbol: any, value: any, minFracDigit?: number, maxFracDigit?: number): string;
}
export declare class FormatterFactory {
    formatter: Formatter;
    mapping: {
        [key: string]: any;
    };
    constructor();
    getFormatter(locale: string, type: NumberFormatTypes): Function;
    currencies(data: I18n.DataForCurrency, locale: string): Function;
    percent(data: I18n.DataForNumber, locale: string): Function;
    decimal(data: I18n.DataForNumber, locale: string): Function;
    roundNumberForPlural(data: I18n.DataForNumber, locale: string): Function;
}
export {};
