import { type ComponentPropsWithoutRef, type CSSProperties, type ReactNode, type Ref } from 'react'; import { type CssLength } from '../../../utils/css'; type ListGridViewMode = 'list' | 'grid'; type ListGridViewItem = Readonly<{ id: string; title: string; imageSrc: string; imageAlt?: string; description?: ReactNode; }>; type ListGridViewStyle = CSSProperties & { '--list-grid-view-accent'?: string; '--list-grid-view-item-surface'?: string; '--list-grid-view-surface'?: string; '--list-grid-view-width'?: string; }; type ListGridViewRenderItem = (item: ListGridViewItem, view: ListGridViewMode) => ReactNode; type ListGridViewProps = Omit, 'children' | 'style'> & { items: readonly ListGridViewItem[]; view?: ListGridViewMode; defaultView?: ListGridViewMode; onViewChange?: (view: ListGridViewMode) => void; controlsLabel?: string; listLabel?: string; gridLabel?: string; itemsLabel?: string; width?: CssLength; accentColor?: string; surface?: string; itemSurface?: string; renderItemContent?: ListGridViewRenderItem; style?: ListGridViewStyle; ref?: Ref; }; declare const ListGridView: ({ items, view: controlledView, defaultView, onViewChange, controlsLabel, listLabel, gridLabel, itemsLabel, width, accentColor, surface, itemSurface, renderItemContent, className, style, ref, "aria-label": ariaLabel, ...sectionProps }: ListGridViewProps) => import("react/jsx-runtime").JSX.Element; export { ListGridView }; export type { ListGridViewItem, ListGridViewMode, ListGridViewProps, ListGridViewRenderItem, ListGridViewStyle, };