import Tailwind from '../base/tailwind-base';
/**
* @tag plus-tooltip
* @summary Tooltip component that displays additional information on hover or click.
*
* @slot - The target element that triggers the tooltip
*
* @csspart tooltip - The tooltip container element
* @csspart arrow - The tooltip arrow indicator
*
* @event plus-tooltip-show - Emitted when the tooltip is shown
* @event plus-tooltip-hide - Emitted when the tooltip is hidden
*
* @example
* ```html
*
* Hover me
*
* ```
*/
declare enum TooltipTrigger {
Hover = "hover",
Click = "click"
}
declare enum TooltipOrientation {
Top = "top",
Bottom = "bottom",
Left = "left",
Right = "right"
}
export default class PlusTooltip extends Tailwind {
slots: Array;
/**
* Sets the size of the tooltip.
* - sm: Small size
* - md: Medium size
* - lg: Large size
* @default 'md'
*/
size: 'sm' | 'md' | 'lg';
/**
* The text content displayed inside the tooltip.
*/
message: string;
/**
* The trigger event for the tooltip.
* - hover: Tooltip appears on hover.
* - click: Tooltip appears on click.
* @default 'hover'
*/
trigger: TooltipTrigger;
/**
* The tooltip placement relative to the target element.
* - top, bottom, left, right
* @default 'top'
*/
orientation: TooltipOrientation;
hideDelay: number;
private isVisible;
private targetElement?;
private cleanup?;
private hideTimeout?;
/**
* Retrieves the tooltip element from the DOM.
*/
private getTooltip;
/**
* Updates the tooltip position dynamically.
*/
private updatePosition;
/**
* Handles tooltip appearance when the mouse enters the target element.
*/
private handleMouseEnter;
/**
* Handles tooltip disappearance when the mouse leaves the target element.
*/
private handleMouseLeave;
/**
* Handles tooltip toggle when the target element is clicked.
*/
private handleClick;
private handleKeyDown;
/**
* Cleans up auto-update behavior to improve performance.
*/
private cleanupAutoUpdate;
/**
* Removes event listeners and resets tooltip state.
*/
private _cleanupTarget;
/**
* Handles changes to the slotted content and reattaches event listeners.
*/
private handleSlotChange;
/**
* Attaches event listeners based on the trigger type.
*/
private _setupTooltip;
disconnectedCallback(): void;
render(): import("lit-html").TemplateResult<1>;
}
export { PlusTooltip };
//# sourceMappingURL=tooltip.d.ts.map