import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy } from '@angular/core';
import { GlobalConfig, I18nService } from '@eui/core';
import { Subject } from 'rxjs';
import { EclLanguage } from '../../../../model';
import { EclLanguageService } from '../../../../services/ecl-language.service';
import { EclLanguageListComponent } from '../../../ecl-language-list';
import { EclSiteHeaderComponentBase } from '../../../ecl-site-header/deprecated/common/ecl-site-header.component';
import { EclAppLanguageDismissEvent } from '../../ecl-app.component';
import * as i0 from "@angular/core";
/**
 * @deprecated
 */
export declare abstract class EclAppComponentBase implements AfterViewInit, OnDestroy {
    protected config: GlobalConfig;
    protected eclLanguageService: EclLanguageService;
    protected i18nService: I18nService;
    protected cd: ChangeDetectorRef;
    languageDismiss: EventEmitter<EclAppLanguageDismissEvent>;
    languages: Array<EclLanguage>;
    protected eclSiteHeader: EclSiteHeaderComponentBase;
    protected eclLanguageList: EclLanguageListComponent;
    protected destroy$: Subject<boolean>;
    private readonly FALLBACK_LANGUAGE;
    constructor(config: GlobalConfig, eclLanguageService: EclLanguageService, i18nService: I18nService, cd: ChangeDetectorRef);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private handleAppLanguagesState;
    private handleActiveLanguageChangeState;
    private handleSiteHeaderUIEvents;
    private handleLanguageListUIEvents;
    private hideLanguageListUI;
    private showLanguageListUI;
    private syncLanguageDataWithUI;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclAppComponentBase, [{ optional: true; }, null, null, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EclAppComponentBase, "ng-component", never, {}, { "languageDismiss": "languageDismiss"; }, never, never, false>;
}
//# sourceMappingURL=ecl-app.component.d.ts.map