import { IJsonLangParams, IRulesCore, RuleHandler, RuleIdentifier, RuleResult, Rules } from './core.types'; export declare class RuleCore implements IRulesCore { private rules; private ruleIds; constructor(); /** * @param {IJsonLangParams} jsonLang * @param {Object} data. * @returns {RuleResult} * @description is the `Sync` version of jsonLang, use it to run all builtin rules and any extended `Sync` Rules */ execute(rules: IJsonLangParams, data?: {}): RuleResult; /** * @param {IJsonLangParams} jsonLang * @param {Object} data. * @returns {Promise} * @description is the `Async` version of jsonLang, use it to run all builtin rules and any extended `Sync/Async` Rules */ executeAsync(rules: IJsonLangParams, data?: {}): Promise; /** * @param {Rules} rules - Map of Rules. * @returns {void} * @description to extend JsonLang by a Map() of rules the "Map key" is RuleIdentifier and the "Map value" is the Sync/Async RuleHandler */ registerMany: (rules: Rules, group?: string) => void; /** * @param {RuleIdentifier} ruleIdentifier * @param {RuleHandler} RuleHandler. * @returns {void} * @description to extend JsonLang by adding one Sync/Async Rule */ registerOne: (ruleIdentifier: RuleIdentifier, ruleHandler: RuleHandler) => void; /** * @returns {RuleIdentifier[]} * @description Get rules identifiers */ getRulesIds: () => RuleIdentifier[]; private createRunContext; private createAsyncRunContext; private resolveRuleInputs; private resolveRuleAsyncInputs; private getAllInputs; private getRuleParams; private getHandlerInnerRules; private getHandlerArgs; private isRule; private setOutputValue; private getOutputValue; private getDate; } //# sourceMappingURL=core.d.ts.map