import * as i0 from '@angular/core';
import { AfterViewInit, OnDestroy, EventEmitter } from '@angular/core';
import { NgDocOverlayRef } from '@ng-doc/ui-kit/classes/overlay-ref';
import { NgDocContent, BaseElement, NgDocOverlayPosition } from '@ng-doc/ui-kit/types';

declare class NgDocTooltipDirective implements AfterViewInit, OnDestroy {
    private readonly elementRef;
    private readonly changeDetectorRef;
    private readonly viewContainerRef;
    private readonly overlayService;
    private readonly ngZone;
    private readonly scrollStrategy;
    content: NgDocContent;
    delay: number;
    displayOrigin?: BaseElement<HTMLElement>;
    pointerOrigin?: BaseElement<HTMLElement>;
    positions: NgDocOverlayPosition | NgDocOverlayPosition[];
    canOpen: boolean;
    panelClass: string | string[];
    minHeight: number | string;
    maxHeight: number | string;
    height: number | string;
    minWidth: number | string;
    maxWidth: number | string;
    width: number | string;
    beforeOpen: EventEmitter<void>;
    afterOpen: EventEmitter<void>;
    beforeClose: EventEmitter<void>;
    afterClose: EventEmitter<void>;
    overlayRef: NgDocOverlayRef | null;
    private readonly destroyRef;
    constructor();
    ngAfterViewInit(): void;
    show(): void;
    hide(): void;
    get isOpened(): boolean;
    ngOnDestroy(): void;
    private get pointerOriginElement();
    private get displayOriginElement();
    private getPositions;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgDocTooltipDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocTooltipDirective, "[ngDocTooltip]", ["ngDocTooltip"], { "content": { "alias": "ngDocTooltip"; "required": false; }; "delay": { "alias": "delay"; "required": false; }; "displayOrigin": { "alias": "displayOrigin"; "required": false; }; "pointerOrigin": { "alias": "pointerOrigin"; "required": false; }; "positions": { "alias": "positions"; "required": false; }; "canOpen": { "alias": "canOpen"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "height": { "alias": "height"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "beforeOpen": "beforeOpen"; "afterOpen": "afterOpen"; "beforeClose": "beforeClose"; "afterClose": "afterClose"; }, never, never, true, never>;
}

export { NgDocTooltipDirective };
