import { Label } from "../entity/label";
import { Aggregation } from "../entity/aggregation";
import { TimestampRange } from "../entity/timestampRange";
import { FilterBuilder } from "./filterBuilder";
import { Sample } from "../entity/sample";
import { RequestParamsBuilder } from "./requestParamsBuilder";
declare class RequestParamsDirector {
    private paramsBuilder;
    constructor(paramsBuilder: RequestParamsBuilder);
    create(key: string, labels?: Label[], retention?: number, chunkSize?: number, duplicatePolicy?: string, uncompressed?: boolean): RequestParamsBuilder;
    alter(key: string, labels?: Label[], retention?: number, chunkSize?: number, duplicatePolicy?: string, uncompressed?: boolean): RequestParamsBuilder;
    add(sample: Sample, labels?: Label[], retention?: number, chunkSize?: number, onDuplicate?: string, uncompressed?: boolean): RequestParamsBuilder;
    multiAdd(samples: Sample[]): RequestParamsBuilder;
    changeBy(sample: Sample, labels?: Label[], retention?: number, uncompressed?: boolean, chunkSize?: number): RequestParamsBuilder;
    createRule(sourceKey: string, destKey: string, aggregation: Aggregation): RequestParamsBuilder;
    deleteRule(sourceKey: string, destKey: string): RequestParamsBuilder;
    range(key: string, range: TimestampRange, count?: number, aggregation?: Aggregation): RequestParamsBuilder;
    multiRange(range: TimestampRange, filters: FilterBuilder, count?: number, aggregation?: Aggregation, withLabels?: boolean): RequestParamsBuilder;
    getKey(key: string): RequestParamsBuilder;
    multiGet(filters: FilterBuilder, withLabels?: boolean): RequestParamsBuilder;
    queryIndex(filters: FilterBuilder): RequestParamsBuilder;
}
export { RequestParamsDirector };
//# sourceMappingURL=requestParamsDirector.d.ts.map