import { RavenCommand, ResponseDisposeHandling } from "../../Http/RavenCommand.js";
import { ServerNode } from "../../Http/ServerNode.js";
import { HttpRequestParameters, HttpResponse } from "../../Primitives/Http.js";
import { Stream, Readable } from "node:stream";
import { HttpCache } from "../../Http/HttpCache.js";
import { DocumentConventions } from "../Conventions/DocumentConventions.js";
export declare class ConditionalGetDocumentsCommand extends RavenCommand<ConditionalGetResult> {
    private readonly _changeVector;
    private readonly _id;
    private readonly _conventions;
    constructor(id: string, changeVector: string, conventions: DocumentConventions);
    createRequest(node: ServerNode): HttpRequestParameters;
    setResponseAsync(bodyStream: Stream, fromCache: boolean): Promise<string>;
    static parseDocumentsResultResponseAsync(bodyStream: Stream, conventions: DocumentConventions, bodyCallback?: (body: string) => void): Promise<ConditionalGetResult>;
    private static _mapToLocalObject;
    processResponse(cache: HttpCache, response: HttpResponse, bodyStream: Readable, url: string): Promise<ResponseDisposeHandling>;
    /**
     * Here we explicitly do _NOT_ want to have caching
     * by the Request Executor, we want to manage it ourselves
     */
    get isReadRequest(): boolean;
}
export interface ConditionalGetResult {
    results: any[];
    changeVector: string;
}
//# sourceMappingURL=ConditionalGetDocumentsCommand.d.ts.map