import { GraphQLScalarType, GraphQLSchema } from 'graphql'; import ConfigStore from './config-store'; import { EnumValues, InputShape, InterfaceFieldsShape, InterfaceFieldThunk, InterfaceParam, MutationFieldsShape, MutationFieldThunk, NormalizeSchemeBuilderOptions, ObjectFieldsShape, ObjectFieldThunk, ObjectParam, OutputShape, QueryFieldsShape, QueryFieldThunk, ScalarName, SchemaTypes, ShapeFromEnumValues, SubscriptionFieldsShape, SubscriptionFieldThunk } from './types'; import { AbstractReturnShape, BaseEnum, EnumParam, EnumTypeOptions, ImplementableInputObjectRef, ImplementableInterfaceRef, ImplementableObjectRef, InputFieldMap, InputFieldsFromShape, InputObjectRef, InputShapeFromFields, InterfaceRef, InterfaceTypeOptions, ObjectRef, ObjectTypeOptions, ParentShape, PluginConstructorMap, ValuesFromEnum } from '.'; export default class SchemaBuilder { static plugins: Partial>; static allowPluginReRegistration: boolean; configStore: ConfigStore; options: NormalizeSchemeBuilderOptions; defaultFieldNullability: boolean; defaultInputFieldRequiredness: boolean; constructor(options: NormalizeSchemeBuilderOptions); static registerPlugin>(name: T, plugin: PluginConstructorMap[T]): void; objectType[], Param extends ObjectParam>(param: Param, options: ObjectTypeOptions, Interfaces>, fields?: ObjectFieldsShape>): ObjectRef, ParentShape>; objectFields>(ref: Type, fields: ObjectFieldsShape>): void; objectField>(ref: Type, fieldName: string, field: ObjectFieldThunk>): void; queryType(options: GiraphQLSchemaTypes.QueryTypeOptions, fields?: QueryFieldsShape): void; queryFields(fields: QueryFieldsShape): void; queryField(name: string, field: QueryFieldThunk): void; mutationType(options: GiraphQLSchemaTypes.MutationTypeOptions, fields?: MutationFieldsShape): void; mutationFields(fields: MutationFieldsShape): void; mutationField(name: string, field: MutationFieldThunk): void; subscriptionType(options: GiraphQLSchemaTypes.SubscriptionTypeOptions, fields?: SubscriptionFieldsShape): void; subscriptionFields(fields: SubscriptionFieldsShape): void; subscriptionField(name: string, field: SubscriptionFieldThunk): void; args(fields: (t: GiraphQLSchemaTypes.InputFieldBuilder) => Shape): Shape; interfaceType, Interfaces extends InterfaceParam[]>(param: Param, options: InterfaceTypeOptions, Interfaces>, fields?: InterfaceFieldsShape>): InterfaceRef, ParentShape>; interfaceFields>(ref: Type, fields: InterfaceFieldsShape>): void; interfaceField>(ref: Type, fieldName: string, field: InterfaceFieldThunk>): void; unionType>(name: string, options: GiraphQLSchemaTypes.UnionTypeOptions): GiraphQLSchemaTypes.UnionRef, ParentShape>; enumType>(param: Param, options: EnumTypeOptions): GiraphQLSchemaTypes.EnumRef : ShapeFromEnumValues, Param extends BaseEnum ? ValuesFromEnum : ShapeFromEnumValues>; scalarType>(name: Name, options: GiraphQLSchemaTypes.ScalarTypeOptions, ParentShape>): GiraphQLSchemaTypes.ScalarRef, ParentShape, InputShape>; addScalarType>(name: Name, scalar: GraphQLScalarType, options: Omit, ParentShape>, 'description' | 'parseLiteral' | 'parseValue' | 'serialize'>): GiraphQLSchemaTypes.ScalarRef, ParentShape, InputShape>; inputType | string, Fields extends Param extends GiraphQLSchemaTypes.InputObjectRef ? InputFieldsFromShape & {}> : InputFieldMap>(param: Param, options: GiraphQLSchemaTypes.InputObjectTypeOptions): GiraphQLSchemaTypes.InputObjectRef>; inputRef(name: string): ImplementableInputObjectRef; objectRef(name: string): ImplementableObjectRef; interfaceRef(name: string): ImplementableInterfaceRef; toSchema(options: GiraphQLSchemaTypes.BuildSchemaOptions): GraphQLSchema; } //# sourceMappingURL=builder.d.ts.map