import { IPatternData, Symbols } from './intl.util';
export declare namespace I18n {
    class PatternData implements IPatternData {
        dates: any;
        numbers: any;
        plurals: any;
        currencies: any;
    }
    let localeData: {
        [locale: string]: IPatternData;
    };
    function registerLocaleData(locale: string, pattern: IPatternData): void;
    interface DateTimeFormatOptions {
        pattern: string;
        minusSign?: string;
        timezone?: string;
    }
    class DateTimeFormatter {
        getStandardTime(date: any): any;
    }
    class DateTimeFormat {
        private options;
        private locale;
        constructor(locale: string, options: DateTimeFormatOptions);
        format(date: Date): string;
    }
    interface NumberFormatOptions {
        numberFormatType: string;
        currencyCode?: string;
    }
    interface DataForCurrency {
        currencySymbols: {
            [key: string]: any;
        };
        fractions: {
            [currencyCode: string]: {
                _digits: string;
                _rounding: string;
            };
        };
        currencyFormats: string;
        numberSymbols: Symbols;
    }
    interface DataForNumber {
        numberFormats: {
            percentFormats: string;
            decimalFormats: string;
        };
        numberSymbols: Symbols;
    }
    class NumberFormat {
        private options;
        private locale;
        constructor(locale: string, options: NumberFormatOptions);
        format(value: any): any;
    }
    class Plural {
        private _locale;
        constructor();
        private resolveLocale;
        getFunc(locale: string): Function;
    }
}
