import { type FC, type MouseEvent, type ReactNode } from "react";
import { type IMenuAccessibilityConfig } from "../typings/accessibility.js";
/**
 * @internal
 */
export type SingleSelectListItemType = "header" | "separator";
/**
 * @internal
 */
export interface ISingleSelectListItemProps {
    title?: string;
    icon?: string | ReactNode;
    type?: SingleSelectListItemType;
    className?: string;
    info?: string | ReactNode;
    eventsOnBubble?: boolean;
    hideDelayBubble?: number;
    isSelected?: boolean;
    isFocused?: boolean;
    isMenu?: boolean;
    accessibilityConfig?: IMenuAccessibilityConfig;
    tabIndex?: number;
    elementType?: "div" | "button";
    /**
     * Visual variant to indicate special emphasis, e.g. "delete".
     * Example: "default" | "delete"
     */
    variant?: "default" | "delete";
    iconRenderer?: (icon: string | ReactNode | FC) => ReactNode;
    infoRenderer?: (info: string | ReactNode | FC) => ReactNode;
    onClick?: (e: MouseEvent<HTMLElement>) => void;
    onMouseOver?: (e: MouseEvent<HTMLElement>) => void;
    onMouseOut?: (e: MouseEvent<HTMLElement>) => void;
    /** Optional stable id for e2e (renders as data-testid). */
    dataTestId?: string;
}
/**
 * @internal
 */
export declare const SingleSelectListItem: import("react").ForwardRefExoticComponent<ISingleSelectListItemProps & import("react").RefAttributes<HTMLButtonElement | HTMLDivElement>>;
//# sourceMappingURL=ListItem.d.ts.map