import { OnDestroy, OnInit, ChangeDetectorRef } from '@angular/core';
import { UxAppShellService, UxLanguage } from '@eui/core';
import { TranslateService } from '@ngx-translate/core';
import { BaseDirective } from '../../base.directive';
import { EuiDialogService } from '../../components/eui-dialog';
import * as i0 from "@angular/core";
export declare class EuiLanguageSelectorComponent extends BaseDirective implements OnInit, OnDestroy {
    private cd;
    private euiDialogService;
    appShellService: UxAppShellService;
    private translateService;
    get cssClasses(): string;
    languages: UxLanguage[];
    selectedLanguage: UxLanguage;
    private dialogRef;
    private destroy$;
    constructor(cd: ChangeDetectorRef, euiDialogService: EuiDialogService, appShellService: UxAppShellService, translateService: TranslateService);
    /**
     * returns true if there are at least one and max four languages.
     */
    get isShowDropDown(): boolean;
    /**
     * returns true if there are at least five languages.
     */
    get isShowModal(): boolean;
    ngOnInit(): void;
    ngOnDestroy(): void;
    onLanguageChanged(language: UxLanguage): void;
    /**
     * Opens the modal that renders the UxLanguage array with modal actions bindings to this Component
     */
    open(titleLabel?: string): void;
    /**
     * returns the UxLanguage Object from a given language code
     * @param languageCode two char language code
     * @protected
     */
    protected getLanguage(languageCode: string): UxLanguage;
    static ɵfac: i0.ɵɵFactoryDef<EuiLanguageSelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<EuiLanguageSelectorComponent, "eui-language-selector", never, {}, {}, never, never>;
}
