import { z } from 'zod'; /** * Where someone says they heard about LivDot, asked on the waitlist form. * Values are stable slugs for storage and reporting; the web app owns the labels. */ declare const WaitlistHeardFrom: { readonly INSTAGRAM: "instagram"; readonly TIKTOK: "tiktok"; readonly X: "x"; readonly WHATSAPP: "whatsapp"; readonly FRIEND_OR_FAMILY: "friend_or_family"; readonly EVENT: "event"; readonly OTHER: "other"; }; type WaitlistHeardFrom = (typeof WaitlistHeardFrom)[keyof typeof WaitlistHeardFrom]; declare const WAITLIST_EMAIL_MAX = 255; declare const WAITLIST_ROLES: (1 | 2 | 4)[]; declare const JoinWaitlistRequestSchema: z.ZodObject<{ email: z.ZodPipe; phone: z.ZodOptional; roles: z.ZodArray>; heardFrom: z.ZodOptional>; }, z.core.$strict>; declare const JoinWaitlistResponseSchema: z.ZodObject<{ status: z.ZodLiteral<"joined">; }, z.core.$strip>; type JoinWaitlistRequest = z.infer; type JoinWaitlistResponse = z.infer; type WaitlistRole = (typeof WAITLIST_ROLES)[number]; export { type JoinWaitlistRequest, JoinWaitlistRequestSchema, type JoinWaitlistResponse, JoinWaitlistResponseSchema, WAITLIST_EMAIL_MAX, WAITLIST_ROLES, WaitlistHeardFrom, type WaitlistRole };