import { z } from "zod" // Help me write this zod schema based on the type ContactConfig export const validateContactConfigSchema = z.object({ all_contact_config: z.object({ items: z.array( z.object({ email: z.object({ name: z.string().nullable(), address: z.string().nullable(), }), email_loyalty: z.object({ name: z.string().nullable(), address: z.string().nullable(), }), mailing_address: z.object({ zip: z.string().nullable(), street: z.string().nullable(), name: z.string().nullable(), city: z.string().nullable(), country: z.string().nullable(), }), phone: z.object({ number: z.string().nullable(), name: z.string().nullable(), }), phone_loyalty: z.object({ number: z.string().nullable(), name: z.string().nullable(), }), visiting_address: z.object({ zip: z.string().nullable(), country: z.string().nullable(), city: z.string().nullable(), street: z.string().nullable(), }), }) ), }), }) export enum ContactFieldGroupsEnum { email = "email", email_loyalty = "email_loyalty", mailing_address = "mailing_address", phone = "phone", phone_loyalty = "phone_loyalty", visiting_address = "visiting_address", } export type ContactFieldGroups = keyof typeof ContactFieldGroupsEnum export type ContactConfigData = z.infer export type ContactConfig = ContactConfigData["all_contact_config"]["items"][0] export type ContactFields = { display_text: string | null contact_field: string }