///
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, FieldOnChangeInternalCallback, DomFieldTemplateCallback } from "../contracts/field";
export interface FormOnSubmitInternalCallback {
(event: React.FormEvent, ...parameters: any[]): void | Promise | FormError | string;
}
export interface FormOnSubmitCallback {
(event: React.FormEvent, store: FormStore): void | Promise | FormError | string;
}
export interface FormProps extends CoreFormProps, React.HTMLProps {
onSubmit?: FormOnSubmitCallback & FormOnSubmitInternalCallback;
onChange?: FieldOnChangeCallback & FieldOnChangeInternalCallback;
preventSubmitDefaultAndPropagation?: boolean;
template?: DomFieldTemplateCallback;
}