import { z } from 'zod';
export declare const companySizeOptions: readonly ["1-10", "11-50", "51-200", "201-500", "501-1000", "1001+"];
export declare const referralSourceOptions: readonly ["Google", "LinkedIn", "Twitter/X", "Reddit", "Friend / Colleague", "Other"];
export declare const defaultHelpCategoryOptions: readonly ["Open-Source Alternatives", "Vendor Cost Reduction", "MSP Best Practices", "Partnerships", "Press", "Other"];
export declare const LinkedInUrlSchema: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
/**
 * Base schema — fields shared by every contact-style form (main contact
 * form, TMCG join, data-room request, case-study pitch, etc.). Any
 * field that exists on a form but NOT on this schema is silently
 * stripped by `safeParse` — that's exactly the bug the LinkedIn field
 * hit historically.
 */
export declare const ContactBaseSchema: z.ZodObject<{
    name: z.ZodString;
    email: z.ZodString;
    linkedin_url: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
    helpCategory: z.ZodString;
    message: z.ZodString;
    rdt_cid: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const ContactSchema: z.ZodObject<{
    name: z.ZodString;
    email: z.ZodString;
    linkedin_url: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
    helpCategory: z.ZodString;
    message: z.ZodString;
    rdt_cid: z.ZodOptional<z.ZodString>;
    companySize: z.ZodOptional<z.ZodString>;
    referralSource: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type ContactFormData = z.infer<typeof ContactSchema>;
export interface ContactApiResponse {
    success: boolean;
    error?: string;
}
//# sourceMappingURL=contact-schema.d.ts.map