import { ZodSchema } from 'zod'; export interface FormFields { [key: string]: any; } type FormErrors = { [P in keyof T | '_submit']?: string; }; export type FormStoreType = { fields: T; errors: FormErrors; setField: (field: K, value: T[K]) => void; validate: () => Promise; submit: (submissionHandler: (fields: T) => Promise) => Promise; resetForm: () => void; }; declare class FormStore> { fields: T; errors: FormErrors; validationSchema: U; initialFields: T; constructor(initialFields: T, validationSchema: U); setField(field: K, value: T[K]): void; validate(): Promise; submit(submissionHandler: (fields: T) => Promise): Promise; resetForm(): void; } export default FormStore;