import { AnyObjectSchema } from 'yup'; export interface FormInputInterface { name: string; label: string; class: string; isError: boolean; disabled: boolean; labelClass: string; errorClass: string; errorMessage: string; containerClass: string; } export interface FormHookInterface { el: HTMLElement; renderControl: {}; isLoading: boolean; formSubmit: (formValues: T) => void; } type FieldType = 'text'; type ValidationType = 'onSubmit' | 'always'; interface Field { name: string; isError: boolean; disabled: boolean; errorMessage: string; onInput: (event: InputEvent) => void; } export interface FormStateOptions { validationType?: ValidationType; } export declare class FormHook { private isSubmitted; private context; private schemaObject; private validationType; private subscribedFields; formErrors: { [key: string]: string; }; formController: any; constructor(context: FormHookInterface, schemaObject: AnyObjectSchema, formStateOptions?: FormStateOptions); getFormErrors: () => { [key: string]: string; }; getValues: () => { [k: string]: FormDataEntryValue; }; private focusFirstInput; onSubmit: (formEvent: SubmitEvent) => void; newController: (name: string, fieldType: FieldType) => Field; private signal; private onChanges; } export {};