///
export declare type FormAlign = 'right' | 'left' | 'top';
export declare type FormTriggerEvent = 'blur' | 'change' | 'focus';
export declare type FormItemStatus = 'error' | 'default' | 'success' | 'warning';
export declare type FormValues = {
[key: string]: any;
};
export declare type FormErrors = Array<{
message: string;
}>;
export declare type FormRule = {
type: string;
message: string;
required: boolean;
trigger: FormTriggerEvent[];
validator: (formFields: FormValues, value: any, callback: (message: string) => void) => void;
};
export declare type FormFields = {
[key: string]: {
name?: string;
value?: any;
rule?: FormRule;
component?: any;
};
};
export declare type FormItemProps = {
prefixCls: string;
className: string;
required: boolean;
labelAlign: FormAlign;
labelWidth: number;
labelClassName: string;
label: string;
name: string;
status: FormItemStatus;
rule: Partial;
};
export declare type FormItemState = {
message: string;
status: FormItemStatus;
isInvalid: boolean;
value: any;
};
export declare type FormProps = {
prefixCls: string;
className: string;
labelAlign: FormAlign;
labelWidth: number;
labelSuffix: string;
onSubmit: (event?: React.FormEvent, values?: {
[key: string]: any;
}, error?: Array<{
message: string;
}>, forms?: {
reset: () => void;
}) => void;
onReset: (event?: React.FormEvent) => void;
rules: {
[key: string]: Partial;
};
};
export declare type ContextProps = FormItemProps & {
form: {
rules: {
[key: string]: Partial;
};
getFields: () => FormFields;
getFieldsValues: () => FormValues;
addField: (field: any) => void;
removeField: (field: any) => void;
};
};