import { EnumType, ClassType, InputType, GQLAnyType, KeyValue } from "graphql-composer";
export declare enum Orders {
    ASC = "ASC",
    DESC = "DESC"
}
export interface Order {
    field: string;
    order: Orders;
}
export declare class StringArgument {
    eq?: string;
    like?: string;
}
export declare class NumberArgument {
    eq?: number;
    lt?: number;
    lte?: number;
    gt?: number;
    gte?: number;
}
export declare class ArgsFactory<T> {
    where: KeyValue;
    limit: number;
    skip: number;
    orders: Order[];
    private static _types;
    static readonly stringArgument: InputType<ClassType<StringArgument>, any>;
    static readonly numberArgument: InputType<ClassType<NumberArgument>, any>;
    static readonly orderEnum: EnumType<typeof Orders, any>;
    static get types(): readonly GQLAnyType[];
    protected constructor();
    private static convertFieldIntoArgField;
    private static createArgs;
    static create<T extends ClassType>(classType: T, name?: string): () => InputType;
}
