import { OperationCompletionAwaiter } from "./OperationCompletionAwaiter"; import { IOperation, AwaitableOperation } from "./OperationAbstractions"; import { DocumentStoreBase } from "../DocumentStoreBase"; import { SessionInfo } from "../Session/IDocumentSession"; import { PatchOperation, PatchOperationResult } from "./PatchOperation"; import { DocumentType } from "../DocumentAbstractions"; import { IDocumentStore } from "../IDocumentStore"; export declare class OperationExecutor { private readonly _store; private readonly _databaseName; private readonly _requestExecutor; constructor(store: DocumentStoreBase); constructor(store: IDocumentStore, databaseName?: string); forDatabase(databaseName: string): OperationExecutor; send(operation: AwaitableOperation): Promise; send(operation: AwaitableOperation, sessionInfo?: SessionInfo): Promise; send(patchOperation: PatchOperation): Promise>; send(patchOperation: PatchOperation, sessionInfo: SessionInfo): Promise>; send(patchOperation: PatchOperation, sessionInfo: SessionInfo, resultType: DocumentType): Promise>; send(operation: IOperation): Promise; send(operation: IOperation, sessionInfo?: SessionInfo): Promise; }