Mirror: The spec-compliant minimum of client-side GraphQL.
1import type { Location } from './types'; 2import type { Kind, OperationTypeNode } from './kind'; 3 4import type { 5 StringValueNode, 6 ConstDirectiveNode, 7 ConstValueNode, 8 NamedTypeNode, 9 TypeNode, 10 NameNode, 11} from './ast'; 12 13/** Type System Definition */ 14export declare type TypeSystemDefinitionNode = 15 | SchemaDefinitionNode 16 | TypeDefinitionNode 17 | DirectiveDefinitionNode; 18 19export interface SchemaDefinitionNode { 20 readonly kind: Kind.SCHEMA_DEFINITION; 21 readonly loc?: Location; 22 readonly description?: StringValueNode; 23 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 24 readonly operationTypes: ReadonlyArray<OperationTypeDefinitionNode>; 25} 26 27export interface OperationTypeDefinitionNode { 28 readonly kind: Kind.OPERATION_TYPE_DEFINITION; 29 readonly loc?: Location; 30 readonly operation: OperationTypeNode; 31 readonly type: NamedTypeNode; 32} 33 34/** Type Definition */ 35export declare type TypeDefinitionNode = 36 | ScalarTypeDefinitionNode 37 | ObjectTypeDefinitionNode 38 | InterfaceTypeDefinitionNode 39 | UnionTypeDefinitionNode 40 | EnumTypeDefinitionNode 41 | InputObjectTypeDefinitionNode; 42 43export interface ScalarTypeDefinitionNode { 44 readonly kind: Kind.SCALAR_TYPE_DEFINITION; 45 readonly loc?: Location; 46 readonly description?: StringValueNode; 47 readonly name: NameNode; 48 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 49} 50 51export interface ObjectTypeDefinitionNode { 52 readonly kind: Kind.OBJECT_TYPE_DEFINITION; 53 readonly loc?: Location; 54 readonly description?: StringValueNode; 55 readonly name: NameNode; 56 readonly interfaces?: ReadonlyArray<NamedTypeNode>; 57 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 58 readonly fields?: ReadonlyArray<FieldDefinitionNode>; 59} 60 61export interface FieldDefinitionNode { 62 readonly kind: Kind.FIELD_DEFINITION; 63 readonly loc?: Location; 64 readonly description?: StringValueNode; 65 readonly name: NameNode; 66 readonly arguments?: ReadonlyArray<InputValueDefinitionNode>; 67 readonly type: TypeNode; 68 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 69} 70 71export interface InputValueDefinitionNode { 72 readonly kind: Kind.INPUT_VALUE_DEFINITION; 73 readonly loc?: Location; 74 readonly description?: StringValueNode; 75 readonly name: NameNode; 76 readonly type: TypeNode; 77 readonly defaultValue?: ConstValueNode; 78 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 79} 80 81export interface InterfaceTypeDefinitionNode { 82 readonly kind: Kind.INTERFACE_TYPE_DEFINITION; 83 readonly loc?: Location; 84 readonly description?: StringValueNode; 85 readonly name: NameNode; 86 readonly interfaces?: ReadonlyArray<NamedTypeNode>; 87 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 88 readonly fields?: ReadonlyArray<FieldDefinitionNode>; 89} 90 91export interface UnionTypeDefinitionNode { 92 readonly kind: Kind.UNION_TYPE_DEFINITION; 93 readonly loc?: Location; 94 readonly description?: StringValueNode; 95 readonly name: NameNode; 96 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 97 readonly types?: ReadonlyArray<NamedTypeNode>; 98} 99 100export interface EnumTypeDefinitionNode { 101 readonly kind: Kind.ENUM_TYPE_DEFINITION; 102 readonly loc?: Location; 103 readonly description?: StringValueNode; 104 readonly name: NameNode; 105 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 106 readonly values?: ReadonlyArray<EnumValueDefinitionNode>; 107} 108 109export interface EnumValueDefinitionNode { 110 readonly kind: Kind.ENUM_VALUE_DEFINITION; 111 readonly loc?: Location; 112 readonly description?: StringValueNode; 113 readonly name: NameNode; 114 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 115} 116 117export interface InputObjectTypeDefinitionNode { 118 readonly kind: Kind.INPUT_OBJECT_TYPE_DEFINITION; 119 readonly loc?: Location; 120 readonly description?: StringValueNode; 121 readonly name: NameNode; 122 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 123 readonly fields?: ReadonlyArray<InputValueDefinitionNode>; 124} 125/** Directive Definitions */ 126export interface DirectiveDefinitionNode { 127 readonly kind: Kind.DIRECTIVE_DEFINITION; 128 readonly loc?: Location; 129 readonly description?: StringValueNode; 130 readonly name: NameNode; 131 readonly arguments?: ReadonlyArray<InputValueDefinitionNode>; 132 readonly repeatable: boolean; 133 readonly locations: ReadonlyArray<NameNode>; 134} 135/** Type System Extensions */ 136export declare type TypeSystemExtensionNode = SchemaExtensionNode | TypeExtensionNode; 137export interface SchemaExtensionNode { 138 readonly kind: Kind.SCHEMA_EXTENSION; 139 readonly loc?: Location; 140 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 141 readonly operationTypes?: ReadonlyArray<OperationTypeDefinitionNode>; 142} 143/** Type Extensions */ 144export declare type TypeExtensionNode = 145 | ScalarTypeExtensionNode 146 | ObjectTypeExtensionNode 147 | InterfaceTypeExtensionNode 148 | UnionTypeExtensionNode 149 | EnumTypeExtensionNode 150 | InputObjectTypeExtensionNode; 151export interface ScalarTypeExtensionNode { 152 readonly kind: Kind.SCALAR_TYPE_EXTENSION; 153 readonly loc?: Location; 154 readonly name: NameNode; 155 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 156} 157 158export interface ObjectTypeExtensionNode { 159 readonly kind: Kind.OBJECT_TYPE_EXTENSION; 160 readonly loc?: Location; 161 readonly name: NameNode; 162 readonly interfaces?: ReadonlyArray<NamedTypeNode>; 163 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 164 readonly fields?: ReadonlyArray<FieldDefinitionNode>; 165} 166 167export interface InterfaceTypeExtensionNode { 168 readonly kind: Kind.INTERFACE_TYPE_EXTENSION; 169 readonly loc?: Location; 170 readonly name: NameNode; 171 readonly interfaces?: ReadonlyArray<NamedTypeNode>; 172 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 173 readonly fields?: ReadonlyArray<FieldDefinitionNode>; 174} 175 176export interface UnionTypeExtensionNode { 177 readonly kind: Kind.UNION_TYPE_EXTENSION; 178 readonly loc?: Location; 179 readonly name: NameNode; 180 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 181 readonly types?: ReadonlyArray<NamedTypeNode>; 182} 183 184export interface EnumTypeExtensionNode { 185 readonly kind: Kind.ENUM_TYPE_EXTENSION; 186 readonly loc?: Location; 187 readonly name: NameNode; 188 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 189 readonly values?: ReadonlyArray<EnumValueDefinitionNode>; 190} 191 192export interface InputObjectTypeExtensionNode { 193 readonly kind: Kind.INPUT_OBJECT_TYPE_EXTENSION; 194 readonly loc?: Location; 195 readonly name: NameNode; 196 readonly directives?: ReadonlyArray<ConstDirectiveNode>; 197 readonly fields?: ReadonlyArray<InputValueDefinitionNode>; 198}