import React, { type AriaAttributes, type AriaRole } from "react"; import { type VibeComponentProps, type ElementContent } from "../../types"; import { type ListItemElement, type ListItemSize } from "./ListItem.types"; import { type TooltipProps } from "@vibe/tooltip"; export interface ListItemProps extends VibeComponentProps { /** * The HTML element used for the list item. */ component?: ListItemElement; /** * The textual content inside the list item. */ children?: ElementContent; /** * Callback fired when the item is clicked. */ onClick?: (event: React.MouseEvent | React.KeyboardEvent, id: string) => void; /** * Callback fired when the item is hovered. */ onHover?: (event: React.MouseEvent | React.FocusEvent, id: string) => void; /** * If true, disables the item and prevents interactions. */ disabled?: boolean; /** * If true, marks the item as selected. */ selected?: boolean; /** * The size of the list item. */ size?: ListItemSize; /** * The tab index of the list item for keyboard navigation. */ tabIndex?: number; /** * Indicates the current state of the item in a set of items. */ "aria-current"?: AriaAttributes["aria-current"]; /** * The ARIA role of the list item. */ role?: AriaRole; /** * Props passed to the tooltip displayed when hovering over the text. */ tooltipProps?: Partial; } declare const ListItem: React.ForwardRefExoticComponent>; export default ListItem;