import { Evaluable, ExecutableRule, ExecutableRuleSet } from "./types/engine";
import { Consequence } from "./types/schema";
import { SupportedCondition, SupportedLogic, SupportedMatcher, SupportedSearchType } from "./types/enums";
export declare function createRules(version: number, rules: Array<ExecutableRule>): ExecutableRuleSet;
export declare function createRule(condition: Evaluable, consequences: Array<Consequence>): ExecutableRule;
export declare function createCondition(type: SupportedCondition, definition: Evaluable): Evaluable;
export declare function createConsequence(id: string, type: string, detail: any): Consequence;
export declare function createGroupDefinition(logic: SupportedLogic, conditions: Array<Evaluable>): Evaluable;
export declare function createMatcherDefinition(key: string, matcherKey: SupportedMatcher, values?: Array<any>): Evaluable;
export declare function createHistoricalDefinition(events: Array<any>, matcherKey: SupportedMatcher, value: number, from?: number, to?: number, searchType?: SupportedSearchType): Evaluable;
