import { RulesLogic } from "json-logic-js"; interface ConditionMethods { eq(value: any): RuleChain; neq(value: any): RuleChain; gt(value: any): RuleChain; gte(value: any): RuleChain; lt(value: any): RuleChain; lte(value: any): RuleChain; in(array: any[]): RuleChain; isEmpty(): RuleChain; isNotEmpty(): RuleChain; isTrue(): RuleChain; isFalse(): RuleChain; startsWith(prefix: string): RuleChain; contains(value: string): RuleChain; endsWith(suffix: string): RuleChain; dateAfter(date: string): RuleChain; dateBefore(date: string): RuleChain; lengthEquals(length: number): RuleChain; truthy(): RuleChain; } interface ChainMethods { and(field: string): ConditionMethods; or(field: string): ConditionMethods; build(): RulesLogic; } type RuleChain = ConditionMethods & ChainMethods; export declare class Rule { static when(field: string): ConditionMethods; } export declare class RuleGroupBuilder { private operator; private rules; constructor(operator?: 'and' | 'or'); static and(): RuleGroupBuilder; static or(): RuleGroupBuilder; add(rule: RulesLogic): this; addRule(builder: (rule: typeof Rule) => RulesLogic): this; addGroup(group: RulesLogic): this; addWhen(field: string): ConditionMethods & { then: (condition: RulesLogic) => RuleGroupBuilder; }; build(): RulesLogic; } export {}; //# sourceMappingURL=modern-rule-builder-engine.d.ts.map