import type { MouseEvent, ReactElement, ReactNode } from "react"; import type { IconProps } from "../Icon/Icon"; export type ListItemValue = string | { value: string; }; export type ListItemProps = { iconLeft?: IconProps; label: ReactElement; value: ListItemValue; dataE2eTestId?: string; }; export type ListItemsByCategory = { category: string; iconLeft?: IconProps; rightContent?: ReactNode; items: ListItemProps[]; }; export type FlattenedListItem = { category: ListItemsByCategory["category"]; indexInCategory: number; value: ListItemProps["value"]; id: string; }; export type CategoryListProps = ListItemsByCategory & { name: string; selectedListItem?: FlattenedListItem; onListItemClick: (category: string, indexInCategory: number, evt?: MouseEvent) => void; }; export declare function getListItemId(name: string, category: string, index: number): string; export declare function CategoryList({ name, category, iconLeft, rightContent, items, selectedListItem, onListItemClick, }: CategoryListProps): ReactElement;