import { useState } from 'react'; interface InitialFormState { [key: string]: string | number; } interface UseFormReturn { formState: InitialFormState; handleChange: (e: React.ChangeEvent) => void; resetForm: () => void; } export function useForm(initialState: InitialFormState): UseFormReturn { const [formState, setFormState] = useState(initialState); const handleChange = (e: React.ChangeEvent): void => { const { name, value } = e.target; setFormState((prevState) => ({ ...prevState, [name]: value })); }; const resetForm = (): void => { setFormState(initialState); }; return { formState, handleChange, resetForm, }; }