import { OrderByDirection } from './constant'; import { IWatchOptions, DBRealtimeListener } from './typings/index'; interface GetRes { data: any[]; requestId: string; total: number; limit: number; offset: number; } interface BaseOption { timeout?: number; } export interface QueryOption extends BaseOption { limit?: number; offset?: number; projection?: Object; order?: Record[]; } export interface UpdateOption extends BaseOption { multiple?: boolean; } export declare class Query { protected _transactionId: string; get(): Promise; count(): Promise; where(query: object): Query; options(apiOptions: QueryOption | UpdateOption): Query; orderBy(fieldPath: string, directionStr: OrderByDirection): Query; limit(limit: number): Query; skip(offset: number): Query; update(data: Object): Promise; field(projection: any): Query; remove(): Promise; updateAndReturn(data: Object): Promise; watch: (options: IWatchOptions) => DBRealtimeListener; } export {};