### This file was generated by Nexus Schema
### Do not make changes to this file directly

interface I {
  hello: String
}

type Mutation {
  createUser(firstName: String, lastName: String): User
}

"""
No-Op scalar for testing purposes only
"""
scalar MyCustomScalar

type OfI implements I {
  hello: String
}

type OfI2 implements I {
  hello: String
}

"""
PageInfo cursor, as defined in https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
"""
type PageInfo {
  """
  The cursor corresponding to the last nodes in edges. Null if the connection is empty.
  """
  endCursor: String

  """
  Used to indicate whether more edges exist following the set defined by the clients arguments.
  """
  hasNextPage: Boolean!

  """
  Used to indicate whether more edges exist prior to the set defined by the clients arguments.
  """
  hasPreviousPage: Boolean!

  """
  The cursor corresponding to the first nodes in edges. Null if the connection is empty.
  """
  startCursor: String
}

type Post {
  body: String
  title: String
}

type PostConnection {
  """
  https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
  """
  edges: [PostEdge]

  """
  https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
  """
  pageInfo: PageInfo!
}

type PostEdge {
  """
  https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor
  """
  cursor: String!
  delta(format: String): String

  """
  https://facebook.github.io/relay/graphql/connections.htm#sec-Node
  """
  node: Post
}

input PostSearchInput {
  body: String
  title: String
}

type Query {
  customScalar: MyCustomScalar
  foo: String
  searchPosts(input: PostSearchInput): [Post]
  user(id: ID, status: UserStatus = ACTIVE): User
}

input Something {
  id: Int!
}

type Subscription {
  someBoolean: Boolean
  someBooleanFromExtendType: Boolean
  someBooleanFromSubscriptionField: Boolean
  someField: Int
  someFields: [Int]
  someFloat: Float
  someID: ID
  someInt: Int
  someInts: [Int]
  someString: String
}

type User {
  firstName: String
  lastName: String
  posts(
    """
    Returns the elements in the list that come after the specified cursor
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor
    """
    before: String

    """
    Returns the first n elements from the list.
    """
    first: Int

    """
    Returns the last n elements from the list.
    """
    last: Int
  ): PostConnection
}

enum UserStatus {
  ACTIVE
  PENDING
}
