import React from 'react';
import PropTypes from 'prop-types';
import { passedWithListPropsTypes } from './HOCs/withListProps';
export declare const passedListManagerPropsTypes: {
    filteredRows: PropTypes.Validator<any[]>;
    visibleRows: PropTypes.Validator<any[]>;
    pageSize: PropTypes.Validator<number>;
    activePage: PropTypes.Validator<number>;
    onChangePage: PropTypes.Validator<(...args: any[]) => any>;
    onChangePageSize: PropTypes.Validator<(...args: any[]) => any>;
    fieldsParams: PropTypes.Validator<object>;
    onUpdateFieldParams: PropTypes.Validator<(...args: any[]) => any>;
    onResetFieldParams: PropTypes.Validator<(...args: any[]) => any>;
    filterText: PropTypes.Validator<string>;
    onChangeFilterText: PropTypes.Validator<(...args: any[]) => any>;
    sorting: PropTypes.Requireable<PropTypes.InferProps<{
        field: PropTypes.Requireable<string>;
        direction: PropTypes.Validator<string>;
    }>>;
    onChangeSorting: PropTypes.Validator<(...args: any[]) => any>;
};
export declare type ListManagerProps<Row> = {
    rows: Row[];
    children: React.ReactNode;
    fieldsRules?: {
        isFiltering: boolean;
        filterByText: Function;
        filterByParams: Function;
        sort: Function;
    };
} & typeof passedWithListPropsTypes & Partial<ListManagerDefaultProps>;
declare type ListManagerDefaultProps = {
    fieldsRules: {};
};
export declare const ListManager: React.ComponentType<{}>;
export {};
