import { PaginationModel, SearchCriteriaModel, SearchSortModel } from '@/core/models';
import { SortingRule } from 'react-table';
export default class SearchModel {
    endpoint: string;
    criterias: SearchCriteriaModel[];
    pagination: PaginationModel;
    orderBy: SearchSortModel;
    enableInfiniteScroll: boolean;
    constructor(endpoint: string, defaultOrderByField: string, { criterias, isOrderByDesc, enableInfiniteScroll, }: {
        criterias?: SearchCriteriaModel[] | undefined;
        isOrderByDesc?: boolean | undefined;
        enableInfiniteScroll?: boolean | undefined;
    });
    static makeEmpty(): SearchModel;
    updatePagination(pageIndex: number, rowsPerPage: number): void;
    updateOrderBy(sorting: SortingRule<any>): void;
    updateSearchCriteria(criterias: SearchCriteriaModel[]): void;
    hasChangeOrderBy(sorting: SortingRule<any>): boolean;
}
