import { DocumentNode } from "graphql" ; import { makePrismaClientClass , BaseClientOptions , Model } from "prisma-client-lib" ; import { typeDefs } from "./prisma-schema" ; export type AtLeastOne < T , U = { [ K in keyof T ] : Pick < T , K > ; } > = Partial < T > & U [ keyof U ] ; export interface Exists { user : ( where ? : UserWhereInput ) => Promise < boolean > ; } export interface Node { } export type FragmentableArray < T > = Promise < Array < T > > & Fragmentable ; export interface Fragmentable { $fragment < T > ( fragment ) : Promise < T > ; } export interface Prisma { $exists : Exists ; $graphql : < T = any > ( query : string , variables ? : { [ key ] : any ; } ) => Promise < T > ; /**
     * Queries
     */ user : ( where : UserWhereUniqueInput ) => UserPromise ; users : ( args ? : { where ? : UserWhereInput ; orderBy ? : UserOrderByInput ; skip ? : Int ; after ? : String ; before ? : String ; first ? : Int ; last ? : Int ; } ) => FragmentableArray < User > ; usersConnection : ( args ? : { where ? : UserWhereInput ; orderBy ? : UserOrderByInput ; skip ? : Int ; after ? : String ; before ? : String ; first ? : Int ; last ? : Int ; } ) => UserConnectionPromise ; node : ( args : { id : ID_Output ; } ) => Node ; /**
     * Mutations
     */ createUser : ( data : UserCreateInput ) => UserPromise ; updateUser : ( args : { data : UserUpdateInput ; where : UserWhereUniqueInput ; } ) => UserPromise ; updateManyUsers : ( args : { data : UserUpdateManyMutationInput ; where ? : UserWhereInput ; } ) => BatchPayloadPromise ; upsertUser : ( args : { where : UserWhereUniqueInput ; create : UserCreateInput ; update : UserUpdateInput ; } ) => UserPromise ; deleteUser : ( where : UserWhereUniqueInput ) => UserPromise ; deleteManyUsers : ( where ? : UserWhereInput ) => BatchPayloadPromise ; /**
     * Subscriptions
     */ $subscribe : Subscription ; } export interface Subscription { user : ( where ? : UserSubscriptionWhereInput ) => UserSubscriptionPayloadSubscription ; } export interface ClientConstructor < T > { new ( options ? ) : T ; } /**
 * Types
 */ export type UserOrderByInput = "id_ASC" | "id_DESC" | "name_ASC" | "name_DESC" | "createdAt_ASC" | "createdAt_DESC" | "updatedAt_ASC" | "updatedAt_DESC" ; export type MutationType = "CREATED" | "UPDATED" | "DELETED" ; export interface UserCreateInput { name : String ; } export interface UserUpdateInput { name ? : String ; } export interface UserUpdateManyMutationInput { name ? : String ; } export interface UserWhereInput { id ? : ID_Input ; id_not ? : ID_Input ; id_in ? : ID_Input [ ] | ID_Input ; id_not_in ? : ID_Input [ ] | ID_Input ; id_lt ? : ID_Input ; id_lte ? : ID_Input ; id_gt ? : ID_Input ; id_gte ? : ID_Input ; id_contains ? : ID_Input ; id_not_contains ? : ID_Input ; id_starts_with ? : ID_Input ; id_not_starts_with ? : ID_Input ; id_ends_with ? : ID_Input ; id_not_ends_with ? : ID_Input ; name ? : String ; name_not ? : String ; name_in ? : String [ ] | String ; name_not_in ? : String [ ] | String ; name_lt ? : String ; name_lte ? : String ; name_gt ? : String ; name_gte ? : String ; name_contains ? : String ; name_not_contains ? : String ; name_starts_with ? : String ; name_not_starts_with ? : String ; name_ends_with ? : String ; name_not_ends_with ? : String ; AND ? : UserWhereInput [ ] | UserWhereInput ; OR ? : UserWhereInput [ ] | UserWhereInput ; NOT ? : UserWhereInput [ ] | UserWhereInput ; } export interface UserSubscriptionWhereInput { mutation_in ? : MutationType [ ] | MutationType ; updatedFields_contains ? : String ; updatedFields_contains_every ? : String [ ] | String ; updatedFields_contains_some ? : String [ ] | String ; node ? : UserWhereInput ; AND ? : UserSubscriptionWhereInput [ ] | UserSubscriptionWhereInput ; OR ? : UserSubscriptionWhereInput [ ] | UserSubscriptionWhereInput ; NOT ? : UserSubscriptionWhereInput [ ] | UserSubscriptionWhereInput ; } export type UserWhereUniqueInput = AtLeastOne < { id : ID_Input ; } > ; export interface NodeNode { id : ID_Output ; } export interface AggregateUser { count : Int ; } export interface AggregateUserPromise extends Promise < AggregateUser > , Fragmentable { count : ( ) => Promise < Int > ; } export interface AggregateUserSubscription extends Promise < AsyncIterator < AggregateUser > > , Fragmentable { count : ( ) => Promise < AsyncIterator < Int > > ; } export interface BatchPayload { count : Long ; } export interface BatchPayloadPromise extends Promise < BatchPayload > , Fragmentable { count : ( ) => Promise < Long > ; } export interface BatchPayloadSubscription extends Promise < AsyncIterator < BatchPayload > > , Fragmentable { count : ( ) => Promise < AsyncIterator < Long > > ; } export interface UserPreviousValues { id : ID_Output ; name : String ; } export interface UserPreviousValuesPromise extends Promise < UserPreviousValues > , Fragmentable { id : ( ) => Promise < ID_Output > ; name : ( ) => Promise < String > ; } export interface UserPreviousValuesSubscription extends Promise < AsyncIterator < UserPreviousValues > > , Fragmentable { id : ( ) => Promise < AsyncIterator < ID_Output > > ; name : ( ) => Promise < AsyncIterator < String > > ; } export interface UserEdge { node : User ; cursor : String ; } export interface UserEdgePromise extends Promise < UserEdge > , Fragmentable { node : < T = UserPromise > ( ) => T ; cursor : ( ) => Promise < String > ; } export interface UserEdgeSubscription extends Promise < AsyncIterator < UserEdge > > , Fragmentable { node : < T = UserSubscription > ( ) => T ; cursor : ( ) => Promise < AsyncIterator < String > > ; } export interface UserSubscriptionPayload { mutation : MutationType ; node : User ; updatedFields : String [ ] ; previousValues : UserPreviousValues ; } export interface UserSubscriptionPayloadPromise extends Promise < UserSubscriptionPayload > , Fragmentable { mutation : ( ) => Promise < MutationType > ; node : < T = UserPromise > ( ) => T ; updatedFields : ( ) => Promise < String [ ] > ; previousValues : < T = UserPreviousValuesPromise > ( ) => T ; } export interface UserSubscriptionPayloadSubscription extends Promise < AsyncIterator < UserSubscriptionPayload > > , Fragmentable { mutation : ( ) => Promise < AsyncIterator < MutationType > > ; node : < T = UserSubscription > ( ) => T ; updatedFields : ( ) => Promise < AsyncIterator < String [ ] > > ; previousValues : < T = UserPreviousValuesSubscription > ( ) => T ; } export interface User { id : ID_Output ; name : String ; } export interface UserPromise extends Promise < User > , Fragmentable { id : ( ) => Promise < ID_Output > ; name : ( ) => Promise < String > ; } export interface UserSubscription extends Promise < AsyncIterator < User > > , Fragmentable { id : ( ) => Promise < AsyncIterator < ID_Output > > ; name : ( ) => Promise < AsyncIterator < String > > ; } export interface UserConnection { pageInfo : PageInfo ; edges : UserEdge [ ] ; } export interface UserConnectionPromise extends Promise < UserConnection > , Fragmentable { pageInfo : < T = PageInfoPromise > ( ) => T ; edges : < T = FragmentableArray < UserEdge > > ( ) => T ; aggregate : < T = AggregateUserPromise > ( ) => T ; } export interface UserConnectionSubscription extends Promise < AsyncIterator < UserConnection > > , Fragmentable { pageInfo : < T = PageInfoSubscription > ( ) => T ; edges : < T = Promise < AsyncIterator < UserEdgeSubscription > > > ( ) => T ; aggregate : < T = AggregateUserSubscription > ( ) => T ; } export interface PageInfo { hasNextPage : Boolean ; hasPreviousPage : Boolean ; startCursor ? : String ; endCursor ? : String ; } export interface PageInfoPromise extends Promise < PageInfo > , Fragmentable { hasNextPage : ( ) => Promise < Boolean > ; hasPreviousPage : ( ) => Promise < Boolean > ; startCursor : ( ) => Promise < String > ; endCursor : ( ) => Promise < String > ; } export interface PageInfoSubscription extends Promise < AsyncIterator < PageInfo > > , Fragmentable { hasNextPage : ( ) => Promise < AsyncIterator < Boolean > > ; hasPreviousPage : ( ) => Promise < AsyncIterator < Boolean > > ; startCursor : ( ) => Promise < AsyncIterator < String > > ; endCursor : ( ) => Promise < AsyncIterator < String > > ; } export type String = string ; export type Long = string ; export type ID_Input = string | number ; export type ID_Output = string ; export type Int = number ; export type Boolean = boolean ; /**
 * Model Metadata
 */ export const models = [ { name : "User" , embedded : false } ] ; /**
 * Type Defs
 */ export const Prisma = makePrismaClientClass < ClientConstructor < Prisma > > ( { typeDefs , models , endpoint : `https://us1.prisma.sh/novvumio/marvelql/production` } ) ; export const prisma = new Prisma ( ) ;