/// <reference types="react" />
import * as React from "react";
import { FormError } from "simplr-forms/contracts";
import { FormProps as CoreFormProps } from "simplr-forms/contracts";
import { FormStore } from "simplr-forms/stores";
import { FieldOnChangeCallback } from "../contracts/field";
export interface FormOnSubmitCallback extends React.FormEventHandler<HTMLFormElement> {
    (event: React.FormEvent<HTMLFormElement>, store: FormStore): void | Promise<never> | FormError | string;
}
export interface FormProps extends CoreFormProps, React.HTMLProps<HTMLFormElement> {
    onSubmit?: FormOnSubmitCallback;
    onChange?: FieldOnChangeCallback<any>;
    preventSubmitDefaultAndPropagation?: boolean;
}
