export declare abstract class BasePortalHost extends BasePortalOutlet { } export declare abstract class BasePortalOutlet implements PortalOutlet { protected _attachedPortal: Portal | null; 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); } export declare class CdkPortalOutlet extends BasePortalOutlet implements OnInit, OnDestroy { attached: EventEmitter; readonly attachedRef: CdkPortalOutletAttachedRef; portal: Portal | null; constructor(_componentFactoryResolver: ComponentFactoryResolver, _viewContainerRef: ViewContainerRef); attachComponentPortal(portal: ComponentPortal): ComponentRef; attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef; ngOnDestroy(): void; ngOnInit(): void; } 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 DomPortalHost extends DomPortalOutlet { } export declare class DomPortalOutlet extends BasePortalOutlet { outletElement: Element; constructor( outletElement: Element, _componentFactoryResolver: ComponentFactoryResolver, _appRef: ApplicationRef, _defaultInjector: Injector); attachComponentPortal(portal: ComponentPortal): ComponentRef; attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef; dispose(): void; } export declare abstract class Portal { readonly isAttached: boolean; attach(host: PortalOutlet): T; detach(): void; setAttachedHost(host: PortalOutlet | null): void; } export declare type PortalHost = PortalOutlet; export declare class PortalHostDirective extends CdkPortalOutlet { } export declare class PortalInjector implements Injector { constructor(_parentInjector: Injector, _customTokens: WeakMap); get(token: any, notFoundValue?: any): any; } export declare class PortalModule { } export interface PortalOutlet { attach(portal: Portal): any; detach(): any; dispose(): void; hasAttached(): boolean; } export declare class TemplatePortal extends Portal> { context: C | undefined; readonly 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 { }