import { Injector } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { BsLocaleService } from 'ngx-bootstrap/datepicker';
import { AbstractI18nService, AppDefaults } from '@wm/core';
import * as i0 from "@angular/core";
export declare class I18nServiceImpl extends AbstractI18nService {
    private $http;
    private bsLocaleService;
    private appDefaults;
    private inj;
    private selectedLocale;
    private defaultSupportedLocale;
    private readonly appLocale;
    private readonly prefabLocale;
    private messages;
    private _isAngularLocaleLoaded;
    private formatsByLocale;
    private get app();
    private bundleLoaded;
    constructor($http: HttpClient, bsLocaleService: BsLocaleService, appDefaults: AppDefaults, inj: Injector);
    private updateLocaleDirection;
    private init;
    getSelectedLocale(): string;
    getDefaultSupportedLocale(): string;
    getAppLocale(): any;
    getPrefabLocaleBundle(prefabName: string): any;
    private extendPrefabMessages;
    private extendMessages;
    private loadResource;
    protected loadAppLocaleBundle(): void;
    protected loadMomentLocaleBundle(momentLocale: any): void;
    protected loadAngularLocaleBundle(angLocale: any): Promise<void>;
    protected loadCalendarLocaleBundle(calendarLocale: any, force?: boolean): Promise<void>;
    protected loadMomentTimeZoneBundle(locale: any, compInstance?: any): Promise<void>;
    protected loadLocaleBundles(libLocale: any): Promise<void>;
    setTimezone(locale: any, compInstance?: any): void;
    getTimezone(compInstance?: any): any;
    getFormatsByLocale(): {
        timezone: string;
        number: string;
    };
    setSelectedLocale(locale: any): Promise<void>;
    private deduceAppLocale;
    loadDefaultLocale(): Promise<void>;
    getLocalizedMessage(message: any, ...args: any[]): any;
    getAcceptedLanguages(): string[];
    initCalendarLocale(): Promise<any>;
    isAngularLocaleLoaded(): boolean;
    setwidgetLocale(locale: any): void;
    getwidgetLocale(): {
        timezone: string;
        number: string;
    };
    private notifyLocaleChanged;
    static ɵfac: i0.ɵɵFactoryDeclaration<I18nServiceImpl, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<I18nServiceImpl>;
}
