// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`typegenPrinter: globals should print the full output 1`] = `
Object {
  "globalTypes": "/**
 * This file was generated by Nexus Schema
 * Do not make changes to this file directly
 */

import type { NexusGenTypes } from './types.gen'




declare global {
  interface NexusGen extends NexusGenTypes {}
}




declare global {
  interface NexusGenPluginTypeConfig<TypeName extends string> {
  }
  interface NexusGenPluginInputTypeConfig<TypeName extends string> {
  }
  interface NexusGenPluginFieldConfig<TypeName extends string, FieldName extends string> {
  }
  interface NexusGenPluginInputFieldConfig<TypeName extends string, FieldName extends string> {
  }
  interface NexusGenPluginSchemaConfig {
  }
  interface NexusGenPluginArgConfig {
  }
}",
  "tsTypes": "/**
 * This file was generated by Nexus Schema
 * Do not make changes to this file directly
 */


import type { TestContext } from \\"./../__helpers/index\\"
import type { core } from \\"nexus\\"

export interface CreatePostInput {
  author: string; // ID!
  geo: Array<Array<number | null>>; // [[Float]!]!
  name: string; // String!
}

export interface PostFilters {
  order: OrderEnum; // OrderEnum!
  search: string | null; // String
}

export interface NexusGenInputs {
  CreatePostInput: CreatePostInput
  PostFilters: PostFilters
}

export type OrderEnum = \\"ASC\\" | \\"DESC\\"

export type SomeEnum = \\"A\\" | \\"B\\"

export interface NexusGenEnums {
  OrderEnum: OrderEnum
  SomeEnum: SomeEnum
}

export interface NexusGenScalars {
  String: string
  Int: number
  Float: number
  Boolean: boolean
  ID: string
  UUID: string
}

export interface NexusGenObjects {
  Mutation: {};
  Post: { // root type
    author: NexusGenRootTypes['User']; // User!
    geo: ReadonlyArray<ReadonlyArray<number>>; // [[Float!]!]!
    id: string; // ID!
    messyGeo?: ReadonlyArray<ReadonlyArray<number> | null> | null; // [[Float!]]
    uuid: NexusGenScalars['UUID']; // UUID!
  }
  Query: {};
  User: { // root type
    email: string; // String!
    id: string; // ID!
    name: string; // String!
    outEnum?: SomeEnum | null; // SomeEnum
    phone?: string | null; // String
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
  }
}

export interface NexusGenInterfaces {
  Node: core.Discriminate<'Post', 'optional'> | core.Discriminate<'User', 'optional'>;
}

export interface NexusGenUnions {
  ExampleUnion: core.Discriminate<'Post', 'optional'> | core.Discriminate<'User', 'optional'>;
}

export type NexusGenRootTypes = NexusGenInterfaces & NexusGenObjects & NexusGenUnions

export type NexusGenAllTypes = NexusGenRootTypes & NexusGenScalars & NexusGenEnums

export interface NexusGenFieldTypes {
  Mutation: { // field return type
    createPost: NexusGenRootTypes['Post']; // Post!
    registerClick: NexusGenRootTypes['Query']; // Query!
    someList: ReadonlyArray<string | null>; // [String]!
  }
  Post: { // field return type
    author: NexusGenRootTypes['User']; // User!
    geo: ReadonlyArray<ReadonlyArray<number>>; // [[Float!]!]!
    id: string; // ID!
    messyGeo: ReadonlyArray<ReadonlyArray<number> | null> | null; // [[Float!]]
    uuid: NexusGenScalars['UUID']; // UUID!
  }
  Query: { // field return type
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
    unionField: NexusGenRootTypes['ExampleUnion']; // ExampleUnion!
    user: NexusGenRootTypes['User']; // User!
  }
  User: { // field return type
    email: string; // String!
    id: string; // ID!
    name: string; // String!
    outEnum: SomeEnum | null; // SomeEnum
    phone: string | null; // String
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
  }
  Node: { // field return type
    id: string; // ID!
  }
}

export interface NexusGenFieldTypeNames {
  Mutation: { // field return type name
    createPost: 'Post'
    registerClick: 'Query'
    someList: 'String'
  }
  Post: { // field return type name
    author: 'User'
    geo: 'Float'
    id: 'ID'
    messyGeo: 'Float'
    uuid: 'UUID'
  }
  Query: { // field return type name
    posts: 'Post'
    unionField: 'ExampleUnion'
    user: 'User'
  }
  User: { // field return type name
    email: 'String'
    id: 'ID'
    name: 'String'
    outEnum: 'SomeEnum'
    phone: 'String'
    posts: 'Post'
  }
  Node: { // field return type name
    id: 'ID'
  }
}

export interface MutationCreatePostArgs {
  input: CreatePostInput; // CreatePostInput!
}

export interface MutationRegisterClickArgs {
  uuid?: NexusGenScalars['UUID'] | null; // UUID
}

export interface MutationSomeListArgs {
  items: Array<string | null>; // [String]!
}

export interface QueryPostsArgs {
  filters: PostFilters; // PostFilters!
}

export interface UserNameArgs {
  prefix?: string | null; // String
}

export interface UserPostsArgs {
  filters?: PostFilters | null; // PostFilters
}

export interface NexusGenArgTypes {
  Mutation: {
    createPost: MutationCreatePostArgs
    registerClick: MutationRegisterClickArgs
    someList: MutationSomeListArgs
  }
  Query: {
    posts: QueryPostsArgs
  }
  User: {
    name: UserNameArgs
    posts: UserPostsArgs
  }
}

export interface NexusGenAbstractTypeMembers {
  ExampleUnion: \\"Post\\" | \\"User\\"
  Node: \\"Post\\" | \\"User\\"
}

export interface NexusGenTypeInterfaces {
  Post: \\"Node\\"
  User: \\"Node\\"
}

export type NexusGenObjectNames = keyof NexusGenObjects;

export type NexusGenInputNames = keyof NexusGenInputs;

export type NexusGenEnumNames = keyof NexusGenEnums;

export type NexusGenInterfaceNames = keyof NexusGenInterfaces;

export type NexusGenScalarNames = keyof NexusGenScalars;

export type NexusGenUnionNames = keyof NexusGenUnions;

export type NexusGenDirectives = \\"TestFieldDirective\\"

export interface NexusGenDirectiveArgs {
  TestFieldDirective: {
  }
}

export type NexusGenObjectsUsingAbstractStrategyIsTypeOf = never;

export type NexusGenAbstractsUsingStrategyResolveType = \\"ExampleUnion\\" | \\"Node\\";

export type NexusGenFeaturesConfig = {
  abstractTypeStrategies: {
    __typename: true
    isTypeOf: false
    resolveType: false
  }
}

export interface NexusGenTypes {
  context: TestContext;
  inputTypes: NexusGenInputs;
  directives: NexusGenDirectives;
  directiveArgs: NexusGenDirectiveArgs;
  rootTypes: NexusGenRootTypes;
  inputTypeShapes: NexusGenInputs & NexusGenEnums & NexusGenScalars;
  argTypes: NexusGenArgTypes;
  fieldTypes: NexusGenFieldTypes;
  fieldTypeNames: NexusGenFieldTypeNames;
  allTypes: NexusGenAllTypes;
  typeInterfaces: NexusGenTypeInterfaces;
  objectNames: NexusGenObjectNames;
  inputNames: NexusGenInputNames;
  enumNames: NexusGenEnumNames;
  interfaceNames: NexusGenInterfaceNames;
  scalarNames: NexusGenScalarNames;
  unionNames: NexusGenUnionNames;
  allInputTypes: NexusGenTypes['inputNames'] | NexusGenTypes['enumNames'] | NexusGenTypes['scalarNames'];
  allOutputTypes: NexusGenTypes['objectNames'] | NexusGenTypes['enumNames'] | NexusGenTypes['unionNames'] | NexusGenTypes['interfaceNames'] | NexusGenTypes['scalarNames'];
  allNamedTypes: NexusGenTypes['allInputTypes'] | NexusGenTypes['allOutputTypes']
  abstractTypes: NexusGenTypes['interfaceNames'] | NexusGenTypes['unionNames'];
  abstractTypeMembers: NexusGenAbstractTypeMembers;
  objectsUsingAbstractStrategyIsTypeOf: NexusGenObjectsUsingAbstractStrategyIsTypeOf;
  abstractsUsingStrategyResolveType: NexusGenAbstractsUsingStrategyResolveType;
  features: NexusGenFeaturesConfig;
}",
}
`;

exports[`typegenPrinter: no input changes should print the full output, with inputs 1`] = `
"/**
 * This file was generated by Nexus Schema
 * Do not make changes to this file directly
 */


