import { CommandChain, QueryCommand } from '../AbstractCommand';
export declare class QueryChain extends CommandChain {
    private appendCommand;
    and(cmd: QueryCommand | QueryChain): QueryChain;
    or(cmd: QueryCommand | QueryChain): QueryChain;
    not(cmd: QueryCommand): QueryChain;
    nor(cmd: QueryCommand): QueryChain;
    eq(val: any): QueryChain;
    neq(val: any): QueryChain;
    lt(val: any): QueryChain;
    lte(val: any): QueryChain;
    gt(val: any): QueryChain;
    gte(val: any): QueryChain;
    in(val: any[]): QueryChain;
    nin(val: any[]): QueryChain;
    exists(exists: boolean): QueryChain;
    mod(divisor: number, remainder: number): QueryChain;
    all(val: any[]): QueryChain;
    elemMatch(cmd: object | QueryChain | QueryCommand): QueryChain;
    size(cmd: QueryCommand): QueryChain;
}
