import { FormHTMLAttributes } from 'react';
import { DirectionType, ShapeType, SizeType, ThemeType } from '../const/types.js';
import { ColProps, FormRule, FormRules } from './types.js';
export interface FormSubmitEvent {
valid: boolean;
}
type FormChangeHandler = {
bivarianceHack(model: Record): void;
}["bivarianceHack"];
export interface FormItemHandle {
prop: string;
rules?: FormRule | FormRule[];
validate: (rules?: FormRule | FormRule[], trigger?: import('./types.js').FormValidateTrigger) => Promise;
reset: (value?: unknown) => void;
}
export interface FormExpose {
validate: (callback?: (result: FormSubmitEvent) => void) => Promise;
reset: () => void;
test: (key: string, trigger?: import('./types.js').FormValidateTrigger) => Promise | undefined;
submit: () => Promise;
}
export interface FormProps extends Omit, "onSubmit" | "onReset" | "onChange" | "defaultValue" | "defaultChecked"> {
layout?: DirectionType;
model?: Record;
name?: string;
labelCol?: ColProps;
wrapperCol?: ColProps;
rules?: FormRules;
size?: SizeType;
theme?: ThemeType;
shape?: ShapeType;
disabled?: boolean;
readOnly?: boolean;
colon?: boolean;
onSubmit?: (event: FormSubmitEvent) => void;
onReset?: () => void;
onChange?: FormChangeHandler;
}
declare const Form: import('react').ForwardRefExoticComponent>;
export default Form;