export interface FormValidationResult<E> {
formErrors: FieldErrorsMap<E>;
V extends FormValueValidator<infer E>
validate(): FieldErrorsMap<E>;
V extends AsyncFormValueValidator<infer E>
validateAsync(signal: AbortSignal): Promise<FieldErrorsMap<E>>;
export type FormState<T, V extends Validator> = {
readonly context: FormContext;
readonly validation: Action<
FormValidationResult<AnyFormValueValidatorError<V>>,
readonly fieldsValidation: Action<
[config: Config, value: FieldValue],
FieldError<AnyFieldValueValidatorError<V>>[],
* An accessor that maintains form state consistency:
* - A snapshot of the form state is returned on access
* - Default values from JSON Schema are taken into account during assignment
* You can gain direct access to the internal state by hacking types:
* `(form.context as FormInternalContext<typeof validator>).value`
errors: FieldErrorsMap<PossibleError<V>>;
submit(e: SubmitEvent): Promise<void>;