import * as graphql from 'graphql'; import { Scalar, Enum, EnumValue, ObjectType, InputObject, Interface, Union, InputType, OutputType, ArgMap, TOfArgMap, Field, AbstractField, DefaultArgument, Argument, InputFieldMap, SubscriptionField, SubscriptionObject } from './types'; declare type ExtensionsMap = { field?: { [key: string]: any; }; objectType?: { [key: string]: any; }; }; export declare type Factory = { String: Scalar; Int: Scalar; Float: Scalar; Boolean: Scalar; ID: Scalar; scalarType({ name, description, serialize, parseValue, parseLiteral, }: { name: string; description?: string | undefined; serialize: (src: Src) => any; parseValue?: ((value: JSON) => Src | null) | undefined; parseLiteral?: ((value: graphql.ValueNode) => Src | null) | undefined; }): Scalar; enumType({ name, description, values, }: { name: string; description?: string | undefined; values: EnumValue[]; }): Enum; arg(type: InputType, description?: string | undefined): Argument; defaultArg(type: InputType, defaultArg: Exclude, description?: string | undefined): DefaultArgument>; field(name: string, { type, args, resolve, description, deprecationReason, extensions }: { type: OutputType; args?: ArgMap | undefined; description?: string | undefined; deprecationReason?: string | undefined; resolve: (src: Src, args: TOfArgMap>, ctx: Ctx, info: graphql.GraphQLResolveInfo) => Out | Promise; extensions?: TExtensionsMap['field']; }): Field; defaultField(name: K, type: OutputType, opts?: { description?: string | undefined; deprecationReason?: string | undefined; } | undefined): Field; abstractField(name: string, type: OutputType, opts?: { description?: string | undefined; deprecationReason?: string | undefined; } | undefined): AbstractField; objectType({ name, description, interfaces, fields, isTypeOf, extensions, }: { name: string; description?: string | undefined; interfaces?: Interface[] | undefined; fields: (self: OutputType) => Field[]; isTypeOf?: ((src: any, ctx: Ctx, info: graphql.GraphQLResolveInfo) => boolean) | undefined; extensions?: TExtensionsMap['objectType']; }): ObjectType; inputObjectType({ name, description, fields, }: { name: string; description?: string | undefined; fields: (self: InputType) => InputFieldMap; }): InputObject; unionType({ name, types, resolveType, }: { name: string; types: ObjectType[]; resolveType: (src: Src) => ObjectType; }): Union; interfaceType({ name, description, interfaces, fields, }: { name: string; description?: string | undefined; interfaces?: Interface[] | undefined; fields: (self: Interface) => AbstractField[]; }): Interface; List(ofType: OutputType): OutputType; ListInput(ofType: InputType): InputType; NonNull(ofType: OutputType): OutputType; NonNullInput(ofType: InputType): InputType; queryType({ name, fields, }: { name?: string | undefined; fields: Field[]; }): ObjectType; mutationType({ name, fields, }: { name?: string | undefined; fields: () => Field[]; }): ObjectType; subscriptionField(name: string, { type, args, subscribe, resolve, description, deprecationReason, }: { type: OutputType; args?: ArgMap | undefined; description?: string | undefined; deprecationReason?: string | undefined; subscribe: (src: RootSrc, args: TOfArgMap>, ctx: Ctx, info: graphql.GraphQLResolveInfo) => AsyncIterator | Promise>; resolve?: ((src: RootSrc, args: TOfArgMap>, ctx: Ctx, info: graphql.GraphQLResolveInfo) => Out_2 | Promise) | undefined; }): SubscriptionField; subscriptionType({ name, fields, }: { name?: string | undefined; fields: SubscriptionField[]; }): SubscriptionObject; }; export declare function createTypesFactory(): Factory; export {};