/** * 规则操作辅助函数 */ import type { RuleDto, RuleGroupDto, MatchLogic, FieldDefinition } from '../types'; /** * 创建空规则 * @param fieldName 可选的字段名 * @returns 新的空规则对象 */ export declare function createEmptyRule(fieldName?: string): RuleDto; /** * 创建空规则组 * @param logic 逻辑关系,默认为 And * @returns 新的空规则组对象 */ export declare function createEmptyRuleGroup(logic?: MatchLogic): RuleGroupDto; /** * 生成规则的可读描述 * @param rule 规则对象 * @param field 字段定义(可选) * @returns 可读的规则描述字符串 */ export declare function generateRuleDescription(rule: RuleDto, field?: FieldDefinition): string; /** * 深度克隆规则组(用于不可变更新) * @param group 规则组 * @returns 克隆后的规则组 */ export declare function cloneRuleGroup(group: RuleGroupDto): RuleGroupDto; /** * 检查规则组是否为空 * @param group 规则组 * @returns 是否为空 */ export declare function isRuleGroupEmpty(group: RuleGroupDto): boolean; /** * 统计规则组中的规则总数(递归) * @param group 规则组 * @returns 规则总数 */ export declare function countRules(group: RuleGroupDto): number; /** * 获取规则组的最大嵌套深度 * @param group 规则组 * @returns 最大深度 */ export declare function getMaxDepth(group: RuleGroupDto): number;