ModifierGroupSchema: ZodObject<
    {
        id: ZodString;
        name: ZodString;
        placement: ZodOptional<ZodEnum<["Horizontal", "Vertical"]>>;
        modifiers: ZodArray<
            ZodObject<
                { modifierId: ZodString; name: ZodString; price: ZodNumber },
                "strip",
                ZodTypeAny,
                { modifierId: string; name: string; price: number },
                { modifierId: string; name: string; price: number },
            >,
            "many",
        >;
        defaultModifierValue: ZodOptional<ZodString>;
        min: ZodNumber;
        max: ZodNumber;
        required: ZodDefault<ZodOptional<ZodBoolean>>;
    },
    "strip",
    ZodTypeAny,
    {
        id: string;
        name: string;
        placement?: "Horizontal"
        | "Vertical";
        modifiers: { modifierId: string; name: string; price: number }[];
        defaultModifierValue?: string;
        min: number;
        max: number;
        required: boolean;
    },
    {
        id: string;
        name: string;
        placement?: "Horizontal"
        | "Vertical";
        modifiers: { modifierId: string; name: string; price: number }[];
        defaultModifierValue?: string;
        min: number;
        max: number;
        required?: boolean;
    },
> = ...

Schema for modifier groups Contains multiple modifier options and selection rules

const modifierGroup = {
id: "group_cheese",
name: "Cheese Options",
placement: "Horizontal",
modifiers: [
{ modifierId: "mod_cheese_none", name: "No Cheese", price: 0 },
{ modifierId: "mod_cheese_regular", name: "Regular Cheese", price: 0 },
{ modifierId: "mod_cheese_extra", name: "Extra Cheese", price: 2.50 }
],
defaultModifierValue: "mod_cheese_regular",
min: 1,
max: 1,
required: true
};