/** * ARKA Rule Evaluator * * Pure functions for evaluating rules against events and entities. * This is the core of the rules engine - deterministic and side-effect free. */ import type { ArkaCondition, ArkaRule, ArkaEvent, ArkaEntity, ArkaDecision, ArkaRuleEvaluation } from '@arka-protocol/types'; /** * Context passed to rule evaluation */ export interface EvaluationContext { /** Additional data for condition evaluation (e.g., jurisdiction-specific values) */ data?: Record; /** Current timestamp for evaluation (defaults to now) */ evaluationTime?: string; } /** * Input for rule evaluation */ export interface EvaluateRulesInput { event: ArkaEvent; entity?: ArkaEntity | null; rules: ArkaRule[]; context?: EvaluationContext; } /** * Input for single rule evaluation */ export interface EvaluateSingleRuleInput { event: ArkaEvent; entity?: ArkaEntity | null; rule: ArkaRule; context?: EvaluationContext; } /** * Evaluates a condition against the data */ export declare function evaluateCondition(condition: ArkaCondition, data: Record): boolean; /** * Evaluates a single rule against an event and entity */ export declare function evaluateSingleRule(input: EvaluateSingleRuleInput): ArkaRuleEvaluation; /** * Evaluates multiple rules and produces a decision */ export declare function evaluateRules(input: EvaluateRulesInput): ArkaDecision; /** * Filters rules to get only those that apply to a given event/entity */ export declare function getApplicableRules(rules: ArkaRule[], event: ArkaEvent, entity?: ArkaEntity | null, evaluationTime?: string): ArkaRule[]; //# sourceMappingURL=evaluator.d.ts.map