import i18n from "i18next" import { z } from "zod" export const EditRules = z.object({ type: z.string().optional(), rules: z.array( z.object({ id: z.string().optional(), attribute: z .string() .min(1, { message: i18n.t("promotions.form.required") }), operator: z .string() .min(1, { message: i18n.t("promotions.form.required") }), values: z.union([ z.number().min(1, { message: i18n.t("promotions.form.required") }), z.string().min(1, { message: i18n.t("promotions.form.required") }), z .array(z.string()) .min(1, { message: i18n.t("promotions.form.required") }), ]), required: z.boolean().optional(), disguised: z.boolean().optional(), field_type: z.string().optional(), }) ), application_method: z.object({ target_type: z.enum(["order", "shipping_methods", "items"]), }), }) export type EditRulesType = z.infer