import type { core } from \\"nexus\\"

export interface NexusGenInputs {
  CreatePostInput: { // input type
    name: string; // String!
    author: string; // ID!
    geo: Array<Array<number | null>>; // [[Float]!]!
  }
  PostFilters: { // input type
    order: NexusGenEnums['OrderEnum']; // OrderEnum!
    search: string | null; // String
  }
}

export interface NexusGenEnums {
  OrderEnum: \\"ASC\\" | \\"DESC\\"
  SomeEnum: \\"A\\" | \\"B\\"
}

export interface NexusGenScalars {
  String: string
  Int: number
  Float: number
  Boolean: boolean
  ID: string
  UUID: any
}

export interface NexusGenObjects {
  Mutation: {};
  Post: { // root type
    id: string; // ID!
    uuid: NexusGenScalars['UUID']; // UUID!
    author: NexusGenRootTypes['User']; // User!
    geo: ReadonlyArray<ReadonlyArray<number>>; // [[Float!]!]!
    messyGeo?: ReadonlyArray<ReadonlyArray<number> | null> | null; // [[Float!]]
  }
  Query: {};
  User: { // root type
    id: string; // ID!
    name: string; // String!
    email: string; // String!
    phone?: string | null; // String
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
    outEnum?: NexusGenEnums['SomeEnum'] | null; // SomeEnum
  }
}

