import { TranslateService as NgxTranslateService } from '@ngx-translate/core';
import { OptionsService } from '../common/options.service';
import { AppStateService } from '../common/ui-state.service';
import { BsLocaleService } from 'ngx-bootstrap/datepicker';
import * as i0 from "@angular/core";
/**
 * A service to manage the language of the application.
 */
export declare class TranslateService {
    private ngxTranslate;
    private ui;
    private options;
    private document;
    private bsLocaleService;
    static SAVE_LANGUAGE_KEY: string;
    static defaultLang(): string;
    langsDetail: any;
    langs: any;
    private DEFAULT_SEPARATOR;
    constructor(ngxTranslate: NgxTranslateService, ui: AppStateService, options: OptionsService, document: Document, bsLocaleService: BsLocaleService);
    /**
     * Switches the app to given locale (incl. Angular, Bootstrap, translations).
     * @param localeCode The locale code. Supported formats:
     * - two-letter codes for language only, for example: `en`, `de`
     * - four-letter codes for language and country, separated with underscore or dash, for example: `zh_CN`, `zh_cn`, `zh-CN`, `zh-cn`
     */
    switchToLanguage(localeCode: string): Promise<void>;
    loadLocales(moduleLang: any): Promise<void>;
    setLanguage(lang: string): void;
    /**
     * Finds the first supported language
     */
    firstSupportedLanguage(): any;
    /**
     * Converts a iso language code to a PO language code (e.g. de-de gets de_de).
     * @param lang The iso language code.
     */
    convertToLanguageCodePO(lang: string): string;
    /**
     * Returns the language in the native language.
     * @param lang The language two-letter code.
     * @return The native name.
     */
    getNativeLanguage(lang: string): string;
    saveInLocalStorage(lang: string): void;
    getSupported(localeCode: string): any;
    /**
     * Gets the language from the query parameter.
     * @return The language two-letter code.
     */
    queryStringLang(): any;
    private parseLocaleCode;
    /**
     * Gets the language from local storage.
     * @return The language two-letter code.
     */
    private localStorageLang;
    /**
     * Determines which language is set in the browser.
     * @return The languages the browser supports as string array.
     */
    private browserLangs;
    private getQueryParameter;
    /**
     * Sets locale for ngx-bootstrap.
     * @param lang A two-letter language code.
     * @private
     */
    private setBsLocale;
    static ɵfac: i0.ɵɵFactoryDeclaration<TranslateService, [null, null, null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TranslateService>;
}
//# sourceMappingURL=translate.service.d.ts.map