import { ReactElement } from 'react'; import PropTypes from 'prop-types'; import { ListProps } from '../types'; /** * List page component * * The component renders the list layout (title, buttons, filters, pagination), * and fetches the list of records from the REST API. * It then delegates the rendering of the list of records to its child component. * Usually, it's a , responsible for displaying a table with one row for each post. * * In Redux terms, is a connected component, and is a dumb component. * * The component accepts the following props: * * - actions * - aside * - bulkActionButtons * - component * - empty * - exporter * - filter (the permanent filter to apply to the query) * - filterDefaultValues (the default values for `alwaysOn` filters) * - filters (a list of inputs used to display the filter button/form combo) * - pagination * - perPage * - sort * - title * - syncWithLocation * * @example * * const postFilters = [ * , * * ]; * export const PostList = (props) => ( * * * * * * * * ); */ declare const List: { (props: ListProps & { children: ReactElement; }): ReactElement; propTypes: { actions: PropTypes.Requireable; aside: PropTypes.Requireable; bulkActionButtons: PropTypes.Requireable; children: PropTypes.Requireable; classes: PropTypes.Requireable; className: PropTypes.Requireable; filter: PropTypes.Requireable; filterDefaultValues: PropTypes.Requireable; filters: PropTypes.Requireable; pagination: PropTypes.Requireable; perPage: PropTypes.Validator; sort: PropTypes.Requireable; order: PropTypes.Requireable; }>>; title: PropTypes.Requireable; authProvider: PropTypes.Requireable<(...args: any[]) => any>; hasCreate: PropTypes.Requireable; hasEdit: PropTypes.Requireable; hasList: PropTypes.Requireable; hasShow: PropTypes.Requireable; location: PropTypes.Requireable; match: PropTypes.Requireable; path: PropTypes.Requireable; resource: PropTypes.Requireable; syncWithLocation: PropTypes.Requireable; }; defaultProps: { filter: {}; perPage: number; }; }; export default List;