export interface NexusGenInterfaces {
  Node: core.Discriminate<'User', 'optional'> | core.Discriminate<'Post', 'optional'>;
}

export interface NexusGenUnions {
  ExampleUnion: core.Discriminate<'Post', 'optional'> | core.Discriminate<'User', 'optional'>;
}

export type NexusGenRootTypes = NexusGenInterfaces & NexusGenObjects & NexusGenUnions

export type NexusGenAllTypes = NexusGenRootTypes & NexusGenScalars & NexusGenEnums

export interface NexusGenFieldTypes {
  Mutation: { // field return type
    someList: ReadonlyArray<string | null>; // [String]!
    createPost: NexusGenRootTypes['Post']; // Post!
    registerClick: NexusGenRootTypes['Query']; // Query!
  }
  Post: { // field return type
    id: string; // ID!
    uuid: NexusGenScalars['UUID']; // UUID!
    author: NexusGenRootTypes['User']; // User!
    geo: ReadonlyArray<ReadonlyArray<number>>; // [[Float!]!]!
    messyGeo: ReadonlyArray<ReadonlyArray<number> | null> | null; // [[Float!]]
  }
  Query: { // field return type
    user: NexusGenRootTypes['User']; // User!
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
    unionField: NexusGenRootTypes['ExampleUnion']; // ExampleUnion!
  }
  User: { // field return type
    id: string; // ID!
    name: string; // String!
    email: string; // String!
    phone: string | null; // String
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
    outEnum: NexusGenEnums['SomeEnum'] | null; // SomeEnum
  }
  Node: { // field return type
    id: string; // ID!
  }
}

export interface NexusGenFieldTypeNames {
  Mutation: { // field return type name
    someList: 'String'
    createPost: 'Post'
    registerClick: 'Query'
  }
  Post: { // field return type name
    id: 'ID'
    uuid: 'UUID'
    author: 'User'
    geo: 'Float'
    messyGeo: 'Float'
  }
  Query: { // field return type name
    user: 'User'
    posts: 'Post'
    unionField: 'ExampleUnion'
  }
  User: { // field return type name
    id: 'ID'
    name: 'String'
    email: 'String'
    phone: 'String'
    posts: 'Post'
    outEnum: 'SomeEnum'
  }
  Node: { // field return type name
    id: 'ID'
  }
}

