import { GraphQLResolveInfo } from 'graphql'; export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { [K in keyof T]: T[K] }; export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; export type MakeEmpty = { [_ in K]?: never }; export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; export type RequireFields = Omit & { [P in K]-?: NonNullable }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: { input: string; output: string; } String: { input: string; output: string; } Boolean: { input: boolean; output: boolean; } Int: { input: number; output: number; } Float: { input: number; output: number; } }; export type CreateUserInput = { dateOfBirth: Scalars['String']['input']; email: Scalars['String']['input']; firstName: Scalars['String']['input']; lastName: Scalars['String']['input']; password: Scalars['String']['input']; }; export type CreateUserResponse = { __typename?: 'CreateUserResponse'; error?: Maybe; success: Scalars['Boolean']['output']; token?: Maybe; user?: Maybe; }; export type Mutation = { __typename?: 'Mutation'; createUser: CreateUserResponse; login: UserLoginResponse; logout: UserLogoutResponse; }; export type MutationCreateUserArgs = { input: CreateUserInput; }; export type MutationLoginArgs = { input: UserLoginInput; }; export type User = { __typename?: 'User'; dateOfBirth: Scalars['String']['output']; email: Scalars['String']['output']; firstName: Scalars['String']['output']; id: Scalars['ID']['output']; lastName: Scalars['String']['output']; }; export type UserLoginInput = { email: Scalars['String']['input']; password: Scalars['String']['input']; }; export type UserLoginResponse = { __typename?: 'UserLoginResponse'; error?: Maybe; success: Scalars['Boolean']['output']; token?: Maybe; user?: Maybe; }; export type UserLogoutResponse = { __typename?: 'UserLogoutResponse'; success: Scalars['Boolean']['output']; }; export type WithIndex = TObject & Record; export type ResolversObject = WithIndex; export type ResolverTypeWrapper = Promise | T; export type ResolverWithResolve = { resolve: ResolverFn; }; export type Resolver = ResolverFn | ResolverWithResolve; export type ResolverFn = ( parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => Promise | TResult; export type SubscriptionSubscribeFn = ( parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => AsyncIterable | Promise>; export type SubscriptionResolveFn = ( parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => TResult | Promise; export interface SubscriptionSubscriberObject { subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>; resolve?: SubscriptionResolveFn; } export interface SubscriptionResolverObject { subscribe: SubscriptionSubscribeFn; resolve: SubscriptionResolveFn; } export type SubscriptionObject = | SubscriptionSubscriberObject | SubscriptionResolverObject; export type SubscriptionResolver = | ((...args: any[]) => SubscriptionObject) | SubscriptionObject; export type TypeResolveFn = ( parent: TParent, context: TContext, info: GraphQLResolveInfo ) => Maybe | Promise>; export type IsTypeOfResolverFn = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise; export type NextResolverFn = () => Promise; export type DirectiveResolverFn = ( next: NextResolverFn, parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => TResult | Promise; /** Mapping between all available schema types and the resolvers types */ export type ResolversTypes = ResolversObject<{ Boolean: ResolverTypeWrapper; CreateUserInput: CreateUserInput; CreateUserResponse: ResolverTypeWrapper; ID: ResolverTypeWrapper; Mutation: ResolverTypeWrapper<{}>; String: ResolverTypeWrapper; User: ResolverTypeWrapper; UserLoginInput: UserLoginInput; UserLoginResponse: ResolverTypeWrapper; UserLogoutResponse: ResolverTypeWrapper; }>; /** Mapping between all available schema types and the resolvers parents */ export type ResolversParentTypes = ResolversObject<{ Boolean: Scalars['Boolean']['output']; CreateUserInput: CreateUserInput; CreateUserResponse: CreateUserResponse; ID: Scalars['ID']['output']; Mutation: {}; String: Scalars['String']['output']; User: User; UserLoginInput: UserLoginInput; UserLoginResponse: UserLoginResponse; UserLogoutResponse: UserLogoutResponse; }>; export type CreateUserResponseResolvers = ResolversObject<{ error?: Resolver, ParentType, ContextType>; success?: Resolver; token?: Resolver, ParentType, ContextType>; user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }>; export type MutationResolvers = ResolversObject<{ createUser?: Resolver>; login?: Resolver>; logout?: Resolver; }>; export type UserResolvers = ResolversObject<{ dateOfBirth?: Resolver; email?: Resolver; firstName?: Resolver; id?: Resolver; lastName?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }>; export type UserLoginResponseResolvers = ResolversObject<{ error?: Resolver, ParentType, ContextType>; success?: Resolver; token?: Resolver, ParentType, ContextType>; user?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }>; export type UserLogoutResponseResolvers = ResolversObject<{ success?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }>; export type Resolvers = ResolversObject<{ CreateUserResponse?: CreateUserResponseResolvers; Mutation?: MutationResolvers; User?: UserResolvers; UserLoginResponse?: UserLoginResponseResolvers; UserLogoutResponse?: UserLogoutResponseResolvers; }>;