/** @category Kinds */
/** The set of allowed kind values for AST nodes. */
enum Kind {
/** AST kind for name nodes. */
NAME = 'Name',
/** AST kind for document nodes. */
DOCUMENT = 'Document',
/** AST kind for operation definition nodes. */
OPERATION_DEFINITION = 'OperationDefinition',
/** AST kind for variable definition nodes. */
VARIABLE_DEFINITION = 'VariableDefinition',
/** AST kind for selection set nodes. */
SELECTION_SET = 'SelectionSet',
/** AST kind for field selection nodes. */
FIELD = 'Field',
/** AST kind for argument nodes. */
ARGUMENT = 'Argument',
/** AST kind for fragment spread nodes. */
FRAGMENT_SPREAD = 'FragmentSpread',
/** AST kind for inline fragment nodes. */
INLINE_FRAGMENT = 'InlineFragment',
/** AST kind for fragment definition nodes. */
FRAGMENT_DEFINITION = 'FragmentDefinition',
/** AST kind for variable reference nodes. */
VARIABLE = 'Variable',
/** AST kind for integer value nodes. */
INT = 'IntValue',
/** AST kind for floating-point value nodes. */
FLOAT = 'FloatValue',
/** AST kind for string value nodes. */
STRING = 'StringValue',
/** AST kind for boolean value nodes. */
BOOLEAN = 'BooleanValue',
/** AST kind for null value nodes. */
NULL = 'NullValue',
/** AST kind for enum value nodes. */
ENUM = 'EnumValue',
/** AST kind for list value nodes. */
LIST = 'ListValue',
/** AST kind for object value nodes. */
OBJECT = 'ObjectValue',
/** AST kind for object field nodes. */
OBJECT_FIELD = 'ObjectField',
/** AST kind for directive nodes. */
DIRECTIVE = 'Directive',
/** AST kind for named type reference nodes. */
NAMED_TYPE = 'NamedType',
/** AST kind for list type reference nodes. */
LIST_TYPE = 'ListType',
/** AST kind for non-null type reference nodes. */
NON_NULL_TYPE = 'NonNullType',
/** AST kind for schema definition nodes. */
SCHEMA_DEFINITION = 'SchemaDefinition',
/** AST kind for operation type definition nodes. */
OPERATION_TYPE_DEFINITION = 'OperationTypeDefinition',
/** AST kind for scalar type definition nodes. */
SCALAR_TYPE_DEFINITION = 'ScalarTypeDefinition',
/** AST kind for object type definition nodes. */
OBJECT_TYPE_DEFINITION = 'ObjectTypeDefinition',
/** AST kind for field definition nodes. */
FIELD_DEFINITION = 'FieldDefinition',
/** AST kind for input value definition nodes. */
INPUT_VALUE_DEFINITION = 'InputValueDefinition',
/** AST kind for interface type definition nodes. */
INTERFACE_TYPE_DEFINITION = 'InterfaceTypeDefinition',
/** AST kind for union type definition nodes. */
UNION_TYPE_DEFINITION = 'UnionTypeDefinition',
/** AST kind for enum type definition nodes. */
ENUM_TYPE_DEFINITION = 'EnumTypeDefinition',
/** AST kind for enum value definition nodes. */
ENUM_VALUE_DEFINITION = 'EnumValueDefinition',
/** AST kind for input object type definition nodes. */
INPUT_OBJECT_TYPE_DEFINITION = 'InputObjectTypeDefinition',
/** AST kind for directive definition nodes. */
DIRECTIVE_DEFINITION = 'DirectiveDefinition',
/** AST kind for schema extension nodes. */
SCHEMA_EXTENSION = 'SchemaExtension',
/** AST kind for directive extension nodes. */
DIRECTIVE_EXTENSION = 'DirectiveExtension',
/** AST kind for scalar type extension nodes. */
SCALAR_TYPE_EXTENSION = 'ScalarTypeExtension',
/** AST kind for object type extension nodes. */
OBJECT_TYPE_EXTENSION = 'ObjectTypeExtension',
/** AST kind for interface type extension nodes. */
INTERFACE_TYPE_EXTENSION = 'InterfaceTypeExtension',
/** AST kind for union type extension nodes. */
UNION_TYPE_EXTENSION = 'UnionTypeExtension',
/** AST kind for enum type extension nodes. */
ENUM_TYPE_EXTENSION = 'EnumTypeExtension',
/** AST kind for input object type extension nodes. */
INPUT_OBJECT_TYPE_EXTENSION = 'InputObjectTypeExtension',
/** AST kind for type coordinate nodes. */
TYPE_COORDINATE = 'TypeCoordinate',
/** AST kind for member coordinate nodes. */
MEMBER_COORDINATE = 'MemberCoordinate',
/** AST kind for argument coordinate nodes. */
ARGUMENT_COORDINATE = 'ArgumentCoordinate',
/** AST kind for directive coordinate nodes. */
DIRECTIVE_COORDINATE = 'DirectiveCoordinate',
/** AST kind for directive argument coordinate nodes. */
DIRECTIVE_ARGUMENT_COORDINATE = 'DirectiveArgumentCoordinate',
}
export { Kind };
/**
* Deprecated legacy alias for the enum type representing the possible kind
* values of AST nodes. This alias will be removed in v17. In v17, `Kind` is
* exported as the single public symbol for both the runtime object and the
* corresponding TypeScript type.
* @deprecated Will be removed in v17. In v17, use `Kind` as both the runtime
* value and the type.
*/
export type KindEnum = typeof Kind;