import { RavenCommand } from "../../Http/RavenCommand.js"; import { IDocumentStore } from "../IDocumentStore.js"; import { DocumentConventions } from "../Conventions/DocumentConventions.js"; import { HttpCache } from "../../Http/HttpCache.js"; export type OperationResultType = "OperationId" | "CommandResult" | "PatchResult"; export interface IAbstractOperation { resultType: OperationResultType; } export interface IOperation extends IAbstractOperation { getCommand(store: IDocumentStore, conventions: DocumentConventions, httpCache: HttpCache): RavenCommand; } export interface IAwaitableOperation extends IOperation { } export interface IMaintenanceOperation extends IAbstractOperation { getCommand(conventions: DocumentConventions): RavenCommand; } export interface IServerOperation extends IAbstractOperation { getCommand(conventions: DocumentConventions): RavenCommand; } export declare abstract class AbstractAwaitableOperation { get resultType(): OperationResultType; } export declare class AwaitableServerOperation extends AbstractAwaitableOperation implements IServerOperation { getCommand(conventions: DocumentConventions): RavenCommand; } export declare class AwaitableMaintenanceOperation extends AbstractAwaitableOperation implements IMaintenanceOperation { getCommand(conventions: DocumentConventions): RavenCommand; } export declare class AwaitableOperation extends AbstractAwaitableOperation implements IOperation { getCommand(store: IDocumentStore, conventions: DocumentConventions, httpCache: HttpCache): RavenCommand; } export interface OperationIdResult { operationId: number; operationNodeTag: string; } export declare class OperationExceptionResult { type: string; message: string; error: string; statusCode: number; } //# sourceMappingURL=OperationAbstractions.d.ts.map