import { InputField, ObjectType, InterfaceType, Removable, ClassType, InstanceOf, StringKeyOf, Args } from "../../../.."; import { GraphQLInputObjectType, InputObjectTypeDefinitionNode } from "graphql"; import { GQLType } from "../GQLType"; export declare class InputType extends GQLType { protected _fields: InputField>>[]; get fields(): InputField>, any>[]; protected constructor(name: string); get definitionNode(): InputObjectTypeDefinitionNode; /** * Create a new InputType */ static create(name: string): InputType>; static create(inputType: InputType): InputType>; static create(objectType: ObjectType): InputType>; static create(interfaceType: InterfaceType): InputType>; static create(classType: ClassType): InputType>; build(): GraphQLInputObjectType; setFields(...fields: InputField>>[]): InputType; addFields(...fields: InputField>>[]): InputType; removeFields(...fields: Removable>>>): InputType; /** * Add a suffix to the name of your type ("Input" by default) * @param suffix The suffix to add to the name */ suffix(suffix?: string): this; copy(): InputType; convert(to: typeof ObjectType): ObjectType; convert(to: typeof InterfaceType): InterfaceType; convert(to: typeof Args): Args; transformFields(cb: (field: InputField) => void): this; }