import { IOperation, OperationResultType } from "../OperationAbstractions.js";
import { TimeSeriesDetails } from "./TimeSeriesDetails.js";
import { TimeSeriesRange } from "./TimeSeriesRange.js";
import { IDocumentStore } from "../../IDocumentStore.js";
import { HttpCache } from "../../../Http/HttpCache.js";
import { HttpRequestParameters } from "../../../Primitives/Http.js";
import { Stream } from "node:stream";
import { DocumentConventions } from "../../Conventions/DocumentConventions.js";
import { RavenCommand } from "../../../Http/RavenCommand.js";
import { ServerNode } from "../../../Http/ServerNode.js";
import { ITimeSeriesIncludeBuilder } from "../../Session/Loaders/ITimeSeriesIncludeBuilder.js";
export declare class GetMultipleTimeSeriesOperation implements IOperation<TimeSeriesDetails> {
    private readonly _docId;
    private _ranges;
    private readonly _start;
    private readonly _pageSize;
    private readonly _includes;
    private readonly _returnFullResults;
    constructor(docId: string, ranges: TimeSeriesRange[]);
    constructor(docId: string, ranges: TimeSeriesRange[], start: number, pageSize: number);
    constructor(docId: string, ranges: TimeSeriesRange[], start: number, pageSize: number, includes: (includeBuilder: ITimeSeriesIncludeBuilder) => void);
    constructor(docId: string, ranges: TimeSeriesRange[], start?: number, pageSize?: number, includes?: (includeBuilder: ITimeSeriesIncludeBuilder) => void, returnFullResults?: boolean);
    get resultType(): OperationResultType;
    getCommand(store: IDocumentStore, conventions: DocumentConventions, httpCache: HttpCache): RavenCommand<TimeSeriesDetails>;
}
export declare class GetMultipleTimeSeriesCommand extends RavenCommand<TimeSeriesDetails> {
    private readonly _conventions;
    private readonly _docId;
    private readonly _ranges;
    private readonly _start;
    private readonly _pageSize;
    private readonly _includes;
    private readonly _returnFullResults;
    constructor(conventions: DocumentConventions, docId: string, ranges: TimeSeriesRange[], start: number, pageSize: number, includes?: (includeBuilder: ITimeSeriesIncludeBuilder) => void, returnFullResults?: boolean);
    createRequest(node: ServerNode): HttpRequestParameters;
    setResponseAsync(bodyStream: Stream, fromCache: boolean): Promise<string>;
    get isReadRequest(): boolean;
}
//# sourceMappingURL=GetMultipleTimeSeriesOperation.d.ts.map