import * as React from 'react';
import {passedWithListPropsTypes} from "./HOCs/withListProps";

export type ListManagerProps<Row> = {
    rows: Row[];
    children: React.ReactNode;
    fieldsRules?: {
        isFiltering: boolean;
        filterByText: Function;
        filterByParams: Function;
        sort: Function;
    };
} & typeof passedWithListPropsTypes & Partial<ListManagerDefaultProps>;

type ListManagerDefaultProps = {
    fieldsRules: {};
};

export const passedListManagerPropsTypes: {
    filteredRows: any[];
    visibleRows: any[];
} & typeof passedWithListPropsTypes;

export class ListManager<Row> extends React.PureComponent<ListManagerProps<Row>> {
    
}