import React from "react"; export type CollectionSize = "xs" | "s" | "m" | "l" | "xl"; export type ListViewColumnDef = { key: string; label: string; align?: "left" | "center" | "right"; width?: string; renderCell: (item: T) => React.ReactNode; isTitle?: boolean; }; export type ListViewProps = { data: T[]; dataLoading?: boolean; noMoreToLoad?: boolean; dataLoadingError?: Error; itemCount?: number; setItemCount?: (itemCount: number) => void; pageSize?: number; paginationEnabled?: boolean; onItemClick?: (item: T) => void; selectedIds?: Set; highlightedIds?: Set; selectionEnabled?: boolean; onSelectionChange?: (item: T, selected: boolean) => void; emptyComponent?: React.ReactNode; size?: CollectionSize; selectedEntityId?: string | number; /** * Rendered above the rows, inside the list's own frame, and only when there * are rows to head. A column header over an empty state or a spinner labels * nothing. */ header?: React.ReactNode; renderRow: (params: { item: T; index: number; style: React.CSSProperties; className: string; selected: boolean; highlighted: boolean; isLast: boolean; onClick: (e: React.MouseEvent) => void; onSelectionChange: (selected: boolean) => void; }) => React.ReactNode; }; export declare function ListView({ data, dataLoading, noMoreToLoad, dataLoadingError, itemCount, setItemCount, pageSize, paginationEnabled, onItemClick, selectedIds, highlightedIds, selectionEnabled, onSelectionChange, emptyComponent, size, selectedEntityId, header, renderRow }: ListViewProps): React.JSX.Element;