import { GraphQLResolveInfo } from 'graphql'; import { ObjectLiteral, SelectQueryBuilder } from 'typeorm'; import { IEdge } from './edge.interface'; export interface IOptions< Entity extends ObjectLiteral, Record, Cursor, Node, CustomEdge extends IEdge, > { getRecords?: (args: SelectQueryBuilder) => Promise; getCursor?: (record: Record | undefined) => Cursor; encodeCursor?: (cursor: Cursor) => string; decodeCursor?: (cursorString: string) => Cursor; recordToEdge?: (record: Record) => Omit; resolveInfo?: GraphQLResolveInfo | null; }