import { PreAggregatedQuery, PreparedQuery, Query } from './types';
import { QueryAttributes } from '../QueryAttributes/types';
import { QueryEngineConfig, SupportedFeature as SupportedFeatureType } from '../QueryEngineConfig/types';
import { DataSet } from '../DataSet/types';
import { Result } from '../Result/types';
export declare const build: (dataSet: DataSet<DataSet.Field>, measureAttr: QueryAttributes.Measure[], filterAttr: QueryAttributes.Filter[][], orderAttr: QueryAttributes.Order[], dimensionAttr: QueryAttributes.Dimension[], timeDimensionAttr: QueryAttributes.TimeDimension | null, limitAttr: number | undefined, offsetAttr: number | undefined, queryEngineConfig: import("@vizzly/semantic-layer-public/dist/types").QueryEngineConfig, params: import("../../../results-driver/src/types").Params) => {
    query: Query;
    measureDescription: import("./types").MeasureDescription[];
};
export declare const hasDimensions: (query: {
    group: Query['group'];
}) => boolean;
export declare const buildPreAggregatedPreparedQuery: (query: PreAggregatedQuery, dataSet: DataSet) => {
    query: PreAggregatedQuery;
    resultFields: Result.Field[];
};
export declare const buildUniqueArrayValuesPreparedQuery: (dataSetId: string, dataSetField: DataSet['fields'][number], optionsFilters?: {
    type: "andWhere" | "orWhere";
    value: import("@vizzly/sqlbuilder-public").RecursiveFilter[];
} | {
    type: "where";
    value: import("@vizzly/sqlbuilder-public/dist/Query/types").QueryNameSpace.Filter<import("@vizzly/sqlbuilder-public/dist/Query/types").QueryNameSpace.FieldDefinition<string, string, import("../CustomField/types").MathOperator, import("@vizzly/sqlbuilder-public").RecursiveFilter>, string>;
} | undefined) => {
    query: PreparedQuery;
    resultFields: Result.Field[];
};
export declare const buildFilterQuery: (dataSet: DataSet, fieldId: string, optionsFilters?: QueryAttributes.Filter[][] | undefined, optionsOrders?: QueryAttributes.Order[] | undefined) => QueryAttributes;
export declare const supportsFeature: (queryEngineConfig: QueryEngineConfig, feature: SupportedFeatureType) => boolean;
