import { ElementRef, ComponentRef, Type, TemplateRef, EventEmitter, Provider } from '@angular/core'; import { PositioningOptions } from '../positioning'; export interface ListenOptions { target?: ElementRef; triggers?: string; show?: Function; hide?: Function; toggle?: Function; } export declare class ComponentLoader { onBeforeShow: EventEmitter; onShown: EventEmitter; onBeforeHide: EventEmitter; onHidden: EventEmitter; instance: T; _componentRef: ComponentRef; private _providers; private _componentFactory; private _elementRef; private _zoneSubscription; private _contentRef; private _viewContainerRef; private _injector; private _renderer; private _ngZone; private _componentFactoryResolver; private _posService; private _unregisterListenersFn; readonly isShown: boolean; /** * Placement of a component. Accepts: "top", "bottom", "left", "right" */ private attachment; /** * A selector specifying the element the popover should be appended to. * Currently only supports "body". */ private container; /** * Specifies events that should trigger. Supports a space separated list of * event names. */ private triggers; attach(compType: Type): ComponentLoader; to(container?: string): ComponentLoader; position(opts?: PositioningOptions): ComponentLoader; provide(provider: Provider): ComponentLoader; show(opts?: { content?: string | TemplateRef; [key: string]: any; }): ComponentRef; hide(): ComponentLoader; toggle(): void; dispose(): void; listen(listenOpts: ListenOptions): ComponentLoader; private _subscribePositioning(); private _unsubscribePositioning(); private _getContentRef(content); }