import { QueryChainCommand, Sort, UpdateData } from '@alipay/faas-db-builder'; import { UpdateAndReturnDocumentResult, UpdateAndReturnParamWithCallback } from '../types'; import type { AddDocumentParam, AddDocumentParamWithCallback, AddDocumentResult, CallbackParam, CountDocumentResult, CreateDatabaseOptions, DeleteDocumentResult, UpdateDataParamWithCallback, UpdateDocumentResult } from '../types'; import { Aggregate } from './Aggregate'; import { Document } from './Document'; import { Query } from './Query'; export declare class Collection { private readonly options; private readonly collectionName; private readonly builder; constructor(collectionName: string, options: CreateDatabaseOptions); add(param: AddDocumentParam): Promise; add(param: AddDocumentParamWithCallback): void; doc(_id: string): Document; limit(limit: number): Query; skip(skip: number): Query; where(match: QueryChainCommand): Query; projection(projection: object): Query; field(projection: object): Query; orderBy(field: string, sort: Sort): Query; aggregate(): Aggregate; update(data: UpdateData): Promise; update(data: UpdateDataParamWithCallback): void; updateAndReturn(data: UpdateData): Promise>; updateAndReturn(data: UpdateAndReturnParamWithCallback): void; set(data: UpdateData): Promise; set(data: UpdateDataParamWithCallback): void; remove(): Promise; remove(data: CallbackParam): void; get(): Promise>; get(param: CallbackParam>): void; count(): Promise; count(param: CallbackParam): void; private getDocumentPath; }