import React from 'react';
import { QlLogicalOperator } from '../../../parser/src/predicate';
import { ExpressionFunctionInputType } from '../../../parser/src/types';
import { AdaptableColumn, AdaptableColumnDataType, BooleanFunctionName } from '../../../types';
export declare const PrimitiveColumnOrFieldSelector: (props: {
    fieldOrColumn: string;
    type?: AdaptableColumnDataType;
    onChange: (colId: string) => void;
    hideFields?: boolean;
}) => React.JSX.Element;
export declare const PrimitiveValueInput: (props: {
    inputType: ExpressionFunctionInputType;
    value: any;
    onChange(value: any): void;
    /**
     * We use this to retrieve values, we consider only the values
     * of the column which is selected in lefthand of the expression
     */
    lefthandColumnIdParam: string;
}) => React.JSX.Element;
export declare const PrimitiveMultiValueInput: (props: {
    inputType: ExpressionFunctionInputType;
    value: any[];
    onChange(values: any[]): void;
    lefthandColumnIdParam: string;
}) => React.JSX.Element;
export declare const ExpressionSelector: (props: {
    value: BooleanFunctionName;
    dataType: AdaptableColumn["dataType"];
    onExpressionChange(expression: BooleanFunctionName): void;
}) => React.JSX.Element;
export declare const CombinatorSelector: (props: {
    value: QlLogicalOperator;
    onChange(combinator: QlLogicalOperator): void;
}) => React.JSX.Element;
