import { IOperation, OperationResultType } from "../OperationAbstractions.js";
import { TimeSeriesRangeResult } from "./TimeSeriesRangeResult.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 { StringBuilder } from "../../../Utility/StringBuilder.js";
import { ServerResponse } from "../../../Types/index.js";
import { ITimeSeriesIncludeBuilder } from "../../Session/Loaders/ITimeSeriesIncludeBuilder.js";
export declare class GetTimeSeriesOperation implements IOperation<TimeSeriesRangeResult> {
    private readonly _docId;
    private readonly _name;
    private readonly _start;
    private readonly _pageSize;
    private readonly _from;
    private readonly _to;
    private readonly _includes;
    private readonly _returnFullResults;
    constructor(docId: string, timeseries: string);
    constructor(docId: string, timeseries: string, from: Date, to: Date);
    constructor(docId: string, timeseries: string, from: Date, to: Date, start: number);
    constructor(docId: string, timeseries: string, from: Date, to: Date, start: number, pageSize: number);
    constructor(docId: string, timeseries: string, from: Date, to: Date, start: number, pageSize: number, includes: (includeBuilder: ITimeSeriesIncludeBuilder) => void);
    constructor(docId: string, timeseries: string, from: Date, to: Date, start: number, pageSize: number, includes: (includeBuilder: ITimeSeriesIncludeBuilder) => void, returnFullResults: boolean);
    get resultType(): OperationResultType;
    getCommand(store: IDocumentStore, conventions: DocumentConventions, httpCache: HttpCache): RavenCommand<TimeSeriesRangeResult>;
}
export declare class GetTimeSeriesCommand extends RavenCommand<TimeSeriesRangeResult> {
    private readonly _conventions;
    private readonly _docId;
    private readonly _name;
    private readonly _start;
    private readonly _pageSize;
    private readonly _from;
    private readonly _to;
    private readonly _includes;
    private readonly _returnFullResults;
    constructor(conventions: DocumentConventions, docId: string, name: string, from: Date, to: Date, start: number, pageSize: number, includes?: (includeBuilder: ITimeSeriesIncludeBuilder) => void, returnFullResults?: boolean);
    createRequest(node: ServerNode): HttpRequestParameters;
    static addIncludesToRequest(pathBuilder: StringBuilder, includes: (includeBuilder: ITimeSeriesIncludeBuilder) => void): void;
    setResponseAsync(bodyStream: Stream, fromCache: boolean): Promise<string>;
    get isReadRequest(): boolean;
    static mapToLocalObject(json: any): ServerResponse<TimeSeriesRangeResult>;
}
export declare function reviveTimeSeriesRangeResult(json: ServerResponse<TimeSeriesRangeResult>): TimeSeriesRangeResult;
//# sourceMappingURL=GetTimeSeriesOperation.d.ts.map