export type PrismaModel = { [k in 'findMany' | 'count']: CallableFunction; }; export interface PrismaQuery { where: Record; } export interface PageNumberPaginationOptions { limit: number | null; page?: number; includePageCount?: boolean; } export interface PageNumberPagination { isFirstPage: boolean; isLastPage: boolean; currentPage: number; previousPage: number | null; nextPage: number | null; } export interface PageNumberCounters { pageCount: number; totalCount: number; } export type PageNumberPaginationMeta = TWithCounters extends true ? PageNumberPagination & PageNumberCounters : PageNumberPagination; export type GetCursorFunction = (result: R) => string; export type ParseCursorFunction = (cursor: string) => C; export interface CursorPaginationOptions { limit: number | null; after?: string; before?: string; getCursor?: GetCursorFunction; parseCursor?: ParseCursorFunction; } export interface CursorPaginationMeta { hasPreviousPage: boolean; hasNextPage: boolean; startCursor: string | null; endCursor: string | null; }