import { type ControlProps } from '../../model/ControlProps'; import { type PreventableEvent } from '../../ui-kit/PreventableEvent'; import { type ValidationInfo } from '../../validation/validator'; import { type FieldOptions } from './FieldOptions'; import { type FormOptions } from './FormOptions'; export interface FieldProps extends ControlProps { isDirty?: boolean; errors?: ValidationInfo; error?: ValidationInfo[0]; setFieldRef?: (_: HTMLDivElement) => void; fieldRef?: HTMLDivElement | null; } export declare type FormFieldRegisterer = (fieldName: N, options?: FieldOptions) => FieldProps; export interface FormOperators> { errors: ValidationInfo; field: FormFieldRegisterer; update: (_: FormState) => void; reset: () => void; onSubmit?: (ev: PreventableEvent) => void; } export declare function useForm>(initialState: FormState, { resetOnSubmit, formValidator, normalizer, onChange, onSubmit }?: FormOptions): [FormState, FormOperators];