import { XOR } from '../../Utilities/Extensions/TypeExtensions';
/**
 * Wraps an AdapTableQL Boolean Expression
 */
export interface AdaptableBooleanQuery {
    /**
     * AdapTableQL Expression that returns true / false
     */
    BooleanExpression: string;
}
/**
 * Wraps an AdapTableQL Scalar Expression
 */
export interface AdaptableScalarQuery {
    /**
     * AdapTableQL Expression that returns any value
     */
    ScalarExpression: string;
}
/**
 * Wraps an AdapTableQL Observable Expression
 */
export interface AdaptableObservableQuery {
    /**
     * AdapTableQL Expression that observes the Grid or given rows
     */
    ObservableExpression: string;
}
/**
 * Wraps an AdapTableQL Aggregated Boolean Expression
 */
export interface AdaptableAggregatedBooleanQuery {
    /**
     * AdapTableQL Expression that returns true / false based on multiple rows
     */
    AggregatedBooleanExpression: string;
}
/**
 * Wraps an AdapTableQL Aggregated Scalar Expression
 */
export interface AdaptableAggregatedScalarQuery {
    /**
     * AdapTableQL Expression that returns any value based on multiple rows
     */
    AggregatedScalarExpression: string;
}
/**
 * An AdaptableQuery can be either a Boolean, Scalar, Observable, AggregatedBoolean, or AggregatedScalar expression
 */
export type AdaptableQuery = XOR<AdaptableBooleanQuery, XOR<AdaptableScalarQuery, XOR<AdaptableObservableQuery, XOR<AdaptableAggregatedBooleanQuery, AdaptableAggregatedScalarQuery>>>>;
export declare const isReactiveQuery: (query: Partial<AdaptableQuery>) => boolean;
