import { ApplicationRef, ElementRef, NgZone, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core';
import { DokuTooltipPlacement } from './tooltip.interface';
import * as i0 from "@angular/core";
export declare class DokuTooltip implements OnInit, OnDestroy {
    private renderer;
    private document;
    private ngZone;
    private elementRef;
    private appRef;
    /**
     * Content of the tooltip.
     * It can be a string or a template for more customization.
     *
     * @default ''
     */
    content: string | TemplateRef<unknown>;
    /**
     * The color of the tooltip.
     * Either `dark` or `light`.
     * @default 'dark'
     */
    color: 'dark' | 'light';
    /**
     * The placement of the tooltip.
     * @default 'top'
     */
    placement: DokuTooltipPlacement;
    /**
     * Whether tooltip should stay when hovering on its element.
     * @default false
     */
    stayOnHover: boolean;
    /**
     * Whether to disable the tooltip.
     * Disabled tooltip can't be opened.
     * @default false
     */
    disabled: boolean;
    private isShown;
    private tooltipElement?;
    private tooltipContentElement?;
    private tooltipArrowElement?;
    private viewRef?;
    private cleanup?;
    private destroy$;
    constructor(renderer: Renderer2, document: Document, ngZone: NgZone, elementRef: ElementRef, appRef: ApplicationRef);
    protected get classes(): string[];
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Show tooltip programmatically.
     */
    show(): void;
    /**
     * Hide tooltip programmatically.
     */
    hide(): void;
    /**
     * Toggle tooltip programmatically.
     */
    toggle(): void;
    /**
     * Update the content of the tooltip with new one.
     */
    updateContent(content: string | TemplateRef<unknown>): void;
    private createTooltipElement;
    private createTooltipContentElement;
    private createArrowElement;
    private setTooltipContent;
    private updatePosition;
    private doAutoUpdatePosition;
    private handleEventsShow;
    private handleEventsHide;
    private handleHoveringTooltipElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<DokuTooltip, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DokuTooltip, "[doku-tooltip]", ["dokuTooltip"], { "content": "doku-tooltip"; "color": "tooltipColor"; "placement": "tooltipPlacement"; "stayOnHover": "tooltipStayOnHover"; "disabled": "tooltipDisabled"; }, {}, never, never, true>;
}
