import { SelectQueryBuilder, ObjectType } from 'typeorm'; import { CursorPagination, Cursor, OrderBy, CursorTransformer, Nullable, Take, PromiseCursorPagination } from './interfaces/paginator'; export interface CursorPaginatorParams> { orderBy: OrderBy | OrderBy[]; columnNames?: TColumnNames | null; take?: Nullable | number | null; transformer?: CursorTransformer | null; } export interface CursorPaginatorPaginateParams { prevCursor?: string | null; nextCursor?: string | null; take?: number | null; } export declare class CursorPaginator> { entity: ObjectType; orders: [string, boolean][]; columnNames: Record; takeOptions: Take; transformer: CursorTransformer; constructor(entity: ObjectType, { orderBy, columnNames, take, transformer, }: CursorPaginatorParams); paginate(qb: SelectQueryBuilder, params?: CursorPaginatorPaginateParams): Promise>; promisePaginate(qb: SelectQueryBuilder, params?: CursorPaginatorPaginateParams): PromiseCursorPagination; _applyWhereQuery(qb: SelectQueryBuilder, cursor: Cursor, isNext: boolean): void; _createCursor(node: TEntity): Cursor; }