/** * Importing user defined packages */ import { NormalizedPagination, PaginationMode, PaginationResult, SortOrder } from '../interfaces/index.js'; /** * Defining types */ export interface NormalizeOptions { mode: T; defaults: NormalizedPagination; } export interface PaginationInput { limit?: number | string | null; sortBy?: string | null; sortOrder?: SortOrder | string | null; offset?: number | string | null; page?: number | string | null; cursor?: string | null; } export type GetCursor = (item: Item) => string; /** * Declaring the constants */ declare class PaginationUtils { normalise(input: PaginationInput, options: NormalizeOptions): NormalizedPagination; createResult(query: NormalizedPagination, items: Item[], total: number): PaginationResult; createResult(query: NormalizedPagination, items: Item[], total: number): PaginationResult; createResult(query: NormalizedPagination, items: Item[], getCursor: GetCursor): PaginationResult; } export declare const paginationUtils: PaginationUtils; export {};