///
import { FieldValue } from "../contracts/field";
import { ModifierValue } from "../contracts/value";
import { ModifierValueRecord } from "../contracts";
export declare const MODIFIER_FUNCTION_NAME = "SimplrFormsCoreModifier";
export declare const NORMALIZER_FUNCTION_NAME = "SimplrFormsCoreNormalizer";
export declare function FormatValue(components: JSX.Element[], defaultModifiers: JSX.Element[], value: FieldValue): FieldValue;
export declare function ParseValue(components: JSX.Element[], defaultModifiers: JSX.Element[], value: ModifierValue): ModifierValueRecord;
export declare function NormalizeValue(components: JSX.Element[], defaultNormalizers: JSX.Element[], value: FieldValue): FieldValue;
export declare function ProcessValue(components: JSX.Element[], defaultProcessors: JSX.Element[], value: TValue, processorTypeFunctionName: string, process: (processor: TProcessor, value: TValue) => TProcessedValue, nullProcessor: (value: TValue) => TProcessedValue, postProcessing?: (value: TProcessedValue) => void): TProcessedValue;
export declare function IsComponentOfType(component: JSX.Element, requiredType: string): boolean;
export declare function RenderComponents(components: JSX.Element[]): TComponent[];
/**
* Normalizers and modifiers helpers
*/
export declare type ValueTypeConfirmation = (valueToCheck: FieldValue) => boolean;
export declare function ValueOfType(value: FieldValue, normalizerName: string, requiredTypeOf: string, valueTypeConfirmation?: ValueTypeConfirmation): value is TRequiredType;
export declare function RecordifyModifierValue(value: TValue): ModifierValueRecord;