import { FormItemProps } from 'antd/lib/form/FormItem'; export type ValidateFn = ((value: any, model: M) => string | void) | string; export interface IFormComponentProps { value: any; onChange(value: any): void; [x: string]: any; } export interface ICommonOption { key?: string; title: string; value: any; } export interface IChangeParam { value: any; model: M; path: string; defaultChangeFn?(): void; } export interface ICommonInputProps { model?: M; path?: string; value?: any; onChange?(param: IChangeParam): void; afterChange?(param: IChangeParam): void; beforeChange?( param: IChangeParam & { oldValue?: any; }, ): boolean | void; transformViewToModel?(value: any, props: ICommonInputProps): any; transformModelToView?(mValue: any, props: ICommonInputProps): any; getValue?(model: M, path: string): any; label?: string | React.ReactNode; itemProps?: FormItemProps; noFormItem?: boolean; rules?: ValidateFn | ValidateFn[]; needValidate?: boolean; suffixTip?: React.ReactNode; options?: ICommonOption[]; dayFlags?: string[]; dayFlag?: string; [x: string]: any; }