import type * as GraphQL from 'graphql'; import type { Or, Location } from './types'; import type { Kind, OperationTypeNode } from './kind'; import type { StringValueNode, ConstDirectiveNode, ConstValueNode, NamedTypeNode, TypeNode, NameNode, } from './ast'; /** Type System Definition */ export declare type TypeSystemDefinitionNode = Or< GraphQL.TypeSystemDefinitionNode, SchemaDefinitionNode | TypeDefinitionNode | DirectiveDefinitionNode >; export type SchemaDefinitionNode = Or< GraphQL.SchemaDefinitionNode, { readonly kind: Kind.SCHEMA_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly directives?: ReadonlyArray; readonly operationTypes: ReadonlyArray; } >; export type OperationTypeDefinitionNode = Or< GraphQL.OperationTypeDefinitionNode, { readonly kind: Kind.OPERATION_TYPE_DEFINITION; readonly loc?: Location; readonly operation: OperationTypeNode; readonly type: NamedTypeNode; } >; /** Type Definition */ export declare type TypeDefinitionNode = Or< GraphQL.TypeDefinitionNode, | ScalarTypeDefinitionNode | ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode | UnionTypeDefinitionNode | EnumTypeDefinitionNode | InputObjectTypeDefinitionNode >; export type ScalarTypeDefinitionNode = Or< GraphQL.ScalarTypeDefinitionNode, { readonly kind: Kind.SCALAR_TYPE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly directives?: ReadonlyArray; } >; export type ObjectTypeDefinitionNode = Or< GraphQL.ObjectTypeDefinitionNode, { readonly kind: Kind.OBJECT_TYPE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly interfaces?: ReadonlyArray; readonly directives?: ReadonlyArray; readonly fields?: ReadonlyArray; } >; export type FieldDefinitionNode = Or< GraphQL.FieldDefinitionNode, { readonly kind: Kind.FIELD_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly arguments?: ReadonlyArray; readonly type: TypeNode; readonly directives?: ReadonlyArray; } >; export type InputValueDefinitionNode = Or< GraphQL.InputValueDefinitionNode, { readonly kind: Kind.INPUT_VALUE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly type: TypeNode; readonly defaultValue?: ConstValueNode; readonly directives?: ReadonlyArray; } >; export type InterfaceTypeDefinitionNode = Or< GraphQL.InterfaceTypeDefinitionNode, { readonly kind: Kind.INTERFACE_TYPE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly interfaces?: ReadonlyArray; readonly directives?: ReadonlyArray; readonly fields?: ReadonlyArray; } >; export type UnionTypeDefinitionNode = Or< GraphQL.UnionTypeDefinitionNode, { readonly kind: Kind.UNION_TYPE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly directives?: ReadonlyArray; readonly types?: ReadonlyArray; } >; export type EnumTypeDefinitionNode = Or< GraphQL.EnumTypeDefinitionNode, { readonly kind: Kind.ENUM_TYPE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly directives?: ReadonlyArray; readonly values?: ReadonlyArray; } >; export type EnumValueDefinitionNode = Or< GraphQL.EnumValueDefinitionNode, { readonly kind: Kind.ENUM_VALUE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly directives?: ReadonlyArray; } >; export type InputObjectTypeDefinitionNode = Or< GraphQL.InputObjectTypeDefinitionNode, { readonly kind: Kind.INPUT_OBJECT_TYPE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly directives?: ReadonlyArray; readonly fields?: ReadonlyArray; } >; export type DirectiveDefinitionNode = Or< GraphQL.DirectiveDefinitionNode, { readonly kind: Kind.DIRECTIVE_DEFINITION; readonly loc?: Location; readonly description?: StringValueNode; readonly name: NameNode; readonly arguments?: ReadonlyArray; readonly repeatable: boolean; readonly locations: ReadonlyArray; } >; export type TypeSystemExtensionNode = Or< GraphQL.TypeSystemExtensionNode, SchemaExtensionNode | TypeExtensionNode >; export type SchemaExtensionNode = Or< GraphQL.SchemaExtensionNode, { readonly kind: Kind.SCHEMA_EXTENSION; readonly loc?: Location; readonly directives?: ReadonlyArray; readonly operationTypes?: ReadonlyArray; } >; export declare type TypeExtensionNode = Or< GraphQL.TypeExtensionNode, | ScalarTypeExtensionNode | ObjectTypeExtensionNode | InterfaceTypeExtensionNode | UnionTypeExtensionNode | EnumTypeExtensionNode | InputObjectTypeExtensionNode >; export type ScalarTypeExtensionNode = Or< GraphQL.ScalarTypeExtensionNode, { readonly kind: Kind.SCALAR_TYPE_EXTENSION; readonly loc?: Location; readonly name: NameNode; readonly directives?: ReadonlyArray; } >; export type ObjectTypeExtensionNode = Or< GraphQL.ObjectTypeExtensionNode, { readonly kind: Kind.OBJECT_TYPE_EXTENSION; readonly loc?: Location; readonly name: NameNode; readonly interfaces?: ReadonlyArray; readonly directives?: ReadonlyArray; readonly fields?: ReadonlyArray; } >; export type InterfaceTypeExtensionNode = Or< GraphQL.InterfaceTypeExtensionNode, { readonly kind: Kind.INTERFACE_TYPE_EXTENSION; readonly loc?: Location; readonly name: NameNode; readonly interfaces?: ReadonlyArray; readonly directives?: ReadonlyArray; readonly fields?: ReadonlyArray; } >; export type UnionTypeExtensionNode = Or< GraphQL.UnionTypeExtensionNode, { readonly kind: Kind.UNION_TYPE_EXTENSION; readonly loc?: Location; readonly name: NameNode; readonly directives?: ReadonlyArray; readonly types?: ReadonlyArray; } >; export type EnumTypeExtensionNode = Or< GraphQL.EnumTypeExtensionNode, { readonly kind: Kind.ENUM_TYPE_EXTENSION; readonly loc?: Location; readonly name: NameNode; readonly directives?: ReadonlyArray; readonly values?: ReadonlyArray; } >; export type InputObjectTypeExtensionNode = Or< GraphQL.InputObjectTypeExtensionNode, { readonly kind: Kind.INPUT_OBJECT_TYPE_EXTENSION; readonly loc?: Location; readonly name: NameNode; readonly directives?: ReadonlyArray; readonly fields?: ReadonlyArray; } >;