import type { Ref } from '@vue/reactivity'; import type { SetFieldTouched } from './types/SetFieldTouched'; import type { SetFieldValue } from './types/SetFieldValue'; import type { SetValues } from './types/SetValues'; import type { ValidationResult } from './types/ValidationResult'; declare type Options = { initialValues: TFormModel; validate: (formModel: TFormModel) => ValidationResult; }; export declare const useForm: (options: Options) => { values: Ref; setValues: SetValues; setFieldValue: SetFieldValue; touched: Ref; setFieldTouched: SetFieldTouched; errors: Ref; isSubmitting: Ref; setSubmitting: (newIsSubmitting: boolean) => void; hasSubmitted: Ref; setHasSubmitted: (newHasSubmitted: boolean) => void; validate: (formModel: TFormModel) => any; handleSubmit: (handler: (values: TFormModel) => Promise) => void; }; export {};