import { PaginateResult, PaginateResultPaginator } from "@aequum/paginate-common";
import { Repository, SelectQueryBuilder, ObjectLiteral, FindOptionsWhere, FindManyOptions } from "typeorm";
import { IPaginationOptions } from "typeorm-paginate";
export declare function paginate<EntityModel extends ObjectLiteral, Paginator = PaginateResultPaginator>(repository: Repository<EntityModel>, page: number, size: number, options: IPaginationOptions<Paginator>, searchOptions?: FindOptionsWhere<EntityModel> | FindManyOptions<EntityModel>): Promise<PaginateResult<EntityModel, Paginator>>;
export declare function paginate<EntityModel extends ObjectLiteral, QueryResultModel extends ObjectLiteral = EntityModel, Paginator = PaginateResultPaginator>(queryBuilder: SelectQueryBuilder<EntityModel>, page: number, size: number, options: IPaginationOptions<Paginator>): Promise<PaginateResult<QueryResultModel, Paginator>>;
