import { ComponentRef, TemplateRef, ComponentFactoryResolver, ViewContainerRef, OnDestroy } from '@angular/core';
import { Portal, TemplatePortal, ComponentPortal, BasePortalHost } from './portal';
/**
* Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,
* the directive instance itself can be attached to a host, enabling declarative use of portals.
*
* Usage:
*
* Hello {{name}}
*
*/
export declare class TemplatePortalDirective extends TemplatePortal {
constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef);
}
/**
* Directive version of a PortalHost. Because the directive *is* a PortalHost, portals can be
* directly attached to it, enabling declarative use.
*
* Usage:
*
*/
export declare class PortalHostDirective extends BasePortalHost implements OnDestroy {
private _componentFactoryResolver;
private _viewContainerRef;
/** The attached portal. */
private _portal;
constructor(_componentFactoryResolver: ComponentFactoryResolver, _viewContainerRef: ViewContainerRef);
/** @deprecated */
_deprecatedPortal: Portal;
/** Portal associated with the Portal host. */
portal: Portal;
ngOnDestroy(): void;
/**
* Attach the given ComponentPortal to this PortalHost using the ComponentFactoryResolver.
*
* @param portal Portal to be attached to the portal host.
*/
attachComponentPortal(portal: ComponentPortal): ComponentRef;
/**
* Attach the given TemplatePortal to this PortlHost as an embedded View.
* @param portal Portal to be attached.
*/
attachTemplatePortal(portal: TemplatePortal): Map;
}
export declare class PortalModule {
}