import { DocumentReference } from './document'; import { Db } from './index'; declare class DocumentSnapshot { private _data; requestId: string; constructor(data: any, requestId: any); data(): any; } export declare class Transaction { private _id; private _db; private _request; constructor(db: Db); init(): Promise; get(documentRef: DocumentReference): Promise; set(documentRef: DocumentReference, data: Object): Promise; update(documentRef: DocumentReference, data: Object): Promise; delete(documentRef: DocumentReference): Promise; commit(): Promise; rollback(): Promise; } export declare function startTransaction(): Promise; export declare function runTransaction(callback: (transaction: Transaction) => void | Promise, times?: number): Promise; declare type JsonString = string; interface CommitResult { requestId: string; } interface RollbackResult { requestId: string; } interface UpdateResult { requestId: string; updated: number; } interface SetResult extends UpdateResult { upserted: JsonString; } interface DeleteResult { requestId: string; deleted: number | string; } export {};