import * as React from 'react'; import { FormItemState, BasicProps, TriggerContextType } from '../../types'; export interface FormProps { /** * 表单的数据模型,会包含整个表单内部所有元素的数据 */ name: string; /** * 延迟表单提交的时间,可用于阻止表单多次提交 */ debounce?: number; /** * 提交之后清除表单数据 */ clearAfterSubmit?: boolean; /** * 当某一规则校验不通过时,是否停止剩下的规则的校验 */ validateFirst?: boolean; triggerContext?: TriggerContextType; children?: any; } export interface RCREFormState { name: string; valid: boolean; validateFirst?: boolean; clearAfterSubmit?: boolean; errors: { [key: string]: any; }; touched: { [key: string]: any; }; control: { [s: string]: FormItemState; }; isValidating: boolean; isSubmitting: boolean; } export declare class RCREForm extends React.Component { private didMount; private formItems; constructor(props: FormProps & BasicProps); componentDidMount(): void; componentWillUnmount(): void; private $setFormItem; private $getFormItem; private isFormValid; private $setFormItems; private $deleteFormItem; private getFormItems; private resetForm; private registerFormItem; runValidations: () => Promise; submitForm: () => Promise; handleSubmit: (e: React.FormEvent | undefined, preventSubmit?: boolean) => Promise; render(): JSX.Element; }