export interface UseFormSubmissionOptions { /** Success message to show (if not provided, no success message will be set) */ successMessage?: string; /** How long to show success message before clearing (ms, 0 = don't auto-clear) */ successDuration?: number; /** Error message prefix (actual error will be appended) */ errorPrefix?: string; /** Callback after successful submission */ onSuccess?: () => void; /** Callback after failed submission */ onError?: (error: Error) => void; } export interface UseFormSubmissionReturn { /** Whether the form is currently being submitted */ isSubmitting: boolean; /** Success message to display */ successMessage: string; /** Error message to display */ errorMessage: string; /** Submit the form with the provided async function */ submit: (fn: () => Promise) => Promise; /** Clear all messages */ clearMessages: () => void; /** Clear only success message */ clearSuccess: () => void; /** Clear only error message */ clearError: () => void; } /** * useFormSubmission Hook * * Manages form submission state including loading, success, and error states. * Reduces boilerplate for common form submission patterns. * * @example * ```tsx * const { isSubmitting, successMessage, errorMessage, submit, clearMessages } = useFormSubmission({ * successMessage: 'Settings saved successfully', * successDuration: 3000, * }); * * const handleSave = () => submit(async () => { * await saveSettings(data); * }); * * return ( * <> * * * Save Changes * * * ); * ``` */ export declare const useFormSubmission: (options?: UseFormSubmissionOptions) => UseFormSubmissionReturn; //# sourceMappingURL=useFormSubmission.d.ts.map