import { RuleFunctionsTable, Rule, FunctionsTable, Context, ResolvedConsequence, ValidationContext } from '../types';
export declare const evaluateRules: <ConsequencePayload, C extends Context, RF extends RuleFunctionsTable<C, ConsequencePayload, CustomEngineRuleFuncRunOptions>, F extends FunctionsTable<C, CustomEngineRuleFuncRunOptions>, Ignore = never, CustomEngineRuleFuncRunOptions = undefined>(rules: Rule<ConsequencePayload, RF, C, F, Ignore, CustomEngineRuleFuncRunOptions>[], context: C, functionsTable: F, ruleFunctionsTable: RF, haltOnFirstMatch: boolean, runOptions: CustomEngineRuleFuncRunOptions) => Promise<void | ResolvedConsequence<ConsequencePayload>[]>;
export declare const validateRules: <ConsequencePayload, C extends Context, RF extends RuleFunctionsTable<C, ConsequencePayload, CustomEngineRuleFuncRunOptions>, F extends FunctionsTable<C, CustomEngineRuleFuncRunOptions>, Ignore = never, CustomEngineRuleFuncRunOptions = undefined>(rules: Rule<ConsequencePayload, RF, C, F, Ignore, CustomEngineRuleFuncRunOptions>[], validationContext: ValidationContext<C, Ignore>, functionsTable: F, ruleFunctionsTable: RF, runOptions: CustomEngineRuleFuncRunOptions) => Promise<void>;
