import { EventEmitter } from '../../stencil-public-runtime';
/**
 * Tooltips display additional information based on a specific action.
 *
 * @version 1.0.0
 * @status stable
 *
 * @slot - The tooltip's target element. Only the first element will be used as the target.
 * @slot content - The tooltip's content. Alternatively, you can use the content prop.
 */
export declare class Tooltip {
    private isVisible;
    private popover;
    private tooltipPositioner;
    private tooltip;
    private _target;
    private get target();
    private set target(value);
    private label;
    host: HTMLNanoTooltipElement;
    /** The tooltip's content. Alternatively, you can use the content slot. */
    content: string;
    setLabel(): void;
    /**
     * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip
     * inside of the viewport.
     */
    placement: 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end';
    /** Set to true to disable the tooltip so it won't show when triggered. */
    disabled: boolean;
    /** The distance in pixels from which to offset the tooltip away from its target. */
    distance: number;
    /** Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods. */
    open: boolean;
    /** The distance in pixels from which to offset the tooltip along its target. */
    skidding: number;
    /**
     * Enable this option to prevent the panel from being clipped when the component is placed inside a container with
     * `overflow: auto|scroll`.
     */
    hoist: boolean;
    /**
     * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple
     * options can be passed by separating them with a space. When manual is used, the tooltip must be activated
     * programmatically.
     */
    trigger: string;
    handleOpenChange(): void;
    /** Emitted when the tooltip begins to show. Calling `event.preventDefault()` will prevent it from being shown. */
    nanoShow: EventEmitter;
    /** Emitted after the tooltip has shown and all transitions are complete. */
    nanoAfterShow: EventEmitter;
    /** Emitted when the tooltip begins to hide. Calling `event.preventDefault()` will prevent it from being hidden. */
    nanoHide: EventEmitter;
    /** Emitted after the tooltip has hidden and all transitions are complete. */
    nanoAfterHide: EventEmitter;
    /** Shows the tooltip. */
    show(): Promise<void>;
    /** Hides the tooltip. */
    hide(): Promise<void>;
    private getTarget;
    private hasTrigger;
    private syncOptions;
    private handleBlur;
    private handleClick;
    private handleFocus;
    private handleKeyDown;
    private handleMouseOver;
    private handleMouseOut;
    private handleSlotChange;
    componentDidLoad(): void;
    componentDidUpdate(): void;
    disconnectedCallback(): void;
    render(): any;
}
