import { ConnectedPosition, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
import { Router } from '@angular/router';
import type { PopoverDir, MonkeyEcxPopoverOptions } from './monkeyecx-popover-options.directive';
import * as i0 from "@angular/core";
export declare class MonkeyEcxPopoverDirective implements OnDestroy {
    private tpl;
    private vcr;
    private el;
    private zone;
    private _viewContainerRef;
    private _cd;
    private overlay;
    private overlayPositionBuilder;
    private router;
    private options;
    private _popover;
    get popover(): boolean;
    set popover(show: boolean);
    closed: (e?: MouseEvent) => void;
    private _target;
    get target(): HTMLElement;
    set target(target: HTMLElement);
    minwidth: boolean;
    backdrop: boolean;
    watch: boolean;
    dir: PopoverDir;
    contextmenu: boolean;
    height: number | string;
    private overlayRef;
    private positionStrategy;
    private templatePortal;
    private subs;
    private eventsSubs;
    private resizeObserver;
    constructor(tpl: TemplateRef<any>, vcr: ViewContainerRef, el: ElementRef, zone: NgZone, _viewContainerRef: ViewContainerRef, _cd: ChangeDetectorRef, overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder, router: Router, options: MonkeyEcxPopoverOptions);
    private onHandleClose;
    getDirPositions(dir?: PopoverDir): ConnectedPosition[];
    createPopover(origin?: FlexibleConnectedPositionStrategyOrigin, options?: MonkeyEcxPopoverOptions): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyEcxPopoverDirective, [null, null, null, null, null, null, null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<MonkeyEcxPopoverDirective, "[monkeyecxPopover]", never, { "popover": "monkeyecxPopover"; "closed": "monkeyecxPopoverClosed"; "target": "monkeyecxPopoverTarget"; "minwidth": "monkeyecxPopoverMinwidth"; "backdrop": "monkeyecxPopoverBackdrop"; "watch": "monkeyecxPopoverWatch"; "dir": "monkeyecxPopoverDir"; "contextmenu": "monkeyecxPopoverContextmenu"; "height": "monkeyecxPopoverHeight"; }, {}, never>;
}
