import { ReactNode } from 'react';
import { BooleanFunctionName, ExpressionFunctionInputType } from '../../../types';
export type QlPredicateError = {
    errorMessage: string;
};
export interface QlPredicate {
    operator: BooleanFunctionName;
    args?: (QlPredicate | boolean | number | string | string[] | number[] | Date[])[];
}
export type QlLogicalOperator = 'AND' | 'OR';
export declare const isQlLogicalOperator: (operator: string) => operator is QlLogicalOperator;
export interface QlPredicateDef {
    operator: string;
    label?: string;
    icon: ReactNode;
    inputs?: ExpressionFunctionInputType[] | ExpressionFunctionInputType[][];
    toString?: (params: {
        inputs: any[];
    }) => string;
}
