import React, { type AriaAttributes, type AriaRole } from "react";
import { type VibeComponentProps, type ElementContent } from "../../types";
import { ListItemComponentType as ListItemComponentTypeEnum } from "./ListItemConstants";
import { type ListItemElement, type ListItemSize } from "./ListItem.types";
import { type TooltipProps } from "../Tooltip/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<TooltipProps>;
}
declare const _default: React.ForwardRefExoticComponent<ListItemProps & React.RefAttributes<HTMLElement>> & {
    sizes: {
        readonly SMALL: "small";
        readonly MEDIUM: "medium";
        readonly LARGE: "large";
        readonly XXS: "xxs";
        readonly XS: "xs";
    };
    components: typeof ListItemComponentTypeEnum;
};
export default _default;
