import { ComponentFactoryResolver, ComponentRef, ElementRef, Injector, OnInit, OnDestroy, ViewContainerRef } from '@angular/core';
import { OverlayContainerRef } from '@duoduo-oba/ng-devui/overlay-container';
import { PopoverComponent } from './popover.component';
import { PopoverType, PositionType, TriggerType } from './popover.types';
export declare class PopoverDirective implements OnInit, OnDestroy {
    private triggerElementRef;
    private overlayContainerRef;
    private viewContainerRef;
    private injector;
    private componentFactoryResolver;
    popoverComponentRef: ComponentRef<PopoverComponent>;
    _content: string | HTMLElement;
    private subscription;
    private blurSub;
    private blurSubscription;
    /**
     * popover内容
     */
    content: any;
    /**
     * 是否通过visible来控制popover状态
     */
    controlled: boolean;
    /**
     * popover显示位置
     */
    position: PositionType;
    /**
     * 是否显示动画
     */
    showAnimate: boolean;
    /**
     * `scrollElement` 默认值是 `window `, 可以不传，只有当页面的滚动不在 window 且`appendToBody`属性为`true`上的时候才需要传递
     */
    scrollElement: Element;
    /**
     * `appendToBody`默认可以不传，仅当popover绑定元素外层宽高不够时，overflow为hidden，不想popover的弹出框被一并隐藏掉。
     */
    appendToBody: boolean;
    zIndex: number;
    popType: PopoverType;
    trigger: TriggerType;
    hoverToContent: boolean;
    visible: boolean;
    constructor(triggerElementRef: ElementRef, overlayContainerRef: OverlayContainerRef, viewContainerRef: ViewContainerRef, injector: Injector, componentFactoryResolver: ComponentFactoryResolver);
    onDocumentClick: (event: any) => void;
    createPopover(): void;
    show(): void;
    destroy(): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    hide(): void;
}
