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; readonly isSubmitting: boolean; readonly isSuccess: boolean; readonly setIsSuccess: import("react").Dispatch>; }; export {}; //# sourceMappingURL=use-contact-submission.d.ts.map