import { type Styleable } from "@trackunit/react-components"; import { Key, ReactNode } from "react"; /** * Props for a generic tooltip list component. * * @template TItem Element type of the list. */ export type ListTooltipProps = Styleable & { /** Items to render inside the tooltip. */ items: Array; /** Data test id for testing. */ "data-testid"?: string; /** * Custom label extractor. If omitted, strings/numbers/booleans are stringified, * React elements are returned as-is, and other objects are serialized. */ getLabel?: (item: TItem, index: number) => ReactNode; /** Custom key generator for list items. */ getKey?: (item: TItem, index: number) => Key; /** * Controls the loading state. When true, the list is replaced with a centered dark Spinner. * Useful while data is being fetched. Defaults to false. */ loading?: boolean; }; /** * Generic list to be used as tooltip content. * The component is data-shape agnostic. It supports primitives, React elements, * and arbitrary objects (with a JSON.stringify fallback). * * @template TItem Element type of the list. * @param {ListTooltipProps} props Component props. * @returns {ReactNode} Tooltip list markup. */ export declare const ListTooltip: ({ items, "data-testid": dataTestId, getLabel, getKey, loading, style, }: ListTooltipProps) => import("react/jsx-runtime").JSX.Element;