/// import * as React from 'react'; import { IHTMLEvent, IFieldMessage } from './utility'; import { FieldMessageMap } from './field-message-map'; export interface IBaseFormProps { defaultFormData?: T; onBlur?: (formData: T) => void; onSubmit?: (formData: T) => void; validator?: (formData: T) => FieldMessageMap; isLoading: boolean; formMessages?: Array; fieldMessageMap?: FieldMessageMap; } export interface IBaseFormState { fieldMessageMap: FieldMessageMap; formData: T; } export declare abstract class BaseForm, S extends IBaseFormState> extends React.Component { constructor(props: P); protected defaultValidator(_: T): FieldMessageMap; protected readonly canSubmit: boolean; protected updateFormData(event: IHTMLEvent): void; protected validate(data: T, callback?: () => void): void; protected getFieldMessage(name: string): IFieldMessage | null; protected onSubmit(): void; private getValueFromEvent(event); }