import { type MouseEvent as ReactMouseEvent, type ReactNode } from 'react'; export interface InfoTipHandle { getIsOpen: () => boolean; open: () => void; close: () => void; } export interface InfoTipProps { /** Body of the tip — explanatory text shown in the floating card. */ content: ReactNode; /** Optional heading rendered above the body. */ heading?: ReactNode; /** * Trigger diameter. Also sets the floating card width unless `cardSize` * is given: `sm` → `--popover-size-sm`, `md` → `--popover-size-md`. */ size?: 'sm' | 'md'; /** * Width of the floating card, when it should differ from the trigger size: * `sm` → `--popover-size-sm`, `md` → `--popover-size-md`, `lg` → * `--popover-size-lg`. Defaults to the width that matches `size`, so a * small trigger can open a wider card for a longer explanation. */ cardSize?: 'sm' | 'md' | 'lg'; /** Logical side the card opens on. Default `'top'`. */ side?: 'start' | 'top' | 'end' | 'bottom'; /** Alignment along the side axis. Default `'center'`. */ align?: 'start' | 'center' | 'end'; /** * Accessible name for the trigger. Defaults to the translated * "More information" chrome string. */ 'aria-label'?: string; /** * Opaque instance id — emitted as `data-component-id` on the trigger and * used to register the instance with the host agent registry. */ id?: string; /** Extra classes merged onto the trigger button. */ className?: string; /** * A formula written in words, shown below `content` in a quiet block, e.g. * "Net revenue = invoices issued − credit notes". It is part of the card's * description, so screen readers hear it. */ formula?: ReactNode; /** * When set, the card gains a footer "Learn more" link to this URL and * becomes interactive: Tab from the open trigger moves to the link, * Shift+Tab returns, Escape closes and refocuses the trigger. Without it the * card is explanatory text and focus stays on the trigger, unless the text * is long enough to scroll: then Tab reaches the text so it can be scrolled. */ learnMoreHref?: string; /** Link text. Defaults to the translated "Learn more" chrome string. */ learnMoreLabel?: string; /** * Called when the link is activated. An SPA can call `event.preventDefault()` * and route client-side; the anchor keeps its real `href` either way. */ onLearnMore?: (event: ReactMouseEvent) => void; } /** * InfoTip — a deliberate, branded "more information" affordance: a small * circular trigger that reveals an explanatory card on hover **and** click * (click also serves touch devices). Composes the kit Popover in * `openOn="hover-or-click"` mode — hover intent, keyboard focus, Escape and * focus-return are all handled by the Popover/Radix layer. */ export declare const InfoTip: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=info-tip.d.ts.map