import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { ElementPlacement } from '../../../interfaces/core';
import * as i0 from "@angular/core";
import * as i1 from "../../../utils/coercion";
export declare class ItTooltipDirective implements AfterViewInit, OnDestroy {
    private readonly _elementRef;
    /**
     * Define the tooltip title
     * @param title the tooltip title
     */
    set title(title: string | undefined);
    /**
     * Define the tooltip placement
     * @param placement
     */
    set tooltipPlacement(placement: ElementPlacement);
    /**
     * Indicates whether the title contains html
     * @param html true if contain html
     */
    set tooltipHtml(html: boolean);
    /**
     * This event fires immediately when the show method is called.
     */
    showEvent: EventEmitter<Event>;
    /**
     * This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).
     */
    shownEvent: EventEmitter<Event>;
    /**
     * This event fires immediately when the hide method is called.
     */
    hideEvent: EventEmitter<Event>;
    /**
     * This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).
     */
    hiddenEvent: EventEmitter<Event>;
    /**
     * This event fires after the show event when the tooltip template has been added to the DOM.
     */
    insertedEvent: EventEmitter<Event>;
    private readonly element;
    private tooltip?;
    constructor(_elementRef: ElementRef);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Shows the tooltip of an item.
     */
    show(): void;
    /**
     * Hide the tooltip of an element.
     */
    hide(): void;
    /**
     * Activate / Deactivate the tooltip of an element
     */
    toggle(): void;
    /**
     * Hides and destroys the tooltip of an element.
     */
    dispose(): void;
    /**
     * Gives the tooltip of an element a chance to be shown.
     */
    enable(): void;
    /**
     * Removes the ability to show the tooltip of an element.
     */
    disable(): void;
    /**
     * Toggles the possibility that the tooltip of an element is shown or hidden.
     */
    toggleEnabled(): void;
    /**
     * Updates the position of an element's tooltip.
     */
    update(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItTooltipDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ItTooltipDirective, "[itTooltip]", ["itTooltip"], { "title": { "alias": "itTooltip"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; "tooltipHtml": { "alias": "tooltipHtml"; "required": false; }; }, { "showEvent": "showEvent"; "shownEvent": "shownEvent"; "hideEvent": "hideEvent"; "hiddenEvent": "hiddenEvent"; "insertedEvent": "insertedEvent"; }, never, never, true, never>;
    static ngAcceptInputType_tooltipHtml: i1.BooleanInput;
}
