import { BasicExpression } from '../types/basic-expression.type';
import { Expression } from '../types/expression.type';
import { FilterExpression } from '../types/filter-expression.type';
export declare class FilterExpressionUtils {
    static BASIC_EXPRESSION_KEY: string;
    static FILTER_EXPRESSION_KEY: string;
    static OP_OR: string;
    static OP_AND: string;
    static OP_LIKE: string;
    static OP_NOT_LIKE: string;
    static OP_EQUAL: string;
    static OP_NOT_EQUAL: string;
    static OP_NULL: string;
    static OP_NOT_NULL: string;
    static OP_LESS: string;
    static OP_LESS_EQUAL: string;
    static OP_MORE: string;
    static OP_MORE_EQUAL: string;
    static OP_IN: string;
    static instanceofBasicExpression(arg: any): boolean;
    static buildBasicExpression(exp: Expression): BasicExpression;
    static instanceofFilterExpression(exp: any): boolean;
    static buildFilterExpression(exp: Expression): FilterExpression;
    static instanceofExpression(exp: any): boolean;
    static buildComplexExpression(expr1: Expression, expr2: Expression, op: string): Expression;
    static buildExpressionEquals(key: string, value: any): Expression;
    static buildExpressionIsNotNull(key: string): Expression;
    static buildExpressionIsNull(key: string): Expression;
    static buildExpressionLess(key: string, value: any): Expression;
    static buildExpressionLessEqual(key: string, value: any): Expression;
    static buildExpressionMore(key: string, value: any): Expression;
    static buildExpressionMoreEqual(key: string, value: any): Expression;
    static buildExpressionIn(key: string, values: any[]): Expression;
    static buildExpressionNotLike(key: string, value: string): Expression;
    static buildExpressionLike(key: string, value: string): Expression;
    static buildExpressionLikeEnd(key: string, value: string): Expression;
    static buildExpressionLikeStart(key: string, value: string): Expression;
    static buildExpressionNotEquals(key: string, value: any): Expression;
    static buildExpressionNullAndValue(key: string, value: any, op: string): Expression;
    static buildArrayExpressionLike(keys: any[], value: any): Expression;
    static buildExpressionFromObject(obj: any): Expression;
    private static stackExpressionLikeOR;
    private static stackExpressionEqualsAND;
}
