import React, { type AriaAttributes, type AriaRole, type CSSProperties, type ReactElement } from "react";
import { type VibeComponentProps } from "../../types";
import { type ListItemProps } from "../ListItem/ListItem";
import { type ListTitleProps } from "../ListTitle/ListTitle";
import { ListWrapperComponentType as ListWrapperComponentTypeEnum } from "./ListConstants";
import { type ListElement } from "./List.types";
export interface ListProps extends VibeComponentProps {
    /**
     * The wrapping component for the list.
     */
    component?: ListElement;
    /**
     * The ARIA label describing the list.
     */
    ariaLabel?: string;
    /**
     * The ID of an element that describes the list.
     */
    ariaDescribedBy?: string;
    /**
     * The ID of an element controlled by the list.
     */
    "aria-controls"?: AriaAttributes["aria-controls"];
    /**
     * The child elements inside the list.
     */
    children?: ReactElement<ListItemProps | ListTitleProps> | ReactElement<ListItemProps | ListTitleProps>[];
    /**
     * If true, uses a virtualized list to render only visible items for performance optimization.
     */
    renderOnlyVisibleItems?: boolean;
    /**
     * Custom inline styles applied to the list.
     */
    style?: CSSProperties;
    /**
     * The ARIA role of the list.
     */
    role?: AriaRole;
}
declare const _default: React.ForwardRefExoticComponent<ListProps & React.RefAttributes<HTMLElement>> & {
    components: typeof ListWrapperComponentTypeEnum;
};
export default _default;
