import { TemplateRef, Type, ViewContainerRef } from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import { NgxTooltipOptions } from '../tooltip.directive';
import * as i0 from "@angular/core";
export declare const calcTooltipBounds: (template: TemplateRef<any> | Type<any>, data: any) => Promise<DOMRect>;
export declare class TooltipComponent {
    viewContainer: ViewContainerRef;
    private _data;
    dialog: MatDialog;
    dialogRef: MatDialogRef<any>;
    data: any;
    config: NgxTooltipOptions;
    ownerCords: DOMRect;
    selfCords: any;
    template: TemplateRef<any> | Type<any>;
    isTemplate: boolean;
    hasBootstrapped: boolean;
    pointerIsOnVoid: boolean;
    coverRectCords: {
        top: number;
        left: number;
        height: number;
        width: number;
    };
    constructor(viewContainer: ViewContainerRef, _data: any, dialog: MatDialog, // optional only for the purpose of estimating dimensions
    dialogRef: MatDialogRef<any>);
    ngOnInit(): void;
    /**
     * Close the tooltip if these actions occur
     */
    private onClose;
    private onPointerLeave;
    static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, [null, { optional: true; }, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "ngx-tooltip", never, { "data": "data"; "config": "config"; "ownerCords": "ownerCords"; "selfCords": "selfCords"; "template": "template"; }, {}, never, never, true, never>;
}
