/** * 路径寻址工具函数 * 用于定位和操作嵌套规则组中的规则 */ import type { RuleDto, RuleGroupDto, RulePath } from '../types'; /** * 根据路径获取规则组 * @param group 根规则组 * @param path 路径数组 * @returns 目标规则组,如果路径无效则返回根组 */ export declare function getRuleGroupByPath(group: RuleGroupDto, path: RulePath): RuleGroupDto; /** * 根据路径获取规则 * @param group 根规则组 * @param path 路径数组(最后一个元素是规则索引) * @returns 目标规则,如果路径无效则返回 undefined */ export declare function getRuleByPath(group: RuleGroupDto, path: RulePath): RuleDto | undefined; /** * 根据路径更新规则(不可变更新) * @param group 根规则组 * @param path 路径数组 * @param rule 新的规则对象 * @returns 更新后的规则组(新对象) */ export declare function updateRuleAtPath(group: RuleGroupDto, path: RulePath, rule: RuleDto): RuleGroupDto; /** * 根据路径删除规则(不可变更新) * @param group 根规则组 * @param path 路径数组 * @returns 更新后的规则组(新对象) */ export declare function deleteRuleAtPath(group: RuleGroupDto, path: RulePath): RuleGroupDto; /** * 根据路径添加规则(不可变更新) * @param group 根规则组 * @param path 路径数组(指向目标规则组) * @param rule 新规则 * @returns 更新后的规则组(新对象) */ export declare function addRuleAtPath(group: RuleGroupDto, path: RulePath, rule: RuleDto): RuleGroupDto; /** * 根据路径更新规则组(不可变更新) * @param group 根规则组 * @param path 路径数组 * @param updatedGroup 新的规则组对象 * @returns 更新后的规则组(新对象) */ export declare function updateRuleGroupAtPath(group: RuleGroupDto, path: RulePath, updatedGroup: RuleGroupDto): RuleGroupDto; /** * 根据路径删除规则组(不可变更新) * @param group 根规则组 * @param path 路径数组 * @returns 更新后的规则组(新对象) */ export declare function deleteRuleGroupAtPath(group: RuleGroupDto, path: RulePath): RuleGroupDto; /** * 根据路径添加规则组(不可变更新) * @param group 根规则组 * @param path 路径数组(指向目标父规则组) * @param newGroup 新规则组 * @returns 更新后的规则组(新对象) */ export declare function addRuleGroupAtPath(group: RuleGroupDto, path: RulePath, newGroup: RuleGroupDto): RuleGroupDto;