import { Repository, FindConditions, SelectQueryBuilder } from 'typeorm'; import { PaginatorQuery } from './decorator'; declare type SortBy = Extract; declare type OrderBy = 'ASC' | 'DESC'; export declare class Paginated { data: T[]; meta: { itemsPerPage: number; totalItems: number; currentPage: number; totalPages: number; sortBy: SortBy; orderBy: OrderBy; }; links: { firstPage?: string; previousPage?: string; currentPage: string; nextPage?: string; lastPage?: string; }; } export interface PaginatorConfig { sortableColumns: SortBy[]; columnAliases?: { [key: string]: string; }; maxLimit?: number; defaultSortBy?: SortBy; defaultOrderBy?: OrderBy; defaultLimit?: number; where?: FindConditions; queryBuilder?: SelectQueryBuilder; } export declare function paginator(query: PaginatorQuery, repo: Repository | SelectQueryBuilder, config: PaginatorConfig): Promise>; export {};