import { Collection } from './collection'; import { Document } from './document'; import { QueryData } from './types/types'; declare class Query { private _collection; private _data; constructor(collection: Collection, data?: QueryData); byId(id: string): Query; count(): Query; eq(value: any): Query; exec(): number | Document | Document[]; exists(): Query; filter(f: ((this: void, value: Document, index: number, array: Document[]) => any)): Query; gt(value: any): Query; gte(value: any): Query; is(value: any): Query; limit(m: number): Query; lt(value: any): Query; lte(value: any): Query; ne(value: any): Query; neg(): Query; negative(): Query; not(value: any): Query; offset(n: number): Query; one(): Query; op(op: string, value: any): Query; populate(...keys: string[]): Query; pos(): Query; positive(): Query; select(...keys: string[]): Query; sort(...keys: string[]): Query; within(min: any, max: any): Query; where(key: string): Query; } export { Query };