import { EnchantedAcBaseElement } from './enchanted-ac-base-element'; import { TOOLTIP_PLACEMENT, TOOLTIP_TYPE, TOOLTIP_VARIANT } from '../../types/cssClassEnums'; import { ViewportBox } from '../../types/enchanted-tooltip'; export declare class EnchantedTooltip extends EnchantedAcBaseElement { show: boolean; tooltiptext: string | undefined; tooltipSize: TOOLTIP_VARIANT; tooltipType: TOOLTIP_TYPE; placement: TOOLTIP_PLACEMENT; gap: number; multiLineMaxWidth: number; viewportPadding: number; minimumWidth: number; isRTL: boolean; componentId: string; effectivePlacement?: TOOLTIP_PLACEMENT; effectiveType?: TOOLTIP_TYPE; softMargin: number; isTargetVisible: boolean; rafId: number | null; tooltipElement: HTMLElement; targetElement: HTMLElement; private _targetIntersectionObserver?; private _targetResizeObserver?; private _tooltipResizeObserver?; private _ancestorResizeObserver?; private _targetDismissTimer; private _scheduleTooltipPositionUpdateHandler; connectedCallback(): void; firstUpdated(): void; disconnectedCallback(): void; updated(changedProperties: Map): void; scheduleTooltipPositionUpdate: () => void; attachListeners(): void; detachListeners(): void; startObservers(): void; stopObservers(): void; unmount(): void; onTargetVisibility: (entries: IntersectionObserverEntry[]) => void; startTargetIntersectionObserver(): void; handleMouseOver: (event: Event) => void; handleMouseLeave: (event: Event) => void; handleFocus: (event: FocusEvent) => void; handleBlur: (event: FocusEvent) => void; getTooltipTextParts(): string; readVisibleViewportBox(): ViewportBox; computeAvailableWidth(placement: TOOLTIP_PLACEMENT, targetRect: DOMRect, viewportBox: ViewportBox, padding: number, gap: number): number; measureSingleLineWidth(tooltipEl: HTMLElement): Promise; decideEffectiveType(singleLineWidth: number | null, availableWidth: number, prevType: TOOLTIP_TYPE): TOOLTIP_TYPE; applySingleSizing(tooltipEl: HTMLElement, availableWidth: number): { maxWidth: number; }; applyMultiSizing(tooltipEl: HTMLElement, availableWidth: number, visibleViewportHeight: number, padding: number, desiredMaxWidth: number): { maxWidth: number; maxHeight: number; }; runSizing(placement: TOOLTIP_PLACEMENT, targetRect: DOMRect, viewportBox: ViewportBox, padding: number): Promise<{ effectiveType: TOOLTIP_TYPE; availableWidth: number; appliedMaxWidth: number; singleLineWidth: number | null; appliedMaxHeight?: undefined; singLineWidth?: undefined; } | { effectiveType: TOOLTIP_TYPE; availableWidth: number; appliedMaxWidth: number; appliedMaxHeight: number; singLineWidth: number | null | undefined; singleLineWidth?: undefined; } | undefined>; applyPosition(tooltip: HTMLElement, left: number, top: number): void; isTargetElementVisible(targetRect: DOMRect, viewportBox: ViewportBox, padding: number): boolean; updateTooltipPosition: () => Promise; attachA11y(): void; render(): import("lit-html").TemplateResult<1>; }