export declare abstract class BasePortalHost extends BasePortalOutlet { } export declare abstract class BasePortalOutlet implements PortalOutlet { protected _attachedPortal: Portal | null; readonly attachDomPortal: null | ((portal: DomPortal) => any); attach(portal: ComponentPortal): ComponentRef; attach(portal: TemplatePortal): EmbeddedViewRef; attach(portal: any): any; abstract attachComponentPortal(portal: ComponentPortal): ComponentRef; abstract attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef; detach(): void; dispose(): void; hasAttached(): boolean; setDisposeFn(fn: () => void): void; } export declare class CdkPortal extends TemplatePortal { constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef); static ɵdir: i0.ɵɵDirectiveDefWithMeta; static ɵfac: i0.ɵɵFactoryDef; } export declare class CdkPortalOutlet extends BasePortalOutlet implements OnInit, OnDestroy { attachDomPortal: (portal: DomPortal) => void; attached: EventEmitter; get attachedRef(): CdkPortalOutletAttachedRef; get portal(): Portal | null; set portal(portal: Portal | null); constructor(_componentFactoryResolver: ComponentFactoryResolver, _viewContainerRef: ViewContainerRef, _document?: any); attachComponentPortal(portal: ComponentPortal): ComponentRef; attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef; ngOnDestroy(): void; ngOnInit(): void; static ngAcceptInputType_portal: Portal | null | undefined | ''; static ɵdir: i0.ɵɵDirectiveDefWithMeta; static ɵfac: i0.ɵɵFactoryDef; } export declare type CdkPortalOutletAttachedRef = ComponentRef | EmbeddedViewRef | null; export declare class ComponentPortal extends Portal> { component: ComponentType; componentFactoryResolver?: ComponentFactoryResolver | null; injector?: Injector | null; viewContainerRef?: ViewContainerRef | null; constructor(component: ComponentType, viewContainerRef?: ViewContainerRef | null, injector?: Injector | null, componentFactoryResolver?: ComponentFactoryResolver | null); } export interface ComponentType { new (...args: any[]): T; } export declare class DomPortal extends Portal { readonly element: T; constructor(element: T | ElementRef); } export declare class DomPortalHost extends DomPortalOutlet { } export declare class DomPortalOutlet extends BasePortalOutlet { attachDomPortal: (portal: DomPortal) => void; outletElement: Element; constructor( outletElement: Element, _componentFactoryResolver: ComponentFactoryResolver, _appRef: ApplicationRef, _defaultInjector: Injector, _document?: any); attachComponentPortal(portal: ComponentPortal): ComponentRef; attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef; dispose(): void; } export declare abstract class Portal { get isAttached(): boolean; attach(host: PortalOutlet): T; detach(): void; setAttachedHost(host: PortalOutlet | null): void; } export declare type PortalHost = PortalOutlet; export declare class PortalHostDirective extends CdkPortalOutlet { static ɵdir: i0.ɵɵDirectiveDefWithMeta; static ɵfac: i0.ɵɵFactoryDef; } export declare class PortalInjector implements Injector { constructor(_parentInjector: Injector, _customTokens: WeakMap); get(token: any, notFoundValue?: any): any; } export declare class PortalModule { static ɵinj: i0.ɵɵInjectorDef; static ɵmod: i0.ɵɵNgModuleDefWithMeta; } export interface PortalOutlet { attach(portal: Portal): any; detach(): any; dispose(): void; hasAttached(): boolean; } export declare class TemplatePortal extends Portal> { context: C | undefined; get origin(): ElementRef; templateRef: TemplateRef; viewContainerRef: ViewContainerRef; constructor(template: TemplateRef, viewContainerRef: ViewContainerRef, context?: C); attach(host: PortalOutlet, context?: C | undefined): EmbeddedViewRef; detach(): void; } export declare class TemplatePortalDirective extends CdkPortal { static ɵdir: i0.ɵɵDirectiveDefWithMeta; static ɵfac: i0.ɵɵFactoryDef; }