import { Rule, RuleObject, RuleRender } from 'rc-field-form/lib/interface'; import InternalForm, { useForm, FormInstance, FormProps } from './Form'; import Item, { FormItemProps } from './FormItem'; import List from './FormList'; import { FormProvider } from './context'; import devWarning from '../_util/devWarning'; type InternalForm = typeof InternalForm; interface Form extends InternalForm { useForm: typeof useForm; Item: typeof Item; List: typeof List; Provider: typeof FormProvider; /** @deprecated Only for warning usage. Do not use. */ create: () => void; } const Form: Form = InternalForm as Form; Form.Item = Item; Form.List = List; Form.useForm = useForm; Form.Provider = FormProvider; Form.create = () => { devWarning( false, 'Form', 'antd v4 removed `Form.create`. Please remove or use `@ant-design/compatible` instead.', ); }; export { FormInstance, FormProps, FormItemProps, Rule, RuleObject, RuleRender }; export default Form;