export declare type Nullable = { [P in keyof T]?: T[P] | null; }; export interface Take { default: number; min: number; max: number; } export declare type OrderBy = { [TKey in keyof TEntity]?: boolean; }; export declare type Cursor = { [TKey in keyof TEntity]?: any; }; export interface CursorPagination { readonly count: number; readonly nodes: TEntity[]; readonly hasPrev: boolean; readonly hasNext: boolean; readonly prevCursor: string | null; readonly nextCursor: string | null; } export interface PromiseCursorPagination { readonly count: Promise; readonly nodes: Promise; readonly hasPrev: Promise; readonly hasNext: Promise; readonly prevCursor: Promise; readonly nextCursor: Promise; } export interface CursorTransformer { parse(text: string): Cursor; stringify(cursor: Cursor): string; } export interface PagePagination { readonly count: number; readonly nodes: TEntity[]; readonly hasNext: boolean; } export interface PromisePagePagination { readonly count: Promise; readonly nodes: Promise; readonly hasNext: Promise; }