import * as Knex from "knex"; import { PaginationConfig } from "./PaginationConfig"; import { Dict, MaybeLazy, MaybePromise } from "./utils/util-types"; import { MappedDataSource } from "./MappedDataSource"; import { AliasHierarchyVisitor } from "./AliasHierarchyVisitor"; import { ColumnSelection } from "./SingleSourceQueryOperationResolver"; import { SourceAwareResolverContext } from "./SourceAwareResolverContext"; import { MappedSourceAwareOperation } from "./MappedSourceAwareOperation"; interface PageArgs { cursor?: string; pageSize?: number; } export interface PageInfo { prevCursor: MaybeLazy; nextCursor: MaybeLazy; totalCount: MaybeLazy>; } export interface PageContainer { page: { pageInfo: PageInfo; entities: T[]; }; } export declare type MaybePageContainer = T | T[] | PageContainer; export declare class Paginator { private resolverContext; private aliasHierarchyVisitor; private config; constructor(config: PaginationConfig, resolverContext: SourceAwareResolverContext, MappedDataSource, any>, aliasHierarchyVisitor: AliasHierarchyVisitor); get dataSource(): MappedDataSource; interceptQuery(qb: Knex.QueryBuilder, selectedColumns: ColumnSelection): Knex.QueryBuilder; getNextCursor(results: Dict[]): string; getPrevCursor(results: Dict[]): string; getTotalCount(qb: Knex.QueryBuilder): Promise; get parsedResolveInfo(): import("graphql-parse-resolve-info").ResolveTree; get parsedPageContainerResolveInfo(): { [str: string]: import("graphql-parse-resolve-info").ResolveTree; }; get parsedPageInfoResolveInfo(): { [str: string]: import("graphql-parse-resolve-info").ResolveTree; }; get pageArgs(): PageArgs; get pageSize(): number; } export {};