import type { FormInstance, InternalFormInstance, InternalNamePath, StoreValue } from './interface'; interface UpdateAction { type: 'updateValue' | 'updateList'; namePath: InternalNamePath; value: StoreValue; extra?: any; } interface ValidateAction { type: 'validateField'; namePath: InternalNamePath; triggerName: string; } export type ReducerAction = UpdateAction | ValidateAction; export declare class FormStore { private formHooked; private forceRootUpdate; private subscribable; private store; private fieldEntities; private initialValues; private callbacks; private validateMessages; private preserve?; private lastValidatePromise; private subject; private state; private init; private tempFieldsState; private fieldsInfoGetters; constructor(forceRootUpdate: () => void); getForm: () => InternalFormInstance; setState: (changeState: any, dispatch?: boolean) => void; getState: (stateName: any) => any; setEvent: (eventName: any, data: any) => void; setInit: () => void; setFieldsState: (fieldsName: any, changeState: any) => void; getFieldsInfoGetters: (fieldsInfoGetters: any) => void; getFieldsState: (path?: any) => {}; getGroupFields: (groupName: any) => any[]; getFieldState: (path: any) => any; hasField: (name: any) => boolean; addItem: (_name: any, value: any, index: any) => void; removeItem: (_name: any, index: any) => void; moveItem: (_name: any, from: any, to: any) => void; private getInternalHooks; private useSubscribe; /** * Record prev Form unmount fieldEntities which config preserve false. * This need to be refill with initialValues instead of store value. */ private prevWithoutPreserves; /** * First time `setInitialValues` should update store with initial value */ private setInitialValues; private destroyForm; private getInitialValue; private setCallbacks; private setValidateMessages; private setPreserve; private watchList; private registerWatch; private notifyWatch; private timeoutId; private warningUnhooked; private updateStore; /** * Get registered field entities. * @param pure Only return field which has a `name`. Default: false */ private getFieldEntities; private getFieldsMap; private getFieldEntitiesForNamePathList; private getFieldsValue; private getFieldValue; private getFieldsError; private getFieldError; private getFieldWarning; private isFieldsTouched; private isFieldTouched; private isFieldsValidating; private isFieldValidating; /** * Reset Field with field `initialValue` prop. * Can pass `entities` or `namePathList` or just nothing. */ private resetWithFieldInitialValue; private resetFields; private setFieldValueForObserver; private setFields; private _setFields; private destory; private getFields; /** * This only trigger when a field is on constructor to avoid we get initialValue too late */ private initEntityValue; private isMergedPreserve; private registerField; private dispatch; private notifyObservers; /** * Notify dependencies children with parent update * We need delay to trigger validate in case Field is under render props */ private triggerDependenciesUpdate; private updateValue; private setFieldsValue; private setFieldValue; private getDependencyChildrenFields; private triggerOnFieldsChange; private validateFields; private submit; } declare function useForm(form?: FormInstance): [FormInstance]; export default useForm;