import { OnInit, OnDestroy, OnChanges } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * @description
 * A tooltip is a text box that displays addition information when a user hovers over, clicks or gives focus to a UI element such as an icon, a highlighted word or a button.
 *
 * The information should be contextual, useful and non-essential.
 *
 */
export declare class EuiTooltipDirective implements OnChanges, OnInit, OnDestroy {
    /**
     * Sets the `data-e2e` attribute for the host element.
     *
     * @default 'eui-tooltip'
     */
    e2eAttr: string;
    /**
     * Sets the delay for the tooltip to be visible.
     *
     * @default 0
     */
    showDelay: number;
    /**
     * Sets the delay for the tooltip to be hidden
     *
     * @default 0
     */
    hideDelay: number;
    /**
     * Sets the alignment of the content in the tooltip.
     *
     * @default 'center''
     */
    contentAlignment: 'left' | 'right' | 'center' | 'justify';
    /**
     * Sets the position of the tooltip relative to its trigger element.
     *
     * @default 'center''
     */
    position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string;
    /**
     * Whether the tooltip is disabled.
     *
     * @default false (enable)
     */
    isDisabled: boolean;
    /**
     * Tooltip content.
     */
    tooltipContent: string;
    /**
     * Whether the tooltip has a Primary state.
     *
     * @default false
     */
    euiTooltipPrimary: boolean;
    /**
     * Whether the tooltip has a Secondary state.
     *
     * @default false
     */
    euiTooltipSecondary: boolean;
    /**
     * Whether the tooltip has Info state.
     *
     * @default false
     */
    euiTooltipInfo: boolean;
    /**
     * Whether the tooltip has a Success state.
     *
     * @default false
     */
    euiTooltipSuccess: boolean;
    /**
     * Whether the tooltip has a Warning state.
     *
     * @default false
     */
    euiTooltipWarning: boolean;
    /**
     * Whether the tooltip has a Danger state.
     *
     * @default false
     */
    euiTooltipDanger: boolean;
    /**
     * Whether the tooltip has Accent state.
     *
     * @default false
     */
    euiTooltipAccent: boolean;
    private originX;
    private originY;
    private overlayX;
    private overlayY;
    private fallbackOriginX;
    private fallbackOriginY;
    private fallbackOverlayX;
    private fallbackOverlayY;
    private overlayRef;
    private destroy$;
    private isOpen$;
    private mouseleaveSubscription;
    private blurSubscription;
    private showDelaySubscription;
    private positionStrategySubscription;
    private tooltipInstance;
    private overlay;
    private host;
    ngOnChanges(): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    mouseEntering(event: MouseEvent): void;
    focused(event: FocusEvent): void;
    /**
     * Returns the current open state.
     *
     * @returns {boolean} `true` if the element is open, otherwise `false`.
     */
    get isOpen(): boolean;
    /**
     * Method that shows a tooltip.
     *
     * @param origin Origin of the tooltip. Where it will be displayed.
     */
    show(origin?: EventTarget): void;
    /**
     * Method that closes a tooltip.
     */
    hide(): void;
    protected onEscapePressed(event: KeyboardEvent): void;
    /**
     * Generates and returns the tooltip configuration based on the defined tooltip properties.
     *
     * @returns {EuiTooltipInterface} The tooltip configuration object, including attributes used in container component.
     */
    private getTooltipConfig;
    /**
     * Determines and returns the tooltip's position based on the overlay's connection pair.
     *
     * @param {ConnectedOverlayPositionChange} overlayPosition - The overlay position change event.
     * @returns {string} The calculated position (`'above'`, `'below'`, `'left'`, or `'right'`).
     */
    private getPosition;
    /**
     * Sets the position-related properties based on the current `position` value.
     */
    private setPosition;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTooltipDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiTooltipDirective, "[euiTooltip]", ["euiTooltip"], { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "showDelay": { "alias": "showDelay"; "required": false; }; "hideDelay": { "alias": "hideDelay"; "required": false; }; "contentAlignment": { "alias": "contentAlignment"; "required": false; }; "position": { "alias": "position"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "tooltipContent": { "alias": "euiTooltip"; "required": false; }; "euiTooltipPrimary": { "alias": "euiTooltipPrimary"; "required": false; }; "euiTooltipSecondary": { "alias": "euiTooltipSecondary"; "required": false; }; "euiTooltipInfo": { "alias": "euiTooltipInfo"; "required": false; }; "euiTooltipSuccess": { "alias": "euiTooltipSuccess"; "required": false; }; "euiTooltipWarning": { "alias": "euiTooltipWarning"; "required": false; }; "euiTooltipDanger": { "alias": "euiTooltipDanger"; "required": false; }; "euiTooltipAccent": { "alias": "euiTooltipAccent"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_showDelay: unknown;
    static ngAcceptInputType_hideDelay: unknown;
    static ngAcceptInputType_isDisabled: unknown;
    static ngAcceptInputType_euiTooltipPrimary: unknown;
    static ngAcceptInputType_euiTooltipSecondary: unknown;
    static ngAcceptInputType_euiTooltipInfo: unknown;
    static ngAcceptInputType_euiTooltipSuccess: unknown;
    static ngAcceptInputType_euiTooltipWarning: unknown;
    static ngAcceptInputType_euiTooltipDanger: unknown;
    static ngAcceptInputType_euiTooltipAccent: unknown;
}
//# sourceMappingURL=eui-tooltip.directive.d.ts.map