import { GraphQLInputType, GraphQLFieldResolver } from "graphql"; export declare const Argument: (type: any, description?: string | undefined, defaultValue?: any) => ArgumentType; export declare type InputType = GraphQLInputType | any | typeof String | typeof Number | typeof Boolean; export declare type ArgumentType = { type: InputType; description?: string; defaultValue?: any; }; export declare type FieldPartialConfig = { args?: { [key: string]: ArgumentType | InputType; }; description?: string; deprecationReason?: string; resolver?: GraphQLFieldResolver; }; export declare type FieldConfig = FieldPartialConfig & { type?: any; }; export declare type FieldDecorator = (target: any, key: string) => void; export interface FieldSignatures { (fullConfig: FieldConfig): FieldDecorator; (type: any, config?: FieldPartialConfig): FieldDecorator; } export declare type Thunk = (() => T) | T; export declare const Field: FieldSignatures; export declare const DynamicField: (thunkConfig: () => FieldConfig | null) => (target: any, key: string) => void;