export interface NexusGenArgTypes {
  Mutation: {
    someList: { // args
      items: Array<string | null>; // [String]!
    }
    createPost: { // args
      input: NexusGenInputs['CreatePostInput']; // CreatePostInput!
    }
    registerClick: { // args
      uuid?: NexusGenScalars['UUID'] | null; // UUID
    }
  }
  Query: {
    posts: { // args
      filters: NexusGenInputs['PostFilters']; // PostFilters!
    }
  }
  User: {
    name: { // args
      prefix?: string | null; // String
    }
    posts: { // args
      filters?: NexusGenInputs['PostFilters'] | null; // PostFilters
    }
  }
}

export interface NexusGenAbstractTypeMembers {
  ExampleUnion: \\"Post\\" | \\"User\\"
  Node: \\"User\\" | \\"Post\\"
}

export interface NexusGenTypeInterfaces {
  Post: \\"Node\\"
  User: \\"Node\\"
}

export type NexusGenObjectNames = keyof NexusGenObjects;

export type NexusGenInputNames = keyof NexusGenInputs;

export type NexusGenEnumNames = keyof NexusGenEnums;

export type NexusGenInterfaceNames = keyof NexusGenInterfaces;

export type NexusGenScalarNames = keyof NexusGenScalars;

export type NexusGenUnionNames = keyof NexusGenUnions;

export type NexusGenDirectives = \\"TestFieldDirective\\"

export interface NexusGenDirectiveArgs {
  TestFieldDirective: {
  }
}

export type NexusGenObjectsUsingAbstractStrategyIsTypeOf = never;

export type NexusGenAbstractsUsingStrategyResolveType = \\"ExampleUnion\\" | \\"Node\\";

export type NexusGenFeaturesConfig = {
  abstractTypeStrategies: {
    __typename: true
    isTypeOf: false
    resolveType: false
  }
}

export interface NexusGenTypes {
  context: any;
  inputTypes: NexusGenInputs;
  directives: NexusGenDirectives;
  directiveArgs: NexusGenDirectiveArgs;
  rootTypes: NexusGenRootTypes;
  inputTypeShapes: NexusGenInputs & NexusGenEnums & NexusGenScalars;
  argTypes: NexusGenArgTypes;
  fieldTypes: NexusGenFieldTypes;
  fieldTypeNames: NexusGenFieldTypeNames;
  allTypes: NexusGenAllTypes;
  typeInterfaces: NexusGenTypeInterfaces;
  objectNames: NexusGenObjectNames;
  inputNames: NexusGenInputNames;
  enumNames: NexusGenEnumNames;
  interfaceNames: NexusGenInterfaceNames;
  scalarNames: NexusGenScalarNames;
  unionNames: NexusGenUnionNames;
  allInputTypes: NexusGenTypes['inputNames'] | NexusGenTypes['enumNames'] | NexusGenTypes['scalarNames'];
  allOutputTypes: NexusGenTypes['objectNames'] | NexusGenTypes['enumNames'] | NexusGenTypes['unionNames'] | NexusGenTypes['interfaceNames'] | NexusGenTypes['scalarNames'];
  allNamedTypes: NexusGenTypes['allInputTypes'] | NexusGenTypes['allOutputTypes']
  abstractTypes: NexusGenTypes['interfaceNames'] | NexusGenTypes['unionNames'];
  abstractTypeMembers: NexusGenAbstractTypeMembers;
  objectsUsingAbstractStrategyIsTypeOf: NexusGenObjectsUsingAbstractStrategyIsTypeOf;
  abstractsUsingStrategyResolveType: NexusGenAbstractsUsingStrategyResolveType;
  features: NexusGenFeaturesConfig;
}"
`;

exports[`typegenPrinter: no input changes should print the full output, with inputs 2`] = `
"/**
 * This file was generated by Nexus Schema
 * Do not make changes to this file directly
 */

import type { NexusGenTypes } from './types.gen'




declare global {
  interface NexusGen extends NexusGenTypes {}
}




