import { ApplicationRef, ComponentFactoryResolver, NgZone, ViewContainerRef, Injector } from '@angular/core';
import { FrameworkDelegate } from '@nfdoom/ionic-core';
import { EnvironmentInjector } from '../di/r3_injector';
import * as i0 from "@angular/core";
export declare class AngularDelegate {
    private zone;
    private appRef;
    constructor(zone: NgZone, appRef: ApplicationRef);
    create(resolverOrInjector: ComponentFactoryResolver, injector: Injector, location?: ViewContainerRef, elementReferenceKey?: string): AngularFrameworkDelegate;
    static ɵfac: i0.ɵɵFactoryDeclaration<AngularDelegate, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AngularDelegate>;
}
export declare class AngularFrameworkDelegate implements FrameworkDelegate {
    private resolverOrInjector;
    private injector;
    private location;
    private appRef;
    private zone;
    private elementReferenceKey?;
    private elRefMap;
    private elEventsMap;
    constructor(resolverOrInjector: ComponentFactoryResolver | EnvironmentInjector, injector: Injector, location: ViewContainerRef | undefined, appRef: ApplicationRef, zone: NgZone, elementReferenceKey?: string | undefined);
    attachViewToDom(container: any, component: any, params?: any, cssClasses?: string[]): Promise<any>;
    removeViewFromDom(_container: any, component: any): Promise<void>;
}
export declare const attachView: (zone: NgZone, resolverOrInjector: ComponentFactoryResolver | EnvironmentInjector, injector: Injector, location: ViewContainerRef | undefined, appRef: ApplicationRef, elRefMap: WeakMap<HTMLElement, any>, elEventsMap: WeakMap<HTMLElement, () => void>, container: any, component: any, params: any, cssClasses: string[] | undefined) => any;
export declare const bindLifecycleEvents: (zone: NgZone, instance: any, element: HTMLElement) => (() => void);
