import { LitElement, TemplateResult, CSSResult } from 'lit'; import { OverlayPlacement } from '../overlay/overlay.js'; declare global { interface HTMLElementTagNameMap { 'forge-ai-tooltip': ForgeAiTooltipComponent; } interface HTMLElementEventMap { 'forge-ai-tooltip-toggle': CustomEvent; } } export interface TooltipToggleEventDetail { open: boolean; newState: string; oldState: string; } export type TooltipPlacement = OverlayPlacement; export type TooltipTrigger = 'hover' | 'focus' | 'click' | 'manual'; /** * @summary A tooltip component with accessibility features and dynamic positioning. * * @description * This component provides tooltip functionality with proper accessibility support. * When closed, the content is visually hidden but available to screen readers. * When open, it displays in a positioned overlay above other content. * * @since 1.2.0 * * @cssproperty --forge-ai-tooltip-max-width - The maximum width of the tooltip. * @cssproperty --forge-ai-tooltip-z-index - The z-index of the tooltip overlay. * * @slot - The default slot for tooltip content. */ export declare class ForgeAiTooltipComponent extends LitElement { #private; static styles: CSSResult; /** * The ID of the anchor element to attach the tooltip to. */ for: string; /** * The text content of the tooltip (alternative to slotted content). */ text: string; /** * The placement of the tooltip relative to the anchor. */ placement: TooltipPlacement; /** * How the tooltip should be triggered. */ trigger: TooltipTrigger; /** * Whether the tooltip is open. */ open: boolean; /** * Delay in milliseconds before showing the tooltip. */ delay: number; /** * Delay in milliseconds before hiding the tooltip. */ hideDelay: number; private _anchorElement; private _arrowElement?; connectedCallback(): void; disconnectedCallback(): void; updated(changedProperties: Map): void; private _findAnchorElement; private _updateHostAttributes; private _attachEventListeners; private _detachEventListeners; private _handleShow; private _handleHide; private _handleToggle; private _handleAnchorClick; private _handleKeyDown; private _clearTimeouts; private _onOverlayToggle; /** * Show the tooltip programmatically. */ show(): void; /** * Hide the tooltip programmatically. */ hide(): void; /** * Toggle the tooltip programmatically. */ toggle(): void; render(): TemplateResult; }