import { ConditionEvaluator } from './condition-evaluator';
import { FormRuleActionExecutor } from './extractors/form-rule-action-extractor';
import { FieldSelector } from './field-selector';
import { ValueParser } from './value-parser';
export declare class FormRulesSettings {
    ConditionEvaluators: ConditionEvaluator[];
    InputTypeParsers: ValueParser[];
    RuleValueParsers: ValueParser[];
    FieldSelectors: FieldSelector[];
    ActionExecutors: {
        actionName: string;
        actionExecutor: FormRuleActionExecutor;
    }[];
    constructor();
    addConditionEvaluator(name: string, conditionEvaluator: (a: string, b: string) => boolean): void;
    removeConditionEvaluator(name: string): void;
    processConditionEvaluator(name: string, inputType: string, currentValue: string, ruleValue: string): boolean;
    getConditionEvaluator(name: string): ConditionEvaluator | null;
    addActionExecutor(actionName: string, actionExecutor: FormRuleActionExecutor): void;
    removeActionExecutor(actionName: string): void;
    getActionExecutor(actionName: string): FormRuleActionExecutor | null;
    addInputTypeParser(inputType: string, parser: (value: string) => any, escape?: boolean, escapeRegEx?: RegExp): void;
    removeInputTypeParser(inputType: string): void;
    addRuleValueParser(inputType: string, parser: (value: string) => any, escape?: boolean, escapeRegEx?: RegExp): void;
    removeRuleValueParser(inputType: string): void;
    addFieldSelector(fieldContainerDataSfRole: string, elementSelector: string, additionalFilter?: string): void;
    removeFieldSelector(fieldContainerDataSfRole: string): void;
    getFieldValues(fieldContainer: HTMLDivElement): string[];
    getFieldValueElements(fieldContainer: HTMLDivElement): NodeListOf<Element> | null;
    getFieldValueElement(fieldContainer: HTMLDivElement): Element | null;
    getFieldsContainerNames(): string[];
}
