import { Query } from "../types/query";
import { Context } from "../types/context";
import { Value } from "../types/value";
import { Dimension } from "../types/aggregation/dimension";
import { DimensionSegment } from "../types/aggregation/dimension_segment";
export declare class SegmentedGraphQLFilters {
    filters: GraphQLFilters;
    segments: DimensionSegment[];
    constructor(filters: GraphQLFilters, segments: DimensionSegment[]);
    get key(): string;
    static segmentsFromKey(key: string): DimensionSegment[];
}
export declare class GraphQLFilters {
    and: Record<string, Value>;
    or: Record<string, Value>;
    not: Record<string, Value>;
    constraints: Record<string, Value>;
    customFields: Record<string, Value>;
    constructor(query?: Query, context?: Context);
    clone(): GraphQLFilters;
    segment(dimensions: Dimension[]): SegmentedGraphQLFilters[] | void;
    toString(): string;
}
