import { IZDataMatch } from '../match/data-match.mjs'; import { IZSort } from '../sort/sort.mjs'; /** * Takes a list of data and paginates it in memory. * * @param data - * The data to paginate. * @param page - * The page number to retrieve. * @param size - * The size of a single page * * @returns * The subset page of data that was offset and limited to. If * page goes beyond the last page, then the result set should be empty. * If the page is less than 1, then the first page will be used. * If size is 0, then an empty page will be returned. */ export declare function paginate(data: T[], page: number, size: number): T[]; /** * Matches data given a data set to a given filter. * * @param data - * The data to filter. * @param filter - * The filter to apply to the data. If this * is null or undefined, then the entire * data set will match. * @param match - * The match implementation that determine if * a single item in data matches the provided * filter. * * @returns * A subset of data that matches to the given filter. */ export declare function filter(data: T[], filter: F | undefined | null, match: IZDataMatch): T[]; /** * Sorts the data. * * @param data - * The data to sort. * @param sort - * The sort criteria. * * @returns * The data sorted to the sort criteria. */ export declare function sort(data: T[], sorts: IZSort[] | undefined): T[];