import * as i0 from '@angular/core';
import { InjectionToken, OnInit, OnDestroy, Injector, ModuleWithProviders } from '@angular/core';
import { ComponentType } from '@angular/cdk/overlay';
import { Observable } from 'rxjs';
import * as i3 from '@angular/cdk/portal';
import { CdkPortalOutlet, ComponentPortal } from '@angular/cdk/portal';
import { LocaleStatus, EasyI18nService } from '@ngx-easy-i18n-js/core';
import * as i2 from '@angular/common';

declare const BOOTSTRAP: InjectionToken<ComponentType<any>>;
declare const LOADING_COMPONENT: InjectionToken<ComponentType<any>>;
declare class EasyI18nBootstrapComponent implements OnInit, OnDestroy {
    private injector;
    private bootstrap;
    private loadingComponent;
    private easyI18nService;
    portalOutlet?: CdkPortalOutlet;
    localeStatus$?: Observable<LocaleStatus>;
    loadingPortal?: ComponentPortal<any> | null;
    private containerRef?;
    constructor(injector: Injector, bootstrap: ComponentType<any>, loadingComponent: ComponentType<any>, easyI18nService: EasyI18nService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EasyI18nBootstrapComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EasyI18nBootstrapComponent, "ngx-easy-i18n", never, {}, {}, never, never, false, never>;
}

interface EasyI18nBootstrapModuleConfig {
    bootstrap: ComponentType<any>;
    loadingComponent?: ComponentType<any>;
}
declare class EasyI18nBootstrapModule {
    static forRoot(config: EasyI18nBootstrapModuleConfig): ModuleWithProviders<EasyI18nBootstrapModule>;
    static ɵfac: i0.ɵɵFactoryDeclaration<EasyI18nBootstrapModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<EasyI18nBootstrapModule, [typeof EasyI18nBootstrapComponent], [typeof i2.CommonModule, typeof i3.PortalModule], [typeof EasyI18nBootstrapComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<EasyI18nBootstrapModule>;
}

export { BOOTSTRAP, EasyI18nBootstrapComponent, EasyI18nBootstrapModule, LOADING_COMPONENT };
export type { EasyI18nBootstrapModuleConfig };
