# federated graph
directive @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR
scalar openfed__Scope
type Query {
  "Query.enumQuery @requiresScopes: read:enum from subgraph-g Enum"
  enumQuery: Enum! @requiresScopes(scopes: [["read:enum"]])
  interfacesQuery: [Interface!]!
  """
    Scalar.enumQuery
    @requiresScopes: read:scalar AND read:private from subgraph-h Scalar
  """
  scalarQuery: Scalar @requiresScopes(scopes: [["read:scalar", "read:private"]])
}
"""
  Scalar
  @requiresScopes: (read:scalar AND read:private) initially added by subgraph-h Scalar
  @requiresScopes applied to relevant field definitions and removed here
"""
scalar Scalar
"""
  Enum @requiresScopes: read:enum initially added by subgraph-g Enum
  @requiresScopes applied to relevant field definitions and removed here
"""
enum Enum {
  VALUE
}
"""
  Interface
  @requiresScopes: ((read:interface AND read:object) OR (read:all))
  initially added by subgraph-h Interface
  @requiresScopes applied to relevant field definitions and removed here
"""
type Interface {
  """
  Interface.booleanField @requiresScopes:
  ((read:interface AND read:object) OR (read:all)) from subgraph-h Interface
  """
  booleanField: Boolean! @requiresScopes(scopes: [["read:interface", "read:object"],["read:all"]])
  """
    Interface.enumField @requiresScopes:
    ((read:interface AND read:object) OR (read:all)) from subgraph-h Interface
  """
  enumField: Enum! @requiresScopes(scopes: [["read:interface", "read:object"],["read:all"]])
  intField: Int!
  """
    Interface.stringField @requiresScopes:
    ((read:string) OR (read:scalar)) from subgraph-h Interface.stringField
  """
  stringField: String! @requiresScopes(scopes: [["read:string"], ["read:scalar"]])
}
type Object implements Interface {
   """
    Object.booleanField @requiresScopes:
    ((read:interface AND read:object) OR (read:all)) from subgraph-h Interface
  """
  booleanField: @requiresScopes(scopes: [["read:interface", "read:object"],["read:all"]])
    """
    Object.enumField @requiresScopes:
    ((read:interface AND read:object) OR (read:all)) from subgraph-h Interface
  """
  enumField: Enum! @requiresScopes(scopes: [["read:interface", "read:object"],["read:all"]])
  id: ID!
  intField: Int!
  objectOnlyBooleanField: Boolean!
  "Object.objectOnlyEnumField @requiresScopes: read:enum from subgraph-g Enum"
  objectOnlyEnumField: Enum! @requiresScopes(scopes: [["read:enum"]])
  """
    Object.scalarField
    @requiresScopes: (read:scalar AND read:private) from subgraph-h Scalar
  """
  scalarField: Scalar! @requiresScopes(scopes: [["read:scalar", "read:private"]])
  """
    Object.stringField @requiresScopes:
    ((read:string) OR (read:scalar)) from subgraph-h Interface.stringField
  """
  stringField: String! @requiresScopes(scopes: [["read:string"], ["read:scalar"]])
}
"""
  AnotherObject
  @requiresScopes: "read:anotherobject" initially added by subgraph-f AnotherObject
  @requiresScopes applied to relevant field definitions and removed here
"""
type AnotherObject implements Interface {
  """
    AnotherObject.anotherObjectOnlyFloatField @requiresScopes:
    read:anotherobject from subgraph-h AnotherObject
  """
  anotherObjectOnlyFloatField: Float! @requiresScopes(scopes: [["read:anotherobject]])
  """
    AnotherObject.anotherObjectOnlyScalarField @requiresScopes:
    read:anotherobject from subgraph-h AnotherObject
    (read:scalar AND read:private) from subgraph-h Scalar
  """
  anotherObjectOnlyScalarField: Scalar! @requiresScopes(scopes: [["read:anotherobject", "read:scalar", "read:private"]])
  """
    AnotherObject.booleanField @requiresScopes:
    read:anotherobject from subgraph-h AnotherObject
    ((read:interface AND read:object) OR (read:all)) from subgraph-h Interface
  """
  booleanField: @requiresScopes(scopes: [["read:anotherobject", "read:interface", "read:object"], ["read:anotherobject", "read:all"]])
  """
    AnotherObject.enumField @requiresScopes:
    read:anotherobject from subgraph-h AnotherObject
    ((read:interface AND read:object) OR (read:all)) from subgraph-h Interface
  """
  enumField: Enum! @requiresScopes(scopes: [["read:anotherobject", "read:interface", "read:object"], ["read:anotherobject", "read:all"]])
  "AnotherObject.id @requiresScopes: read:anotherobject from subgraph-h AnotherObject"
  id: ID! @requiresScopes(scopes: [["read:anotherobject]])
  """
    AnotherObject.intField
    @requiresScopes: read:anotherobject from subgraph-h AnotherObject
  """
  intField: Int! @requiresScopes(scopes: [["read:anotherobject]])
  """
    AnotherObject.stringField @requiresScopes:
    ((read:string) OR (read:scalar)) from subgraph-g Interface.stringField
    read:anotherobject from subgraph subgraph-h AnotherObject
  """
  stringField: String! @requiresScopes(scopes: [["read:anotherobject", "read:string"], ["read:anotherobject", "read:scalar"]])
}