/// import { TypedRecord } from "typed-immutable-record"; import { FormErrorRecord } from "./error"; import { FieldValidationType } from "./validation"; import { FormContextPropsObject } from "./form"; import { FieldsGroupContextProps } from "./fields-group"; import { ModifierValue } from "./value"; export declare type FieldValue = any | undefined; export declare type FieldFormatValueCallback = (value: FieldValue) => FieldValue; export declare type FieldParseValueCallback = (value: ModifierValue) => ModifierValue; export declare type FieldNormalizeValueCallback = (value: FieldValue) => FieldValue; export interface CoreFieldProps { name: string; formId?: string; destroyOnUnmount?: boolean; formatValue?: FieldFormatValueCallback; parseValue?: FieldParseValueCallback; normalizeValue?: FieldNormalizeValueCallback; validationType?: FieldValidationType; } export interface FieldProps extends CoreFieldProps { defaultValue?: FieldValue; initialValue?: FieldValue; value?: FieldValue; disabled?: boolean; } export interface FieldStoreState { Name: string; DefaultValue: FieldValue; InitialValue: FieldValue; Value: FieldValue; TransitionalValue?: FieldValue; Error?: FormErrorRecord; Touched: boolean; Pristine: boolean; Validating: boolean; FieldsGroup?: { Id: string; }; Props?: FieldStorePropsRecord; } export declare type FieldStoreProps = CoreFieldProps & React.Props; export interface FieldStoreStateRecord extends TypedRecord, FieldStoreState { } export interface FieldStorePropsRecord extends TypedRecord, FieldStoreProps { } export interface FieldContext { FormId: string; FormProps: FormContextPropsObject; FieldsGroupId: string; FieldsGroupProps: FieldsGroupContextProps; IsInFieldsArray: boolean; } export interface FieldChildContext { FieldId: string; }