| import type { ObjMap } from '../jsutils/ObjMap'; |
| import type { |
| FieldNode, |
| FragmentDefinitionNode, |
| SelectionSetNode, |
| } from '../language/ast'; |
| import type { GraphQLObjectType } from '../type/definition'; |
| import type { GraphQLSchema } from '../type/schema'; |
| /** |
| * Given a selectionSet, collects all of the fields and returns them. |
| * |
| * CollectFields requires the "runtime type" of an object. For a field that |
| * returns an Interface or Union type, the "runtime type" will be the actual |
| * object type returned by that field. |
| * |
| * @internal |
| */ |
| export declare function collectFields( |
| schema: GraphQLSchema, |
| fragments: ObjMap<FragmentDefinitionNode>, |
| variableValues: { |
| [variable: string]: unknown; |
| }, |
| runtimeType: GraphQLObjectType, |
| selectionSet: SelectionSetNode, |
| ): Map<string, ReadonlyArray<FieldNode>>; |
| /** |
| * Given an array of field nodes, collects all of the subfields of the passed |
| * in fields, and returns them at the end. |
| * |
| * CollectSubFields requires the "return type" of an object. For a field that |
| * returns an Interface or Union type, the "return type" will be the actual |
| * object type returned by that field. |
| * |
| * @internal |
| */ |
| export declare function collectSubfields( |
| schema: GraphQLSchema, |
| fragments: ObjMap<FragmentDefinitionNode>, |
| variableValues: { |
| [variable: string]: unknown; |
| }, |
| returnType: GraphQLObjectType, |
| fieldNodes: ReadonlyArray<FieldNode>, |
| ): Map<string, ReadonlyArray<FieldNode>>; |