import { LitElement, CSSResultGroup } from 'lit'; import { Placement } from '@floating-ui/dom'; /** * Event detail for show event */ export interface TooltipShowEventDetail { visible: boolean; } /** * Event detail for hide event */ export interface TooltipHideEventDetail { visible: boolean; } /** * Custom event dispatched when the tooltip is shown */ export type TooltipShowEvent = CustomEvent; /** * Custom event dispatched when the tooltip is hidden */ export type TooltipHideEvent = CustomEvent; /** * Props interface for Tooltip component including event handlers * * This interface defines the complete public API of the Tooltip component. * The component class implements this interface to enforce type safety between * the interface contract and the actual implementation. * * Event handlers (onShow, onHide) are included directly in the base Props interface, * making it simpler for consumers - there's just one interface to import and use. * * @fires {TooltipShowEvent} show - Fired when the tooltip becomes visible * @fires {TooltipHideEvent} hide - Fired when the tooltip becomes hidden * * @csspart ag-tooltip - The main tooltip container element that displays the content * @csspart ag-tooltip-arrow - The arrow element that points to the trigger element */ export interface TooltipProps { content?: string; placement?: Placement; distance?: number; skidding?: number; trigger?: string; disabled?: boolean; onShow?: (event: TooltipShowEvent) => void; onHide?: (event: TooltipHideEvent) => void; } export declare class Tooltip extends LitElement implements TooltipProps { static styles: CSSResultGroup; content: string; placement: Placement; distance: number; skidding: number; trigger: string; disabled: boolean; onShow?: (event: TooltipShowEvent) => void; onHide?: (event: TooltipHideEvent) => void; private _open; tooltipElement: HTMLElement | undefined; arrowElement: HTMLElement | undefined; private _cleanup; private _hideTimeout; constructor(); firstUpdated(): void; private _setupEventListeners; disconnectedCallback(): void; private _setupARIA; private _removeEventListeners; private _handleMouseEnter; private _handleMouseLeave; private _handleFocus; private _handleBlur; private _handleClick; private _handleDocumentKeyDown; updated(changedProperties: Map): void; private _startPositioning; private _stopPositioning; private _updatePosition; show: () => void; hide: () => void; toggle: () => void; render(): import('lit').TemplateResult<1>; } //# sourceMappingURL=_Tooltip.d.ts.map