/** * External dependencies */ import type { ReactNode, ComponentProps, ReactElement } from 'react'; import { Filters, FiltersToggled, FiltersToggle } from '../components/dataviews-filters'; import DataViewsLayout from '../components/dataviews-layout'; import DataViewsFooter from '../components/dataviews-footer'; import DataViewsSearch from '../components/dataviews-search'; import { BulkActionsFooter } from '../components/dataviews-bulk-actions'; import { DataViewsPagination } from '../components/dataviews-pagination'; import { DataviewsViewConfigDropdown, ViewTypeMenu } from '../components/dataviews-view-config'; import type { Action, Field, View, SupportedLayouts } from '../types'; type ItemWithId = { id: string; }; type DataViewsProps = { view: View; onChangeView: (view: View) => void; fields: Field[]; search?: boolean; searchLabel?: string; actions?: Action[]; data: Item[]; isLoading?: boolean; paginationInfo: { totalItems: number; totalPages: number; }; defaultLayouts: SupportedLayouts; selection?: string[]; onChangeSelection?: (items: string[]) => void; onClickItem?: (item: Item) => void; renderItemLink?: (props: { item: Item; } & ComponentProps<'a'>) => ReactElement; isItemClickable?: (item: Item) => boolean; header?: ReactNode; getItemLevel?: (item: Item) => number; children?: ReactNode; config?: { perPageSizes: number[]; }; empty?: ReactNode; onReset?: (() => void) | false; } & (Item extends ItemWithId ? { getItemId?: (item: Item) => string; } : { getItemId: (item: Item) => string; }); declare function DataViews({ view, onChangeView, fields, search, searchLabel, actions, data, getItemId, getItemLevel, isLoading, paginationInfo, defaultLayouts: defaultLayoutsProperty, selection: selectionProperty, onChangeSelection, onClickItem, renderItemLink, isItemClickable, header, children, config, empty, onReset, }: DataViewsProps): import("react").JSX.Element | null; declare const DataViewsSubComponents: typeof DataViews & { BulkActionToolbar: typeof BulkActionsFooter; Filters: typeof Filters; FiltersToggle: typeof FiltersToggle; FiltersToggled: typeof FiltersToggled; Layout: typeof DataViewsLayout; LayoutSwitcher: typeof ViewTypeMenu; Pagination: typeof DataViewsPagination; Search: typeof DataViewsSearch; ViewConfig: typeof DataviewsViewConfigDropdown; Footer: typeof DataViewsFooter; }; export default DataViewsSubComponents; //# sourceMappingURL=index.d.ts.map