import * as React from 'react'; export interface FormExtendedEvent, T = Element> extends React.FormEvent { value: R; touched: Record; } export interface FormProps { errors?: {}; infos?: {}; kind?: string; messages?: { invalid?: string; required?: string }; onChange?: (value: T, options: { touched?: Record }) => void; onSubmit?: (event: FormExtendedEvent) => void; onReset?: (event: React.SyntheticEvent) => any; onValidate?: (validationResults: { errors: Record; infos: Record; valid: boolean; }) => void; validate?: 'blur' | 'submit' | 'change'; value?: T; } type TypedFormProps = FormProps & Omit; declare const Form: ( p: TypedFormProps, ) => React.ReactElement>; export { Form };