import { InjectionToken, Provider } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare const KBQ_LOCALE_ID: InjectionToken<string>;
export declare const KBQ_DEFAULT_LOCALE_ID = "ru-RU";
export declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
    items: {
        id: string;
        name: string;
    }[];
    'en-US': {
        formatters: {
            number: {
                rounding: {
                    separator: string;
                    groupSeparator: string;
                    thousand: string;
                    million: string;
                    billion: string;
                    trillion: string;
                };
            };
        };
        input: {
            number: {
                groupSeparator: string[];
                fractionSeparator: string;
            };
        };
        sizeUnits: {
            defaultUnitSystem: "SI";
            defaultPrecision: number;
            unitSystems: {
                SI: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
                IEC: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
            };
        };
        select: {
            hiddenItemsText: string;
        };
        datepicker: {
            placeholder: string;
            dateInput: string;
        };
        timepicker: {
            placeholder: {
                full: string;
                short: string;
            };
        };
        fileUpload: {
            single: {
                captionText: string;
                browseLink: string;
            };
            multiple: {
                captionText: string;
                captionTextWhenSelected: string;
                captionTextForCompactSize: string;
                browseLink: string;
                title: string;
                gridHeaders: {
                    file: string;
                    size: string;
                };
            };
        };
        codeBlock: {
            softWrapOnTooltip: string;
            softWrapOffTooltip: string;
            downloadTooltip: string;
            copiedTooltip: string;
            copyTooltip: string;
            viewAllText: string;
            viewLessText: string;
            openExternalSystemTooltip: string;
        };
        timezone: {
            searchPlaceholder: string;
        };
        actionsPanel: {
            closeTooltip: string;
        };
        filterBar: {
            reset: {
                buttonName: string;
            };
            search: {
                tooltip: string;
                placeholder: string;
            };
            filters: {
                defaultName: string;
                saveNewFilterTooltip: string;
                searchPlaceholder: string;
                searchEmptyResult: string;
                saveAsNewFilter: string;
                saveChanges: string;
                saveAsNew: string;
                change: string;
                resetChanges: string;
                remove: string;
                name: string;
                error: string;
                errorHint: string;
                saveButton: string;
                cancelButton: string;
            };
            add: {
                tooltip: string;
            };
            pipe: {
                clearButtonTooltip: string;
                removeButtonTooltip: string;
                applyButton: string;
                emptySearchResult: string;
                selectAll: string;
            };
            datePipe: {
                customPeriod: string;
                customPeriodFrom: string;
                customPeriodTo: string;
                customPeriodErrorHint: string;
                backToPeriodSelection: string;
            };
        };
        clampedText: {
            openText: string;
            closeText: string;
        };
        navbarIc: {
            toggle: {
                pinButton: string;
                collapseButton: string;
            };
        };
        searchExpandable: {
            tooltip: string;
            placeholder: string;
        };
        appSwitcher: {
            searchPlaceholder: string;
            searchEmptyResult: string;
            sitesHeader: string;
        };
        timeRange: {
            title: {
                for: string;
                placeholder: string;
            };
            editor: {
                from: string;
                to: string;
                apply: string;
                cancel: string;
                rangeLabel: string;
                allTime: string;
                currentQuarter: string;
                currentYear: string;
            };
            durationTemplate: {
                title: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
                option: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
            };
        };
        notificationCenter: {
            notifications: string;
            remove: string;
            doNotDisturb: string;
            showPopUpNotifications: string;
            noNotifications: string;
            failedToLoadNotifications: string;
            repeat: string;
        };
    };
    'es-LA': {
        formatters: {
            number: {
                rounding: {
                    separator: string;
                    groupSeparator: string;
                    thousand: string;
                    million: string;
                    billion: string;
                    trillion: string;
                };
                decimal: {
                    viewGroupSeparator: string;
                };
            };
        };
        input: {
            number: {
                groupSeparator: string[];
                fractionSeparator: string;
                viewGroupSeparator: string;
            };
        };
        sizeUnits: {
            defaultUnitSystem: string;
            defaultPrecision: number;
            unitSystems: {
                SI: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
                IEC: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
            };
        };
        select: {
            hiddenItemsText: string;
        };
        datepicker: {
            placeholder: string;
        };
        timepicker: {
            placeholder: {
                full: string;
                short: string;
            };
        };
        fileUpload: {
            single: {
                captionText: string;
                browseLink: string;
            };
            multiple: {
                captionText: string;
                captionTextWhenSelected: string;
                captionTextForCompactSize: string;
                browseLink: string;
                title: string;
                gridHeaders: {
                    file: string;
                    size: string;
                };
            };
        };
        codeBlock: {
            softWrapOnTooltip: string;
            softWrapOffTooltip: string;
            downloadTooltip: string;
            copiedTooltip: string;
            copyTooltip: string;
            viewAllText: string;
            viewLessText: string;
            openExternalSystemTooltip: string;
        };
        timezone: {
            searchPlaceholder: string;
        };
        actionsPanel: {
            closeTooltip: string;
        };
        filterBar: {
            reset: {
                buttonName: string;
            };
            search: {
                tooltip: string;
                placeholder: string;
            };
            filters: {
                defaultName: string;
                saveNewFilterTooltip: string;
                searchPlaceholder: string;
                searchEmptyResult: string;
                saveAsNewFilter: string;
                saveChanges: string;
                saveAsNew: string;
                change: string;
                resetChanges: string;
                remove: string;
                name: string;
                error: string;
                errorHint: string;
                saveButton: string;
                cancelButton: string;
            };
            add: {
                tooltip: string;
            };
            pipe: {
                clearButtonTooltip: string;
                removeButtonTooltip: string;
                applyButton: string;
                emptySearchResult: string;
                selectAll: string;
            };
            datePipe: {
                customPeriod: string;
                customPeriodFrom: string;
                customPeriodTo: string;
                customPeriodErrorHint: string;
                backToPeriodSelection: string;
            };
        };
        clampedText: {
            openText: string;
            closeText: string;
        };
        navbarIc: {
            toggle: {
                pinButton: string;
                collapseButton: string;
            };
        };
        searchExpandable: {
            tooltip: string;
            placeholder: string;
        };
        appSwitcher: {
            searchPlaceholder: string;
            searchEmptyResult: string;
            sitesHeader: string;
        };
        timeRange: {
            title: {
                for: string;
                placeholder: string;
            };
            editor: {
                from: string;
                to: string;
                apply: string;
                cancel: string;
                rangeLabel: string;
                allTime: string;
                currentQuarter: string;
                currentYear: string;
            };
            durationTemplate: {
                title: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
                option: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
            };
        };
        notificationCenter: {
            notifications: string;
            remove: string;
            doNotDisturb: string;
            showPopUpNotifications: string;
            noNotifications: string;
            failedToLoadNotifications: string;
            repeat: string;
        };
    };
    'pt-BR': {
        formatters: {
            number: {
                rounding: {
                    separator: string;
                    groupSeparator: string;
                    thousand: string;
                    million: string;
                    billion: string;
                    trillion: string;
                };
            };
        };
        input: {
            number: {
                groupSeparator: string[];
                fractionSeparator: string;
            };
        };
        sizeUnits: {
            defaultUnitSystem: string;
            defaultPrecision: number;
            unitSystems: {
                SI: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
                IEC: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
            };
        };
        select: {
            hiddenItemsText: string;
        };
        datepicker: {
            placeholder: string;
        };
        timepicker: {
            placeholder: {
                full: string;
                short: string;
            };
        };
        fileUpload: {
            single: {
                captionText: string;
                browseLink: string;
            };
            multiple: {
                captionText: string;
                captionTextWhenSelected: string;
                captionTextForCompactSize: string;
                browseLink: string;
                title: string;
                gridHeaders: {
                    file: string;
                    size: string;
                };
            };
        };
        codeBlock: {
            softWrapOnTooltip: string;
            softWrapOffTooltip: string;
            downloadTooltip: string;
            copiedTooltip: string;
            copyTooltip: string;
            viewAllText: string;
            viewLessText: string;
            openExternalSystemTooltip: string;
        };
        timezone: {
            searchPlaceholder: string;
        };
        actionsPanel: {
            closeTooltip: string;
        };
        filterBar: {
            reset: {
                buttonName: string;
            };
            search: {
                tooltip: string;
                placeholder: string;
            };
            filters: {
                defaultName: string;
                saveNewFilterTooltip: string;
                searchPlaceholder: string;
                searchEmptyResult: string;
                saveAsNewFilter: string;
                saveChanges: string;
                saveAsNew: string;
                change: string;
                resetChanges: string;
                remove: string;
                name: string;
                error: string;
                errorHint: string;
                saveButton: string;
                cancelButton: string;
            };
            add: {
                tooltip: string;
            };
            pipe: {
                clearButtonTooltip: string;
                removeButtonTooltip: string;
                applyButton: string;
                emptySearchResult: string;
                selectAll: string;
            };
            datePipe: {
                customPeriod: string;
                customPeriodFrom: string;
                customPeriodTo: string;
                customPeriodErrorHint: string;
                backToPeriodSelection: string;
            };
        };
        clampedText: {
            openText: string;
            closeText: string;
        };
        navbarIc: {
            toggle: {
                pinButton: string;
                collapseButton: string;
            };
        };
        searchExpandable: {
            tooltip: string;
            placeholder: string;
        };
        appSwitcher: {
            searchPlaceholder: string;
            searchEmptyResult: string;
            sitesHeader: string;
        };
        timeRange: {
            title: {
                for: string;
                placeholder: string;
            };
            editor: {
                from: string;
                to: string;
                apply: string;
                cancel: string;
                rangeLabel: string;
                allTime: string;
                currentQuarter: string;
                currentYear: string;
            };
            durationTemplate: {
                title: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
                option: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
            };
        };
        notificationCenter: {
            notifications: string;
            remove: string;
            doNotDisturb: string;
            showPopUpNotifications: string;
            noNotifications: string;
            failedToLoadNotifications: string;
            repeat: string;
        };
    };
    'ru-RU': {
        formatters: {
            number: {
                rounding: {
                    separator: string;
                    groupSeparator: string;
                    thousand: string;
                    million: string;
                    billion: string;
                    trillion: string;
                };
                decimal: {
                    viewGroupSeparator: string;
                };
            };
        };
        input: {
            number: {
                groupSeparator: string[];
                fractionSeparator: string;
                startFormattingFrom: number;
                viewGroupSeparator: string;
            };
        };
        sizeUnits: {
            defaultUnitSystem: string;
            defaultPrecision: number;
            unitSystems: {
                SI: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
                IEC: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
            };
        };
        select: {
            hiddenItemsText: string;
        };
        datepicker: {
            placeholder: string;
            dateInput: string;
        };
        timepicker: {
            placeholder: {
                full: string;
                short: string;
            };
        };
        fileUpload: {
            single: {
                captionText: string;
                browseLink: string;
            };
            multiple: {
                captionText: string;
                captionTextWhenSelected: string;
                captionTextForCompactSize: string;
                browseLink: string;
                title: string;
                gridHeaders: {
                    file: string;
                    size: string;
                };
            };
        };
        codeBlock: {
            softWrapOnTooltip: string;
            softWrapOffTooltip: string;
            downloadTooltip: string;
            copiedTooltip: string;
            copyTooltip: string;
            viewAllText: string;
            viewLessText: string;
            openExternalSystemTooltip: string;
        };
        timezone: {
            searchPlaceholder: string;
        };
        actionsPanel: {
            closeTooltip: string;
        };
        filterBar: {
            reset: {
                buttonName: string;
            };
            search: {
                tooltip: string;
                placeholder: string;
            };
            filters: {
                defaultName: string;
                saveNewFilterTooltip: string;
                searchPlaceholder: string;
                searchEmptyResult: string;
                saveAsNewFilter: string;
                saveChanges: string;
                saveAsNew: string;
                change: string;
                resetChanges: string;
                remove: string;
                name: string;
                error: string;
                errorHint: string;
                saveButton: string;
                cancelButton: string;
            };
            add: {
                tooltip: string;
            };
            pipe: {
                clearButtonTooltip: string;
                removeButtonTooltip: string;
                applyButton: string;
                emptySearchResult: string;
                selectAll: string;
            };
            datePipe: {
                customPeriod: string;
                customPeriodFrom: string;
                customPeriodTo: string;
                customPeriodErrorHint: string;
                backToPeriodSelection: string;
            };
        };
        clampedText: {
            openText: string;
            closeText: string;
        };
        navbarIc: {
            toggle: {
                pinButton: string;
                collapseButton: string;
            };
        };
        searchExpandable: {
            tooltip: string;
            placeholder: string;
        };
        appSwitcher: {
            searchPlaceholder: string;
            searchEmptyResult: string;
            sitesHeader: string;
        };
        timeRange: {
            title: {
                for: string;
                placeholder: string;
            };
            editor: {
                from: string;
                to: string;
                apply: string;
                cancel: string;
                rangeLabel: string;
                allTime: string;
                currentQuarter: string;
                currentYear: string;
            };
            durationTemplate: {
                title: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
                option: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
            };
        };
        notificationCenter: {
            notifications: string;
            remove: string;
            doNotDisturb: string;
            showPopUpNotifications: string;
            noNotifications: string;
            failedToLoadNotifications: string;
            repeat: string;
        };
    };
    'tk-TM': {
        formatters: {
            number: {
                rounding: {
                    separator: string;
                    groupSeparator: string;
                    thousand: string;
                    million: string;
                    billion: string;
                    trillion: string;
                };
            };
        };
        input: {
            number: {
                groupSeparator: string[];
                fractionSeparator: string;
            };
        };
        sizeUnits: {
            defaultUnitSystem: string;
            defaultPrecision: number;
            unitSystems: {
                SI: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
                IEC: {
                    abbreviations: string[];
                    base: number;
                    power: number;
                };
            };
        };
        select: {
            hiddenItemsText: string;
        };
        datepicker: {
            placeholder: string;
            dateInput: string;
        };
        timepicker: {
            placeholder: {
                full: string;
                short: string;
            };
        };
        fileUpload: {
            single: {
                captionText: string;
                browseLink: string;
            };
            multiple: {
                captionText: string;
                captionTextWhenSelected: string;
                captionTextForCompactSize: string;
                browseLink: string;
                title: string;
                gridHeaders: {
                    file: string;
                    size: string;
                };
            };
        };
        codeBlock: {
            softWrapOnTooltip: string;
            softWrapOffTooltip: string;
            downloadTooltip: string;
            copiedTooltip: string;
            copyTooltip: string;
            viewAllText: string;
            viewLessText: string;
            openExternalSystemTooltip: string;
        };
        timezone: {
            searchPlaceholder: string;
        };
        actionsPanel: {
            closeTooltip: string;
        };
        filterBar: {
            reset: {
                buttonName: string;
            };
            search: {
                tooltip: string;
                placeholder: string;
            };
            filters: {
                defaultName: string;
                saveNewFilterTooltip: string;
                searchPlaceholder: string;
                searchEmptyResult: string;
                saveAsNewFilter: string;
                saveChanges: string;
                saveAsNew: string;
                change: string;
                resetChanges: string;
                remove: string;
                name: string;
                error: string;
                errorHint: string;
                saveButton: string;
                cancelButton: string;
            };
            add: {
                tooltip: string;
            };
            pipe: {
                clearButtonTooltip: string;
                removeButtonTooltip: string;
                applyButton: string;
                emptySearchResult: string;
                selectAll: string;
            };
            datePipe: {
                customPeriod: string;
                customPeriodFrom: string;
                customPeriodTo: string;
                customPeriodErrorHint: string;
                backToPeriodSelection: string;
            };
        };
        clampedText: {
            openText: string;
            closeText: string;
        };
        navbarIc: {
            toggle: {
                pinButton: string;
                collapseButton: string;
            };
        };
        searchExpandable: {
            tooltip: string;
            placeholder: string;
        };
        appSwitcher: {
            searchPlaceholder: string;
            searchEmptyResult: string;
            sitesHeader: string;
        };
        timeRange: {
            title: {
                for: string;
                placeholder: string;
            };
            editor: {
                from: string;
                to: string;
                apply: string;
                cancel: string;
                rangeLabel: string;
                allTime: string;
                currentQuarter: string;
                currentYear: string;
            };
            durationTemplate: {
                title: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
                option: {
                    SEPARATOR: string;
                    LAST_PART_SEPARATOR: string;
                    YEARS: string;
                    MONTHS: string;
                    WEEKS: string;
                    DAYS: string;
                    HOURS: string;
                    MINUTES: string;
                    SECONDS: string;
                    YEARS_FRACTION: string;
                    MONTHS_FRACTION: string;
                };
            };
        };
        notificationCenter: {
            notifications: string;
            remove: string;
            doNotDisturb: string;
            showPopUpNotifications: string;
            noNotifications: string;
            failedToLoadNotifications: string;
            repeat: string;
        };
    };
};
export declare const KBQ_LOCALE_DATA: InjectionToken<any>;
export declare const KBQ_LOCALE_SERVICE: InjectionToken<KbqLocaleService>;
/**
 * Attribute name to be used to set the locale in the html element.
 *
 * @default 'lang'
 *
 * @docs-private
 */
