/** * 操作符常量定义 */ import { MatchOperator, FieldDataType } from '../types'; /** * 操作符显示信息 */ export interface OperatorInfo { value: MatchOperator; label: string; symbol: string; description: string; /** 是否需要输入值 */ requiresValue: boolean; /** 是否需要第二个值(Between) */ requiresValue2: boolean; /** 是否需要多个值(In/NotIn) */ requiresMultiValue: boolean; } /** * 所有操作符的显示信息 */ export declare const OPERATOR_INFO_MAP: Record; /** * 根据数据类型获取可用操作符 */ export declare const getOperatorsByDataType: (dataType: FieldDataType) => MatchOperator[]; /** * 获取操作符信息 */ export declare const getOperatorInfo: (operator: MatchOperator) => OperatorInfo; /** * 检查操作符是否需要值输入 */ export declare const operatorRequiresValue: (operator: MatchOperator) => boolean; /** * 检查操作符是否需要第二个值(Between) */ export declare const operatorRequiresValue2: (operator: MatchOperator) => boolean; /** * 检查操作符是否需要多个值(In/NotIn) */ export declare const operatorRequiresMultiValue: (operator: MatchOperator) => boolean; /** * 检查操作符是否支持与另一个字段比较(与后端 RuleGroupValidator 一致:等于、不等于及 4 个大小比较) * @author nokecy */ export declare const operatorSupportsValueField: (operator: MatchOperator) => boolean; /** * 最大嵌套层级 */ export declare const MAX_NESTING_LEVEL = 5;