import { IValidatorRules, Validator, ValidatorTriggerType } from '@formily/validator'; import { FormPath } from '@formily/shared'; import { Form, Field, LifeCycle, ArrayField, VoidField, ObjectField, Query } from './models'; export declare type NonFunctionPropertyNames = { [K in keyof T]: T[K] extends (...args: any) => any ? never : K; }[keyof T]; export declare type NonFunctionProperties = Pick>; export declare type AnyFunction = (...args: any[]) => any; export declare type JSXComponent = any; export declare type LifeCycleHandler = (payload: T, context: any) => void; export declare type LifeCyclePayload = (params: { type: string; payload: T; }, context: any) => void; export declare enum LifeCycleTypes { /** * Form LifeCycle **/ ON_FORM_INIT = "onFormInit", ON_FORM_MOUNT = "onFormMount", ON_FORM_UNMOUNT = "onFormUnmount", ON_FORM_INPUT_CHANGE = "onFormInputChange", ON_FORM_VALUES_CHANGE = "onFormValuesChange", ON_FORM_INITIAL_VALUES_CHANGE = "onFormInitialValuesChange", ON_FORM_SUBMIT = "onFormSubmit", ON_FORM_RESET = "onFormReset", ON_FORM_SUBMIT_START = "onFormSubmitStart", ON_FORM_SUBMITTING = "onFormSubmitting", ON_FORM_SUBMIT_END = "onFormSubmitEnd", ON_FORM_SUBMIT_VALIDATE_START = "onFormSubmitValidateStart", ON_FORM_SUBMIT_VALIDATE_SUCCESS = "onFormSubmitValidateSuccess", ON_FORM_SUBMIT_VALIDATE_FAILED = "onFormSubmitValidateFailed", ON_FORM_SUBMIT_VALIDATE_END = "onFormSubmitValidateEnd", ON_FORM_SUBMIT_SUCCESS = "onFormSubmitSuccess", ON_FORM_SUBMIT_FAILED = "onFormSubmitFailed", ON_FORM_VALIDATE_START = "onFormValidateStart", ON_FORM_VALIDATING = "onFormValidating", ON_FORM_VALIDATE_SUCCESS = "onFormValidateSuccess", ON_FORM_VALIDATE_FAILED = "onFormValidateFailed", ON_FORM_VALIDATE_END = "onFormValidateEnd", ON_FORM_GRAPH_CHANGE = "onFormGraphChange", ON_FORM_LOADING = "onFormLoading", /** * Field LifeCycle **/ ON_FIELD_INIT = "onFieldInit", ON_FIELD_INPUT_VALUE_CHANGE = "onFieldInputValueChange", ON_FIELD_VALUE_CHANGE = "onFieldValueChange", ON_FIELD_INITIAL_VALUE_CHANGE = "onFieldInitialValueChange", ON_FIELD_SUBMIT = "onFieldSubmit", ON_FIELD_SUBMIT_START = "onFieldSubmitStart", ON_FIELD_SUBMITTING = "onFieldSubmitting", ON_FIELD_SUBMIT_END = "onFieldSubmitEnd", ON_FIELD_SUBMIT_VALIDATE_START = "onFieldSubmitValidateStart", ON_FIELD_SUBMIT_VALIDATE_SUCCESS = "onFieldSubmitValidateSuccess", ON_FIELD_SUBMIT_VALIDATE_FAILED = "onFieldSubmitValidateFailed", ON_FIELD_SUBMIT_VALIDATE_END = "onFieldSubmitValidateEnd", ON_FIELD_SUBMIT_SUCCESS = "onFieldSubmitSuccess", ON_FIELD_SUBMIT_FAILED = "onFieldSubmitFailed", ON_FIELD_VALIDATE_START = "onFieldValidateStart", ON_FIELD_VALIDATING = "onFieldValidating", ON_FIELD_VALIDATE_SUCCESS = "onFieldValidateSuccess", ON_FIELD_VALIDATE_FAILED = "onFieldValidateFailed", ON_FIELD_VALIDATE_END = "onFieldValidateEnd", ON_FIELD_LOADING = "onFieldLoading", ON_FIELD_RESET = "onFieldReset", ON_FIELD_MOUNT = "onFieldMount", ON_FIELD_UNMOUNT = "onFieldUnmount" } export declare type HeartSubscriber = ({ type, payload, }: { type: string; payload: any; }) => void; export interface INodePatch { type: 'remove' | 'update'; address: string; oldAddress?: string; payload?: T; } export interface IHeartProps { lifecycles?: LifeCycle[]; context?: Context; } export interface IFieldFeedback { triggerType?: FieldFeedbackTriggerTypes; type?: FieldFeedbackTypes; code?: FieldFeedbackCodeTypes; messages?: FeedbackMessage; } export declare type IFormFeedback = IFieldFeedback & { path?: string; address?: string; }; export interface ISearchFeedback { triggerType?: FieldFeedbackTriggerTypes; type?: FieldFeedbackTypes; code?: FieldFeedbackCodeTypes; address?: FormPathPattern; path?: FormPathPattern; messages?: FeedbackMessage; } export declare type FeedbackMessage = any[]; export declare type IFieldUpdate = { pattern: FormPath; callbacks: ((...args: any[]) => any)[]; }; export interface IFormRequests { validate?: number; submit?: number; loading?: number; updates?: IFieldUpdate[]; updateIndexes?: Record; } export declare type IFormFields = Record; export declare type FieldFeedbackTypes = 'error' | 'success' | 'warning'; export declare type FieldFeedbackTriggerTypes = ValidatorTriggerType; export declare type FieldFeedbackCodeTypes = 'ValidateError' | 'ValidateSuccess' | 'ValidateWarning' | 'EffectError' | 'EffectSuccess' | 'EffectWarning' | (string & {}); export declare type FormPatternTypes = 'editable' | 'readOnly' | 'disabled' | 'readPretty' | ({} & string); export declare type FormDisplayTypes = 'none' | 'hidden' | 'visible' | ({} & string); export declare type FormPathPattern = string | number | Array | FormPath | RegExp | (((address: Array) => boolean) & { path: FormPath; }); declare type OmitState

