import { EventEmitter, ViewContainerRef, Renderer2, OnDestroy, TemplateRef } from '@angular/core';
import { PlacementTypes } from './position';
import { StyleTypes } from './style.type';
import { ShowTypes } from './show.type';
import { TooltipService } from './tooltip.service';
import * as i0 from "@angular/core";
export declare class TooltipDirective implements OnDestroy {
    private tooltipService;
    private viewContainerRef;
    private renderer;
    tooltipCssClass: string;
    tooltipTitle?: string;
    tooltipAppendToBody: boolean;
    tooltipSpacing: number;
    tooltipDisabled: boolean;
    tooltipShowCaret: boolean;
    tooltipPlacement: PlacementTypes;
    tooltipAlignment: PlacementTypes;
    tooltipType: StyleTypes;
    tooltipCloseOnClickOutside: boolean;
    tooltipCloseOnMouseLeave: boolean;
    tooltipHideTimeout: number;
    tooltipShowTimeout: number;
    tooltipTemplate: TemplateRef<any>;
    tooltipShowEvent: ShowTypes;
    tooltipContext: any;
    tooltipImmediateExit: boolean;
    show: EventEmitter<boolean>;
    hide: EventEmitter<boolean>;
    private get listensForFocus();
    private get listensForHover();
    private component;
    private timeout;
    private mouseLeaveContentEvent;
    private mouseEnterContentEvent;
    private documentClickEvent;
    constructor(tooltipService: TooltipService, viewContainerRef: ViewContainerRef, renderer: Renderer2);
    ngOnDestroy(): void;
    onFocus(): void;
    onBlur(): void;
    onMouseEnter(): void;
    onMouseLeave(target: any): void;
    onMouseClick(): void;
    showTooltip(immediate?: boolean): void;
    addHideListeners(tooltip: HTMLElement): void;
    hideTooltip(immediate?: boolean): void;
    private createBoundOptions;
    static ɵfac: i0.ɵɵFactoryDeclaration<TooltipDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipDirective, "[ngx-tooltip]", never, { "tooltipCssClass": { "alias": "tooltipCssClass"; "required": false; }; "tooltipTitle": { "alias": "tooltipTitle"; "required": false; }; "tooltipAppendToBody": { "alias": "tooltipAppendToBody"; "required": false; }; "tooltipSpacing": { "alias": "tooltipSpacing"; "required": false; }; "tooltipDisabled": { "alias": "tooltipDisabled"; "required": false; }; "tooltipShowCaret": { "alias": "tooltipShowCaret"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; "tooltipAlignment": { "alias": "tooltipAlignment"; "required": false; }; "tooltipType": { "alias": "tooltipType"; "required": false; }; "tooltipCloseOnClickOutside": { "alias": "tooltipCloseOnClickOutside"; "required": false; }; "tooltipCloseOnMouseLeave": { "alias": "tooltipCloseOnMouseLeave"; "required": false; }; "tooltipHideTimeout": { "alias": "tooltipHideTimeout"; "required": false; }; "tooltipShowTimeout": { "alias": "tooltipShowTimeout"; "required": false; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; }; "tooltipShowEvent": { "alias": "tooltipShowEvent"; "required": false; }; "tooltipContext": { "alias": "tooltipContext"; "required": false; }; "tooltipImmediateExit": { "alias": "tooltipImmediateExit"; "required": false; }; }, { "show": "show"; "hide": "hide"; }, never, never, false, never>;
}
