import { Filter } from "../entity/filter";
import { StringNumberArray } from "../index";
/**
 * A Filter object for use in queries
 */
export declare class FilterBuilder {
    private readonly filters;
    /**
     * The label and value in the constructor create a first filter where label=value.
     * More filters can be created by calling the different methods in FilterBuilder
     *
     * @param label the label of the first filter
     * @param value the value represented by the label
     *
     * @remarks
     * ```
     *    // Example
     *    const aggregation = new Aggregation(AggregationType.MAX, 5000);
     *    const timestampRange = new TimestampRange(date, date + 10000);
     *    const filter = new FilterBuilder("label", 1).equal("sensor", 1);
     *    const multiRanges = await redisTimeSeries.multiRange(timestampRange, filter, undefined, aggregation, true);
     * ```
     */
    constructor(label: string, value: string | number);
    equal(label: string, value: string | number): FilterBuilder;
    notEqual(label: string, value: string | number): FilterBuilder;
    notExists(label: string): FilterBuilder;
    exists(label: string): FilterBuilder;
    in(label: string, value: StringNumberArray): FilterBuilder;
    notIn(label: string, value: StringNumberArray): FilterBuilder;
    get(): Filter[];
}
//# sourceMappingURL=filterBuilder.d.ts.map