= Omit; export declare type IFieldState = Partial>>>>; export declare type IVoidFieldState = Partial>>>>; export declare type IFormState = any> = Pick, NonFunctionPropertyNames>>>; export declare type IFormGraph = Record; export interface IFormProps { values?: Partial; initialValues?: Partial; pattern?: FormPatternTypes; display?: FormDisplayTypes; hidden?: boolean; visible?: boolean; editable?: boolean; disabled?: boolean; readOnly?: boolean; readPretty?: boolean; effects?: (form: Form) => void; validateFirst?: boolean; designable?: boolean; } export declare type IFormMergeStrategy = 'overwrite' | 'merge' | 'deepMerge' | 'shallowMerge'; export interface IFieldFactoryProps extends IFieldProps { name: FormPathPattern; basePath?: FormPathPattern; } export interface IVoidFieldFactoryProps extends IVoidFieldProps { name: FormPathPattern; basePath?: FormPathPattern; } export interface IFieldRequests { validate?: number; submit?: number; loading?: number; batch?: () => void; } export interface IFieldCaches { value?: any; initialValue?: any; inputting?: boolean; } export declare type FieldDisplayTypes = 'none' | 'hidden' | 'visible' | ({} & string); export declare type FieldPatternTypes = 'editable' | 'readOnly' | 'disabled' | 'readPretty' | ({} & string); export declare type FieldValidatorContext = IValidatorRules & { field?: Field; form?: Form; value?: any; }; export declare type FieldValidator = Validator; export declare type FieldDataSource = { label?: any; value?: any; title?: any; key?: any; text?: any; children?: FieldDataSource; [key: string]: any; }[]; export declare type FieldComponent = [Component] | [Component, ComponentProps] | boolean | any[]; export declare type FieldDecorator = [Decorator] | [Decorator, ComponentProps] | boolean | any[]; export declare type FieldReaction = (field: Field) => void; export interface IFieldProps { name: FormPathPattern; basePath?: FormPathPattern; title?: TextType; description?: TextType; value?: ValueType; initialValue?: ValueType; required?: boolean; display?: FieldDisplayTypes; pattern?: FieldPatternTypes; hidden?: boolean; visible?: boolean; editable?: boolean; disabled?: boolean; readOnly?: boolean; readPretty?: boolean; dataSource?: FieldDataSource; validateFirst?: boolean; validator?: FieldValidator; decorator?: FieldDecorator; component?: FieldComponent; reactions?: FieldReaction[] | FieldReaction; content?: any; data?: any; } export interface IVoidFieldProps { name: FormPathPattern; basePath?: FormPathPattern; title?: TextType; description?: TextType; display?: FieldDisplayTypes; pattern?: FieldPatternTypes; hidden?: boolean; visible?: boolean; editable?: boolean; disabled?: boolean; readOnly?: boolean; readPretty?: boolean; decorator?: FieldDecorator; component?: FieldComponent; reactions?: FieldReaction[] | FieldReaction; content?: any; data?: any; } export interface IFieldResetOptions { forceClear?: boolean; validate?: boolean; } export declare type IGeneralFieldState = IFieldState & IVoidFieldState; export declare type GeneralField = Field | VoidField | ArrayField | ObjectField; export declare type DataField = Field | ArrayField | ObjectField; export interface ISpliceArrayStateProps { startIndex?: number; deleteCount?: number; insertCount?: number; } export interface IExchangeArrayStateProps { fromIndex?: number; toIndex?: number; } export interface IQueryProps { pattern: FormPathPattern; base: FormPathPattern; form: Form; } export interface IModelSetter

{ (setter: (state: P) => void): void; (setter: Partial

): void; (): void; } export interface IModelGetter

{ any>(getter: Getter): ReturnType; (): P; } export declare type FieldMatchPattern = FormPathPattern | Query | GeneralField; export interface IFieldStateSetter { (pattern: FieldMatchPattern, setter: (state: IFieldState) => void): void; (pattern: FieldMatchPattern, setter: Partial): void; } export interface IFieldStateGetter { any>(pattern: FieldMatchPattern, getter: Getter): ReturnType; (pattern: FieldMatchPattern): IGeneralFieldState; } export interface IFieldActions { [key: string]: (...args: any[]) => any; } export {};