import { GraphQLNullableType } from 'graphql';
import { ModelInput, ModelArg, ModelInputField, ModelField, ModelSub, Model } from './Model';
export declare function checkQuota(context: any, args: any[], quota: number | ((args: any[], context: any) => number)): void;
export declare function getInputModelType(model: ModelInput): any;
export declare function getInputTypeSimple(t: string | Function, arg: ModelArg | ModelInputField): GraphQLNullableType;
export declare function getInputType(arg: ModelArg | ModelInputField): GraphQLNullableType;
export declare function getFieldType(arg: ModelField | ModelSub): GraphQLNullableType;
export declare function getModelType(model: Model): any;
export declare function getField(model: Model): {
    type: any;
    args: {};
    resolve: any;
};
export declare function getSubscriptionField(model: ModelSub): {
    type: GraphQLNullableType;
    args: {};
    resolve: (obj: any, argsRaw: any, context: any) => Promise<any>;
    subscribe: (obj: any, argsRaw: any, context: any) => any;
};
