import React, { AriaAttributes, CSSProperties, ReactElement } from "react"; import { VibeComponent, VibeComponentProps } from "../../types"; import { ListItemProps } from "../ListItem/ListItem"; import { ListTitleProps } from "../ListTitle/ListTitle"; import { ListWrapperComponentStringType, ListWrapperComponentType } from "./ListConstants"; export interface ListProps extends VibeComponentProps { /** * the wrapping component to wrap the List Items [div, nav, ul, ol] */ component?: ListWrapperComponentType | ListWrapperComponentStringType; /** * ARIA label string to describe to list */ ariaLabel?: string; /** * ARIA described by string to reference an id to describe by */ ariaDescribedBy?: string; "aria-controls"?: AriaAttributes["aria-controls"]; children?: ReactElement | ReactElement[]; /** * Using virtualized list for rendering only the items which visible to the user in any given user (performance optimization) */ renderOnlyVisibleItems?: boolean; style?: CSSProperties; } declare const _default: ((VibeComponent, HTMLElement> & Partial<{ components: typeof ListWrapperComponentType; }>) | (React.FC> & Partial<{ components: typeof ListWrapperComponentType; }>)) & { components: typeof ListWrapperComponentType; }; export default _default;