export type PrismaModel = { [k in "findMany" | "count"]: CallableFunction; }; export type PrismaQuery = { where: Record; }; export type PageNumberPaginationOptions = { pageSize?: number | null; current?: number; }; export type PageNumberPagination = { isFirstPage: boolean; isLastPage: boolean; current: number; previousPage: number | null; nextPage: number | null; }; export type PageNumberCounters = { pageCount: number; totalCount: number; }; export type PaginationResult = { list: T; total?: number; pagination?: PageNumberPaginationOptions; }; export type GetCursorFunction = (result: R) => string; export type ParseCursorFunction = (cursor: string) => C; export type CursorPaginationOptions = { pageSize: number | null; after?: string; before?: string; getCursor?: GetCursorFunction; parseCursor?: ParseCursorFunction; }; export type CursorPaginationMeta = { hasPreviousPage: boolean; hasNextPage: boolean; startCursor: string | null; endCursor: string | null; };