interface ContactSubmissionOptions {
    userId?: string;
    successRedirectUrl?: string;
    successToastMessage?: string;
    onSuccess?: () => void;
}
/**
 * Mirrors the API contract at POST /api/contact (see `ContactBaseSchema` in
 * the consuming app). Keep optional fields aligned with the Zod schema —
 * anything missing here OR there will be silently dropped on submission.
 *
 * Tracking fields (rdt_cid, utm_*, referrer_url) are forwarded as-is and
 * persisted by the API; they don't need to be declared on the form, but
 * the index signature below preserves any extra keys callers spread in.
 */
interface ContactFormData {
    name: string;
    email: string;
    helpCategory: string;
    message: string;
    linkedin_url?: string;
    companySize?: string;
    referralSource?: string;
    rdt_cid?: string;
    [key: string]: unknown;
}
/**
 * useContactSubmission
 * --------------------
 * Provides a helper for submitting contact form data to `/api/contact`.
 * Handles loading state, success detection, toast notifications, and redirect.
 * Follows the same pattern as useWaitlistRegistration for consistency.
 */
export declare function useContactSubmission(options?: ContactSubmissionOptions): {
    readonly submit: (formData: ContactFormData) => Promise<void>;
    readonly isSubmitting: boolean;
    readonly isSuccess: boolean;
    readonly setIsSuccess: import("react").Dispatch<import("react").SetStateAction<boolean>>;
};
export {};
//# sourceMappingURL=use-contact-submission.d.ts.map