/** * External dependencies */ import type { ReactNode } from 'react'; import { Filters, FiltersToggled, FiltersToggle } from '../components/dataviews-filters'; import DataViewsLayout from '../components/dataviews-layout'; import { DataViewsPickerFooter } from '../components/dataviews-picker-footer'; import DataViewsSearch from '../components/dataviews-search'; import { DataViewsPagination } from '../components/dataviews-pagination'; import { DataviewsViewConfigDropdown, ViewTypeMenu } from '../components/dataviews-view-config'; import type { ActionButton, Field, View, SupportedLayouts } from '../types'; type ItemWithId = { id: string; }; type DataViewsPickerProps = { view: View; onChangeView: (view: View) => void; fields: Field[]; actions?: ActionButton[]; search?: boolean; searchLabel?: string; data: Item[]; isLoading?: boolean; paginationInfo: { totalItems: number; totalPages: number; }; defaultLayouts: SupportedLayouts; selection: string[]; onChangeSelection: (items: string[]) => void; children?: ReactNode; config?: { perPageSizes: number[]; }; itemListLabel?: string; empty?: ReactNode; } & (Item extends ItemWithId ? { getItemId?: (item: Item) => string; } : { getItemId: (item: Item) => string; }); declare function DataViewsPicker({ view, onChangeView, fields, search, searchLabel, actions, data, getItemId, isLoading, paginationInfo, defaultLayouts: defaultLayoutsProperty, selection, onChangeSelection, children, config, itemListLabel, empty, }: DataViewsPickerProps): import("react").JSX.Element | null; declare const DataViewsPickerSubComponents: typeof DataViewsPicker & { BulkActionToolbar: typeof DataViewsPickerFooter; Filters: typeof Filters; FiltersToggled: typeof FiltersToggled; FiltersToggle: typeof FiltersToggle; Layout: typeof DataViewsLayout; LayoutSwitcher: typeof ViewTypeMenu; Pagination: typeof DataViewsPagination; Search: typeof DataViewsSearch; ViewConfig: typeof DataviewsViewConfigDropdown; }; export default DataViewsPickerSubComponents; //# sourceMappingURL=index.d.ts.map