///
import { HydrateOptions } from './hydrator';
import { AdamantRevMeta } from './meta-interfaces';
import { AdamantRepository } from './repository';
export declare class QueryBuilder {
protected readonly repository: AdamantRepository;
protected _selector: PouchDB.Find.Selector;
protected _sort: Array;
protected _limit?: number;
protected _skip?: number;
constructor(repository: AdamantRepository, head: string, tail: string);
selector(field: string, condition: PouchDB.Find.Selector | PouchDB.Find.ConditionOperators | string | number | boolean): this;
selector(selector: PouchDB.Find.Selector): this;
sort(property: string, direction?: 'asc' | 'desc'): this;
sort(sort: {
[propName: string]: 'asc' | 'desc';
}): this;
limit(limit: number): this;
skip(skip: number): this;
resolve(options?: HydrateOptions): Promise<(T & AdamantRevMeta)[]>;
toFindRequest(): PouchDB.Find.FindRequest;
}