import type { Lazy } from '@principia/base/function'; import type { ArgumentNode, BooleanValueNode, DefinitionNode, DirectiveNode, DocumentNode, EnumValueNode, FieldDefinitionNode, FloatValueNode, InputObjectTypeDefinitionNode, InputValueDefinitionNode, InterfaceTypeDefinitionNode, IntValueNode, ListTypeNode, ListValueNode, Location, NamedTypeNode, NameNode, NonNullTypeNode, NullValueNode, ObjectFieldNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, ObjectValueNode, OperationTypeDefinitionNode, OperationTypeNode, ScalarTypeDefinitionNode, SchemaDefinitionNode, SelectionNode, SelectionSetNode, StringValueNode, TypeNode, UnionTypeDefinitionNode, ValueNode, VariableDefinitionNode } from 'graphql'; interface FieldDefinitionNodeArgs { arguments?: ReadonlyArray; description?: string; directives?: ReadonlyArray; list?: boolean | [boolean]; name: string; nullable?: boolean; typeName: string; } interface InputObjectTypeDefinitionNodeArgs { description?: string; directives?: Array; fields: Array; name: string; } interface ObjectTypeDefinitionNodeArgs { description?: string; directives?: ReadonlyArray; fields: ReadonlyArray; interfaces?: ReadonlyArray; name: string; } interface InputValueDefinitionNodeArgs { defaultValue?: any; description?: string; directives?: Array; list?: boolean | [boolean]; name: string; nullable?: boolean; typeName: string; } interface UnionTypeDefinitionNodeArgs { description?: string; name: string; types: ReadonlyArray; directives?: ReadonlyArray; } interface InterfaceTypeDefinitionNodeArgs { description?: string; name: string; fields?: ReadonlyArray; interfaces?: ReadonlyArray; directives?: ReadonlyArray; } interface TypeNodeArgs { list?: boolean | [boolean]; nullable?: boolean; typeName: string; } interface ScalarTypeDefinitionNodeArgs { description?: string; directives?: Array; name: string; } export interface UnnamedFieldDefinitionNode { readonly arguments?: ReadonlyArray; readonly description?: StringValueNode; readonly directives?: ReadonlyArray; readonly kind: 'UnnamedFieldDefinition'; readonly loc?: Location; readonly type: TypeNode; } export interface UnnamedInputValueDefinitionNode { readonly defaultValue?: ValueNode; readonly description?: StringValueNode; readonly directives?: ReadonlyArray; readonly kind: 'UnnamedInputValueDefinition'; readonly loc?: Location; readonly type: TypeNode; } export declare function createNullValueNode(): NullValueNode; export declare function createIntValueNode(value: number): IntValueNode; export declare function createFloatValueNode(value: number): FloatValueNode; export declare function createBooleanValueNode(value: boolean): BooleanValueNode; export declare function createEnumValueNode(value: string): EnumValueNode; export declare function createListValueNode(values: Array): ListValueNode; export declare function createObjectValueNode(fields: Array): ObjectValueNode; export declare function createNameNode(value: string): NameNode; export declare function createObjectFieldNode(name: string, value: ValueNode): ObjectFieldNode; export declare function createStringValueNode(value: string, block: boolean): StringValueNode; export declare function createNonNullTypeNode(type: NamedTypeNode | ListTypeNode): NonNullTypeNode; export declare function createListTypeNode(type: TypeNode): ListTypeNode; export declare function createNamedTypeNode(typeName: string): NamedTypeNode; export declare function processListAndNonNullableArgs(args: { list?: boolean | [boolean]; nullable?: boolean; typeNode: NamedTypeNode | ListTypeNode; }): TypeNode; export declare function createTypeNode(args: TypeNodeArgs): TypeNode; export declare function createFieldDefinitionNode(args: FieldDefinitionNodeArgs): FieldDefinitionNode; export declare function createUnnamedFieldDefinitionNode(args: Omit): UnnamedFieldDefinitionNode; export declare function createUnionTypeDefinitionNode(args: UnionTypeDefinitionNodeArgs): UnionTypeDefinitionNode; export declare function createInterfaceTypeDefinitionNode(args: InterfaceTypeDefinitionNodeArgs): InterfaceTypeDefinitionNode; export declare function createValueNode(value: any): ValueNode; export declare function createInputValueDefinitionNode(args: InputValueDefinitionNodeArgs): InputValueDefinitionNode; export declare function createObjectTypeDefinitionNode(args: ObjectTypeDefinitionNodeArgs): ObjectTypeDefinitionNode; export declare function createLazyObjectTypeDefinitionNode(args: ObjectTypeDefinitionNodeArgs): Lazy; export declare function createUnnamedInputValueDefinitionNode(args: Omit): UnnamedInputValueDefinitionNode; export declare function createInputObjectTypeDefinitionNode(args: InputObjectTypeDefinitionNodeArgs): InputObjectTypeDefinitionNode; export declare function getTypeName(type: UnnamedFieldDefinitionNode | ObjectTypeDefinitionNode | TypeNode | UnnamedInputValueDefinitionNode | InputObjectTypeDefinitionNode): string; export declare function createObjectTypeExtensionNode(args: ObjectTypeDefinitionNodeArgs): ObjectTypeExtensionNode; interface SchemaDefinitionNodeArgs { description?: string; directives?: Array; mutation?: boolean; query?: boolean; subscription?: boolean; } export declare function createOperationTypeDefinitionNode(name: 'query' | 'mutation' | 'subscription'): OperationTypeDefinitionNode; export declare function createSchemaDefinitionNode(args: SchemaDefinitionNodeArgs): SchemaDefinitionNode; export declare function createDocumentNode(definitions: ReadonlyArray): DocumentNode; export declare const addNameToUnnamedFieldDefinitionNode: (node: UnnamedFieldDefinitionNode, name: string) => FieldDefinitionNode; export declare const createScalarTypeDefinitionNode: (args: ScalarTypeDefinitionNodeArgs) => ScalarTypeDefinitionNode; export declare type VariableNodeArgs = { readonly loc?: Location; readonly name: NameNode; }; export declare type SelectionSetNodeArgs = { readonly loc?: Location; readonly selections: ReadonlyArray; }; export declare type FieldNodeArgs = { readonly loc?: Location; readonly alias?: NameNode; readonly name: NameNode; readonly arguments?: ReadonlyArray; readonly directives?: ReadonlyArray; readonly selectionSet?: SelectionSetNode; }; export declare type ArgumentNodeArgs = { readonly loc?: Location; readonly name: NameNode; readonly value: ValueNode; }; export declare type OperationDefinitionNodeArgs = { readonly loc?: Location; readonly operation: OperationTypeNode; readonly name?: NameNode; readonly variableDefinitions?: ReadonlyArray; readonly directives?: ReadonlyArray; readonly selectionSet: SelectionSetNode; }; export {}; //# sourceMappingURL=AST.d.ts.map