import { PageInfo } from './page-info.entity'; import { Edge, RelayPaginatedWithCount } from '../interfaces/relay-paginated.interface'; import { CursorFields } from './cursor-fields.entity'; import { CursorService } from '../services/cursor.service'; import { RelayPaginationArgs } from '../args/relay-paginated.args'; export type PaginationResultOptions = { currentCount: number | undefined; previousCount: number | undefined; }; interface PaginationResultParameters { instances: Node[]; cursorFields: CursorFields; options: Partial>; counts: PaginationResultOptions; totalCount?: number; } export declare class PaginationResult implements RelayPaginatedWithCount { private readonly cursorService; totalCount: number; currentCount: number | undefined; previousCount: number | undefined; edges: Edge[]; pageInfo: PageInfo; private first; private last; private cursorFields; private hasCursor; constructor(cursorService: CursorService, parameters: PaginationResultParameters); private verifyConfiguration; private calculateTotalCount; private createEdges; private createEdge; private createCursor; private getInstanceId; private createPageInfo; private hasPreviousCount; private hasNextPage; private isEdgesEmpty; private hasCount; private hasReturnedRequestedOrMore; private isCurrentCountLargerThanRequested; private hasPreviousCountUsingLast; private hasLast; } export {};