/**
 * Hook for submitting form data to the CMS API
 *
 * Uses the Block API Client for type-safe API calls.
 * Must be used within a BlockApiProvider.
 */
import { type ActionResult } from '@riverbankcms/frontend-state';
import { type FormSubmitRequest } from '../api';
import { type FormSubmissionState } from './useFormSubmission.state';
export type FormSubmissionData = FormSubmitRequest;
type UseFormSubmissionResult = {
    submit: (data: FormSubmissionData) => Promise<ActionResult>;
    state: FormSubmissionState;
};
/**
 * Hook for submitting form data
 *
 * Handles API call, loading state, and error handling.
 * Returns isSuccess=true after successful submission.
 *
 * @example
 * ```tsx
 * function ContactForm() {
 *   const { submit, state } = useFormSubmission();
 *
 *   const handleSubmit = async (formData) => {
 *     const result = await submit({
 *       formId: 'contact-form',
 *       data: formData,
 *       meta: { altchaSolution },
 *     });
 *
 *     if (!result.ok) {
 *       console.error(result.error);
 *     }
 *   };
 * }
 * ```
 */
export declare function useFormSubmission(): UseFormSubmissionResult;
export {};