export declare const KBQ_LOCALE_SERVICE_LANG_ATTR_NAME: InjectionToken<string>;
/**
 * Utility provider to configure the attribute name to be used to set the locale in the html element.
 *
 * @see KBQ_LOCALE_SERVICE_LANG_ATTR_NAME
 *
 * @docs-private
 */
export declare const kbqLocaleServiceLangAttrNameProvider: (attrName: string) => Provider;
export declare class KbqLocaleService {
    readonly changes: BehaviorSubject<string>;
    readonly locales: any;
    private readonly document;
    id: string;
    current: any;
    private readonly langAttrName;
    constructor(id: string, localeData: any);
    setLocale(id: string): void;
    addLocale(id: string, localeData: any): void;
    getParams(componentName: string): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqLocaleService, [{ optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<KbqLocaleService>;
}
export declare function numberByParts(value: string, fractionSeparator: string, groupSeparator: string): {
    integer: string;
    fraction: string;
};
/**
 * Function that returns a string representation of a number without localized separators
 */
export declare function normalizeNumber(value: string | null | undefined, customConfig: {
    groupSeparator: string[];
    fractionSeparator: string;
}): string;
/**
 * Function that parse string and return a number. The string can be in any locale.
 */
export declare function checkAndNormalizeLocalizedNumber(num: string | null | undefined, locale?: string): number | null;