declare global {
  interface NexusGenPluginTypeConfig<TypeName extends string> {
  }
  interface NexusGenPluginInputTypeConfig<TypeName extends string> {
  }
  interface NexusGenPluginFieldConfig<TypeName extends string, FieldName extends string> {
  }
  interface NexusGenPluginInputFieldConfig<TypeName extends string, FieldName extends string> {
  }
  interface NexusGenPluginSchemaConfig {
  }
  interface NexusGenPluginArgConfig {
  }
}"
`;

exports[`typegenPrinter: useReadonlyArrayForInputs should print the full output using ReadonlyArray in input types 1`] = `
Object {
  "globalTypes": "/**
 * This file was generated by Nexus Schema
 * Do not make changes to this file directly
 */

import type { NexusGenTypes } from './types-useReadonlyArrayForInputs.gen'




declare global {
  interface NexusGen extends NexusGenTypes {}
}




declare global {
  interface NexusGenPluginTypeConfig<TypeName extends string> {
  }
  interface NexusGenPluginInputTypeConfig<TypeName extends string> {
  }
  interface NexusGenPluginFieldConfig<TypeName extends string, FieldName extends string> {
  }
  interface NexusGenPluginInputFieldConfig<TypeName extends string, FieldName extends string> {
  }
  interface NexusGenPluginSchemaConfig {
  }
  interface NexusGenPluginArgConfig {
  }
}",
  "tsTypes": "/**
 * This file was generated by Nexus Schema
 * Do not make changes to this file directly
 */


import type { TestContext } from \\"./../__helpers/index\\"
import type { core } from \\"nexus\\"

export interface NexusGenInputs {
  CreatePostInput: { // input type
    author: string; // ID!
    geo: ReadonlyArray<ReadonlyArray<number | null>>; // [[Float]!]!
    name: string; // String!
  }
  PostFilters: { // input type
    order: NexusGenEnums['OrderEnum']; // OrderEnum!
    search: string | null; // String
  }
}

export interface NexusGenEnums {
  OrderEnum: \\"ASC\\" | \\"DESC\\"
  SomeEnum: \\"A\\" | \\"B\\"
}

export interface NexusGenScalars {
  String: string
  Int: number
  Float: number
  Boolean: boolean
  ID: string
  UUID: string
}

export interface NexusGenObjects {
  Mutation: {};
  Post: { // root type
    author: NexusGenRootTypes['User']; // User!
    geo: ReadonlyArray<ReadonlyArray<number>>; // [[Float!]!]!
    id: string; // ID!
    messyGeo?: ReadonlyArray<ReadonlyArray<number> | null> | null; // [[Float!]]
    uuid: NexusGenScalars['UUID']; // UUID!
  }
  Query: {};
  User: { // root type
    email: string; // String!
    id: string; // ID!
    name: string; // String!
    outEnum?: NexusGenEnums['SomeEnum'] | null; // SomeEnum
    phone?: string | null; // String
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
  }
}

export interface NexusGenInterfaces {
  Node: core.Discriminate<'Post', 'optional'> | core.Discriminate<'User', 'optional'>;
}

export interface NexusGenUnions {
  ExampleUnion: core.Discriminate<'Post', 'optional'> | core.Discriminate<'User', 'optional'>;
}

export type NexusGenRootTypes = NexusGenInterfaces & NexusGenObjects & NexusGenUnions

export type NexusGenAllTypes = NexusGenRootTypes & NexusGenScalars & NexusGenEnums

export interface NexusGenFieldTypes {
  Mutation: { // field return type
    createPost: NexusGenRootTypes['Post']; // Post!
    registerClick: NexusGenRootTypes['Query']; // Query!
    someList: ReadonlyArray<string | null>; // [String]!
  }
  Post: { // field return type
    author: NexusGenRootTypes['User']; // User!
    geo: ReadonlyArray<ReadonlyArray<number>>; // [[Float!]!]!
    id: string; // ID!
    messyGeo: ReadonlyArray<ReadonlyArray<number> | null> | null; // [[Float!]]
    uuid: NexusGenScalars['UUID']; // UUID!
  }
  Query: { // field return type
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
    unionField: NexusGenRootTypes['ExampleUnion']; // ExampleUnion!
    user: NexusGenRootTypes['User']; // User!
  }
  User: { // field return type
    email: string; // String!
    id: string; // ID!
    name: string; // String!
    outEnum: NexusGenEnums['SomeEnum'] | null; // SomeEnum
    phone: string | null; // String
    posts: ReadonlyArray<NexusGenRootTypes['Post']>; // [Post!]!
  }
  Node: { // field return type
    id: string; // ID!
  }
}

export interface NexusGenFieldTypeNames {
  Mutation: { // field return type name
    createPost: 'Post'
    registerClick: 'Query'
    someList: 'String'
  }
  Post: { // field return type name
    author: 'User'
    geo: 'Float'
    id: 'ID'
    messyGeo: 'Float'
    uuid: 'UUID'
  }
  Query: { // field return type name
    posts: 'Post'
    unionField: 'ExampleUnion'
    user: 'User'
  }
  User: { // field return type name
    email: 'String'
    id: 'ID'
    name: 'String'
    outEnum: 'SomeEnum'
    phone: 'String'
    posts: 'Post'
  }
  Node: { // field return type name
    id: 'ID'
  }
}

export interface NexusGenArgTypes {
  Mutation: {
    createPost: { // args
      input: NexusGenInputs['CreatePostInput']; // CreatePostInput!
    }
    registerClick: { // args
      uuid?: NexusGenScalars['UUID'] | null; // UUID
    }
    someList: { // args
      items: ReadonlyArray<string | null>; // [String]!
    }
  }
  Query: {
    posts: { // args
      filters: NexusGenInputs['PostFilters']; // PostFilters!
    }
  }
  User: {
    name: { // args
      prefix?: string | null; // String
    }
    posts: { // args
      filters?: NexusGenInputs['PostFilters'] | null; // PostFilters
    }
  }
}

export interface NexusGenAbstractTypeMembers {
  ExampleUnion: \\"Post\\" | \\"User\\"
  Node: \\"Post\\" | \\"User\\"
}

export interface NexusGenTypeInterfaces {
  Post: \\"Node\\"
  User: \\"Node\\"
}

export type NexusGenObjectNames = keyof NexusGenObjects;

export type NexusGenInputNames = keyof NexusGenInputs;

export type NexusGenEnumNames = keyof NexusGenEnums;

export type NexusGenInterfaceNames = keyof NexusGenInterfaces;

export type NexusGenScalarNames = keyof NexusGenScalars;

export type NexusGenUnionNames = keyof NexusGenUnions;

export type NexusGenDirectives = \\"TestFieldDirective\\"

export interface NexusGenDirectiveArgs {
  TestFieldDirective: {
  }
}

export type NexusGenObjectsUsingAbstractStrategyIsTypeOf = never;

export type NexusGenAbstractsUsingStrategyResolveType = \\"ExampleUnion\\" | \\"Node\\";

export type NexusGenFeaturesConfig = {
  abstractTypeStrategies: {
    __typename: true
    isTypeOf: false
    resolveType: false
  }
}

export interface NexusGenTypes {
  context: TestContext;
  inputTypes: NexusGenInputs;
  directives: NexusGenDirectives;
  directiveArgs: NexusGenDirectiveArgs;
  rootTypes: NexusGenRootTypes;
  inputTypeShapes: NexusGenInputs & NexusGenEnums & NexusGenScalars;
  argTypes: NexusGenArgTypes;
  fieldTypes: NexusGenFieldTypes;
  fieldTypeNames: NexusGenFieldTypeNames;
  allTypes: NexusGenAllTypes;
  typeInterfaces: NexusGenTypeInterfaces;
  objectNames: NexusGenObjectNames;
  inputNames: NexusGenInputNames;
  enumNames: NexusGenEnumNames;
  interfaceNames: NexusGenInterfaceNames;
  scalarNames: NexusGenScalarNames;
  unionNames: NexusGenUnionNames;
  allInputTypes: NexusGenTypes['inputNames'] | NexusGenTypes['enumNames'] | NexusGenTypes['scalarNames'];
  allOutputTypes: NexusGenTypes['objectNames'] | NexusGenTypes['enumNames'] | NexusGenTypes['unionNames'] | NexusGenTypes['interfaceNames'] | NexusGenTypes['scalarNames'];
  allNamedTypes: NexusGenTypes['allInputTypes'] | NexusGenTypes['allOutputTypes']
  abstractTypes: NexusGenTypes['interfaceNames'] | NexusGenTypes['unionNames'];
  abstractTypeMembers: NexusGenAbstractTypeMembers;
  objectsUsingAbstractStrategyIsTypeOf: NexusGenObjectsUsingAbstractStrategyIsTypeOf;
  abstractsUsingStrategyResolveType: NexusGenAbstractsUsingStrategyResolveType;
  features: NexusGenFeaturesConfig;
}",
}
`;
