import { ListTypeNode, NamedTypeNode, Location as GraphQLLocation, NameNode, TypeNode, NonNullTypeNode, StringValueNode, ConstValueNode, ConstDirectiveNode, ConstArgumentNode, UnionTypeDefinitionNode, FieldDefinitionNode, InputValueDefinitionNode, FloatValueNode, IntValueNode, NullValueNode, BooleanValueNode, ConstListValueNode, ConstObjectValueNode, ConstObjectFieldNode, ObjectTypeDefinitionNode, EnumValueDefinitionNode, ScalarTypeDefinitionNode, InputObjectTypeDefinitionNode, EnumTypeDefinitionNode, InterfaceTypeDefinitionNode, ASTNode, ObjectTypeExtensionNode, DirectiveDefinitionNode, EnumValueNode } from "graphql"; import * as ts from "typescript"; import { DiagnosticResult, TsLocatableNode } from "./utils/DiagnosticError.js"; import { InputValueDefinitionNodeOrResolverArg, ResolverSignature } from "./resolverSignature.js"; import { ExportDefinition } from "./GraphQLAstExtensions.js"; export declare class GraphQLConstructor { directiveDefinition(node: ts.Node, name: NameNode, args: readonly InputValueDefinitionNode[] | null, repeatable: boolean, locations: readonly NameNode[], description: StringValueNode | null): DirectiveDefinitionNode; unionTypeDefinition(node: ts.Node, name: NameNode, types: NamedTypeNode[], description: StringValueNode | null, directives: readonly ConstDirectiveNode[] | null): UnionTypeDefinitionNode; objectTypeDefinition(node: ts.Node, name: NameNode, fields: FieldDefinitionNode[], interfaces: NamedTypeNode[] | null, description: StringValueNode | null, directives: readonly ConstDirectiveNode[] | null, hasTypeNameField: boolean, exported: ExportDefinition | null): ObjectTypeDefinitionNode; interfaceTypeDefinition(node: ts.Node, name: NameNode, fields: FieldDefinitionNode[], interfaces: NamedTypeNode[] | null, description: StringValueNode | null, directives: readonly ConstDirectiveNode[] | null): InterfaceTypeDefinitionNode; enumTypeDefinition(node: ts.Node, name: NameNode, values: readonly EnumValueDefinitionNode[], description: StringValueNode | null, directives: readonly ConstDirectiveNode[] | null, exported?: ExportDefinition | null): EnumTypeDefinitionNode; abstractFieldDefinition(node: ts.Node, onType: NameNode, field: FieldDefinitionNode, mayBeInterface?: boolean): ObjectTypeExtensionNode; fieldDefinition(node: ts.Node, name: NameNode, type: TypeNode, args: readonly InputValueDefinitionNode[] | null, directives: readonly ConstDirectiveNode[], description: StringValueNode | null, killsParentOnException: NameNode | null, resolver: ResolverSignature): FieldDefinitionNode; constObjectField(node: ts.Node, name: NameNode, value: ConstValueNode): ConstObjectFieldNode; inputValueDefinition(node: ts.Node, name: NameNode, type: TypeNode, directives: readonly ConstDirectiveNode[] | null, defaultValue: ConstValueNode | null, description: StringValueNode | null): InputValueDefinitionNode; inputValueDefinitionOrResolverArg(node: ts.Node, name: DiagnosticResult, type: TypeNode, directives: readonly ConstDirectiveNode[] | null, defaultValue: ConstValueNode | null, description: StringValueNode | null): InputValueDefinitionNodeOrResolverArg; enumValueDefinition(node: ts.Node, name: NameNode, directives: readonly ConstDirectiveNode[] | undefined, description: StringValueNode | null, tsName: string | null): EnumValueDefinitionNode; scalarTypeDefinition(node: ts.Node, name: NameNode, directives: readonly ConstDirectiveNode[] | null, description: StringValueNode | null, exported: ExportDefinition | null): ScalarTypeDefinitionNode; inputObjectTypeDefinition(node: ts.Node, name: NameNode, fields: InputValueDefinitionNode[] | null, directives: readonly ConstDirectiveNode[] | null, description: StringValueNode | null): InputObjectTypeDefinitionNode; name(node: ts.Node, value: string): NameNode; namedType(node: ts.Node, value: string): NamedTypeNode; object(node: ts.Node, fields: ReadonlyArray): ConstObjectValueNode; nonNullType(node: ts.Node, type: TypeNode): NonNullTypeNode; nullableType(type: TypeNode): NamedTypeNode | ListTypeNode; listType(node: ts.Node, type: TypeNode): ListTypeNode; list(node: ts.Node, values: ConstValueNode[]): ConstListValueNode; withLocation(node: ts.Node, value: T): T; constArgument(node: ts.Node, name: NameNode, value: ConstValueNode): ConstArgumentNode; constDirective(node: ts.Node, name: NameNode, args: ReadonlyArray | null, isAmbiguous?: boolean): ConstDirectiveNode; string(node: ts.Node, value: string, block?: boolean): StringValueNode; float(node: ts.Node, value: string): FloatValueNode; int(node: ts.Node, value: string): IntValueNode; null(node: ts.Node): NullValueNode; boolean(node: ts.Node, value: boolean): BooleanValueNode; enum(node: ts.Node, value: string): EnumValueNode; _optionalList(input: readonly T[] | null): readonly T[] | undefined; } export declare function loc(node: TsLocatableNode): GraphQLLocation;