import { FragmentReplacement } from 'graphql-binding'; import { GraphQLResolveInfo } from 'graphql'; export interface Filter { [key: string]: any; } export interface Exists { [rootField: string]: (filter: Filter) => Promise; } export interface BasePrismaOptions { fragmentReplacements?: FragmentReplacement[]; endpoint?: string; secret?: string; debug?: boolean; disableCache?: boolean; } export interface PrismaOptions extends BasePrismaOptions { typeDefs: string; } export interface QueryMap { [rootField: string]: (args?: { [key: string]: any; }, info?: GraphQLResolveInfo | string) => Promise; } export interface SubscriptionMap { [rootField: string]: (args?: any, info?: GraphQLResolveInfo | string) => AsyncIterator | Promise>; }