import { ReactNode } from "react"; export interface FormInstance { validateFields(name?: string | string[]): Promise; setFieldsValue(values: any): void; getFieldsValue(): V; getErrors(name?: string | string[]): FormValidError[]; setErrors(errors: FormValidError[]): void; getValues(name?: string | string[]): V; setValues(values: any): void; validate(name?: string | string[]): Promise; reset(): void; } export declare type FormLabelAlign = "left" | "center" | "right"; export declare type FormControlAlign = "left" | "center" | "right"; export declare type FormFeedbackAlign = "left" | "center" | "right"; export declare type FormFeedbackStatus = "valid" | "warning" | "invalid"; export declare type FormValidateTrigger = "onBlur" | "onChange" | "onSubmit"; export declare type FormValidateStatus = FormFeedbackStatus; export interface FormValidError { name?: string; errors: ReactNode[]; } export declare type FormRuleMessage = string | ((value: any, rule: FormRule) => string); export declare type FormRuleValidator = (value: any, rule: FormRule) => boolean | string | Error | Promise; export declare type FiledRuleFormatter = (value: any, rule: FormRule) => string; export interface FormRule { pattern?: RegExp; trigger?: FormValidateTrigger; message?: FormRuleMessage; required?: boolean; validator?: FormRuleValidator; formatter?: FiledRuleFormatter; } export interface FormController { name?: string; value?: V; validateStatus?: FormValidateStatus; onChange?(value: V): void; onBlur?(value: V): void; } export interface FormItemInstance { readonly name?: string; getValue(): any; setValue(value: any): void; validate(rules?: FormRule[]): Promise; }