import PropTypes from 'prop-types'; import React, { ReactElement } from 'react'; import { MarginProps } from 'styled-system'; import { Size } from '../ScreenSizeProvider/ScreenSizeProvider'; import { TableVariant } from '../Table/Table'; import BottomSection from './BottomSection'; import DataGridColumn from './DataGridColumn'; import DataGridTable from './DataGridTable'; import PageSizeSelect from './PageSizeSelect'; import { DataGridPagination, DataGridPrevNext } from './Pagination'; import TopSection from './TopSection'; import { PaginationOptions, Pagisort, SortOption } from './types'; interface DataGridProps extends MarginProps { paginationOptions?: PaginationOptions; sortOptions?: SortOption[]; initialSort?: SortOption[]; onPagisort?: (newPagisort: Pagisort) => void; onPageChange?: (newPageOptions: PaginationOptions) => void; onSort?: (newSortOptions: SortOption[]) => void; children: React.ReactNode; fullWidth?: boolean; cardBreakpoint?: Size; variant?: TableVariant; } export declare const DataGrid: { (props: DataGridProps): ReactElement; propTypes: { paginationOptions: PropTypes.Requireable; pageSize: PropTypes.Requireable; pageCount: PropTypes.Requireable; itemCount: PropTypes.Requireable; itemOffset: PropTypes.Requireable; }>>; sortOptions: PropTypes.Requireable<(PropTypes.InferProps<{ id: PropTypes.Validator; sortAscending: PropTypes.Validator; }> | null | undefined)[]>; onPageChange: PropTypes.Requireable<(...args: any[]) => any>; onSort: PropTypes.Requireable<(...args: any[]) => any>; children: PropTypes.Validator; fullWidth: PropTypes.Requireable; cardBreakpoint: PropTypes.Requireable<"small" | "medium" | "large" | "tiny" | "extraLarge">; }; Table: React.FC; DataColumn: { (props: import("./types").ColumnProps): null; displayName: string; propTypes: React.WeakValidationMap; }; Column: { (props: import("./types").ColumnProps): null; displayName: string; propTypes: React.WeakValidationMap; }; TopSection: { (props: import("./TopSection").TopSectionProps): React.ReactElement> | null; defaultProps: { sortLabels: { sortBy: string; order: string; ascending: string; descending: string; }; justifyContent: string; spacing: number; }; propTypes: { sortLabels: PropTypes.Requireable; order: PropTypes.Requireable; ascending: PropTypes.Requireable; descending: PropTypes.Requireable; }>>; justifyContent: PropTypes.Requireable; spacing: PropTypes.Requireable; children: PropTypes.Requireable; }; displayName: string; }; PageSizeSelect: { (props: import("./PageSizeSelect").PageSizeSelectProps): React.ReactElement>; defaultProps: { makePageSizeLabel: (pageSize: number) => string; }; propTypes: { makePageSizeLabel: PropTypes.Requireable<(...args: any[]) => any>; pageSizeSelectLabel: PropTypes.Requireable; pageSizeOptions: PropTypes.Requireable<(number | null | undefined)[]>; }; displayName: string; }; BottomSection: { (props: import("./BottomSection").BottomSectionProps): React.ReactElement> | null; defaultProps: { justifyContent: string; spacing: number; }; propTypes: { justifyContent: PropTypes.Requireable; spacing: PropTypes.Requireable; children: PropTypes.Requireable; }; displayName: string; }; Pagination: React.FC; PrevNext: React.FC; displayName: string; }; declare type DataGridType = React.ComponentType & { Table: typeof DataGridTable; DataColumn: typeof DataGridColumn; Column: typeof DataGridColumn; TopSection: typeof TopSection; PageSizeSelect: typeof PageSizeSelect; BottomSection: typeof BottomSection; Pagination: typeof DataGridPagination; PrevNext: typeof DataGridPrevNext; }; declare const _default: DataGridType; export default _default;