///
import { TemplateRef, ViewContainerRef, ElementRef } from '@angular/core';
/**
* A `Portal` is something that you want to render somewhere else.
* It can be attach to / detached from a `PortalHost`.
*/
export declare abstract class Portal {
private _attachedHost;
/** Attach this portal to a host. */
attach(host: PortalHost): T;
/** Detach this portal from its host */
detach(): void;
/** Whether this portal is attached to a host. */
readonly isAttached: boolean;
/**
* Sets the PortalHost reference without performing `attach()`. This is used directly by
* the PortalHost when it is performing an `attach()` or `detach()`.
*/
setAttachedHost(host: PortalHost): void;
}
/**
* A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).
*/
export declare class TemplatePortal extends Portal