import { Ref } from 'react';
import { LayoutUtilProps } from '../../types';
import { ListViewWithItems, ListViewWithOutItems } from './internal/types';
/**
 * Props for the ListView component
 * @template T - The type of additional properties for items
 * @extends LayoutUtilProps
 */
export type ListViewProps<T> = LayoutUtilProps & (ListViewWithItems<T> | ListViewWithOutItems);
declare function ListViewInner<T>(props: ListViewProps<T>, ref: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
declare namespace ListViewInner {
    var displayName: string;
}
/**
 * ListView component for displaying a list of selectable items in a grid layout.
 *
 * Features:
 * - Supports single and multiple selection modes
 * - Keyboard navigation with arrow keys
 * - Customizable item rendering
 * - Controlled and uncontrolled modes
 * - Accessible with proper ARIA attributes
 * - Focus management for interactive elements
 * - Layout utilities for positioning and spacing
 * - Automatic tracking ID generation for analytics
 *
 * @example
 * <ListView items={[{ label: "Item 1" }, { label: "Item 2" }]} onSelectionChange={handleSelection}>
 *   {({ items }) => items.map(item => (
 *     <ListView.Option key={item.label} item={item} />
 *   ))}
 * </ListView>
 */
export declare const ListView: (<T>(props: ListViewProps<T> & {
    ref?: React.ForwardedRef<HTMLUListElement>;
}) => ReturnType<typeof ListViewInner>) & {
    /**
     * ListViewOption component for individual selectable items within a listview.
     *
     * Features:
     * - Displays selectable options with proper ARIA attributes
     * - Supports disabled state for non-selectable options
     * - Keyboard navigation support
     * - Accessible with screen reader support
     * - Automatic tracking ID generation for analytics
     *
     * @example
     * <ListView.Option item={{ label: "Option 1" }} />
     */
    Option: import('react').ForwardRefExoticComponent<import('./ListViewOption').ListViewOptionProps & import('react').RefAttributes<HTMLDivElement>>;
    /**
     * ListViewOptionCell component for rendering a cell within a listview option.
     *
     * Features:
     * - Renders a grid cell for option content
     * - Supports custom content and layout
     * - Accessible with proper ARIA attributes
     *
     * @example
     * <ListView.OptionCell>Custom cell content</ListView.OptionCell>
     */
    OptionCell: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
};
export {};
