import { Rule, RuleGroup } from '../types';
/**
 * Type guard: checks if a condition is a leaf Rule
 */
export declare const isRule: (condition: Rule | RuleGroup) => condition is Rule;
/**
 * Type guard: checks if a condition is a nested RuleGroup
 */
export declare const isRuleGroup: (condition: Rule | RuleGroup) => condition is RuleGroup;
/**
 * Recursively counts the number of leaf Rule nodes in a RuleGroup
 */
export declare const countLeafRules: (group: RuleGroup | undefined) => number;
/**
 * Creates a default empty rule
 */
export declare const createDefaultRule: () => Rule;
/**
 * Creates a default empty rule group
 */
export declare const createDefaultRuleGroup: (operator?: "AND" | "OR") => RuleGroup;
