declare class Query {
    private operator;
    private operand1;
    private operand2;
    private operand3;
    static field: (name: string) => Field;
    static NULL: Query;
    static NULL_REFERENCE: Query;
    static NONE: Query;
    constructor(operator: Function, operand1?: any, operand2?: any, operand3?: any);
    group(): Query;
    not(): Query;
    and(q?: undefined): DelayQuery;
    and(q: Query): Query;
    or(q?: undefined): DelayQuery;
    or(q: Query): Query;
    build(): any;
}
export default Query;
declare class DelayQuery {
    operator: Function;
    query: any;
    constructor(operator: Function, query: Query);
    field(name: string): Field;
    fulfill(query: Query): Query;
}
declare class Field {
    name: any;
    delay?: DelayQuery;
    constructor(name: string, delay?: DelayQuery);
    equal(value: any): Query;
    notEqual(value: any): Query;
    less(value: any): Query;
    notLess(value: any): Query;
    greater(value: any): Query;
    notGreater(value: any): Query;
    lessEqual(value: any): Query;
    notLessEqual(value: any): Query;
    greaterEqual(value: any): Query;
    notGreaterEqual(value: any): Query;
    between(value1: any, value2: any): Query;
    inComparison(value: any): Query;
    fulfillDelay(query: Query): Query;
}
//# sourceMappingURL=query.d.ts.map