@lyxa.ai/marketing 1.0.23 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/lib/index.d.ts +1293 -30
  2. package/dist/lib/index.d.ts.map +1 -1
  3. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +1298 -35
  4. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  5. package/dist/lib/modules/coupon/routers/coupon.router.js +8 -0
  6. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
  7. package/dist/lib/modules/coupon/services/coupon.service.d.ts +5 -0
  8. package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
  9. package/dist/lib/modules/coupon/services/coupon.service.js +110 -1
  10. package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
  11. package/dist/lib/modules/coupon/services/index.d.ts +1 -0
  12. package/dist/lib/modules/coupon/services/index.d.ts.map +1 -1
  13. package/dist/lib/modules/coupon/services/index.js +1 -0
  14. package/dist/lib/modules/coupon/services/index.js.map +1 -1
  15. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts +1 -0
  16. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  17. package/dist/lib/modules/coupon/services/individual-store-coupon.service.js +15 -1
  18. package/dist/lib/modules/coupon/services/individual-store-coupon.service.js.map +1 -1
  19. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts +14 -0
  20. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -0
  21. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.js +135 -0
  22. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.js.map +1 -0
  23. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts +52 -1
  24. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
  25. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +998 -31
  26. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  27. package/dist/lib/modules/coupon/validations/all-coupons.validation.js +2 -0
  28. package/dist/lib/modules/coupon/validations/all-coupons.validation.js.map +1 -1
  29. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +11 -0
  30. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  31. package/dist/lib/modules/coupon/validations/coupon.validation.js +5 -1
  32. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
  33. package/dist/lib/modules/coupon/validations/index.d.ts +1 -0
  34. package/dist/lib/modules/coupon/validations/index.d.ts.map +1 -1
  35. package/dist/lib/modules/coupon/validations/index.js +1 -0
  36. package/dist/lib/modules/coupon/validations/index.js.map +1 -1
  37. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts +19 -19
  38. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -1
  39. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.js +3 -3
  40. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.js.map +1 -1
  41. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.d.ts +439 -0
  42. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.d.ts.map +1 -0
  43. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.js +22 -0
  44. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.js.map +1 -0
  45. package/dist/types/index.d.ts +1293 -30
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/types/modules/coupon/routers/coupon.router.d.ts +1298 -35
  48. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  49. package/dist/types/modules/coupon/services/coupon.service.d.ts +5 -0
  50. package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
  51. package/dist/types/modules/coupon/services/index.d.ts +1 -0
  52. package/dist/types/modules/coupon/services/index.d.ts.map +1 -1
  53. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts +1 -0
  54. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  55. package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts +23 -0
  56. package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -0
  57. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts +52 -1
  58. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
  59. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +998 -31
  60. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  61. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +11 -0
  62. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  63. package/dist/types/modules/coupon/validations/index.d.ts +1 -0
  64. package/dist/types/modules/coupon/validations/index.d.ts.map +1 -1
  65. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts +19 -19
  66. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -1
  67. package/dist/types/modules/coupon/validations/shops-categories-coupon.validation.d.ts +448 -0
  68. package/dist/types/modules/coupon/validations/shops-categories-coupon.validation.d.ts.map +1 -0
  69. package/package.json +2 -2
  70. package/dist/lib/modules/loyalty-point-setting/routers/index.d.ts +0 -2
  71. package/dist/lib/modules/loyalty-point-setting/routers/index.d.ts.map +0 -1
  72. package/dist/lib/modules/loyalty-point-setting/routers/index.js +0 -18
  73. package/dist/lib/modules/loyalty-point-setting/routers/index.js.map +0 -1
  74. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts +0 -321
  75. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts.map +0 -1
  76. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.js +0 -82
  77. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.js.map +0 -1
  78. package/dist/lib/modules/loyalty-point-setting/services/index.d.ts +0 -3
  79. package/dist/lib/modules/loyalty-point-setting/services/index.d.ts.map +0 -1
  80. package/dist/lib/modules/loyalty-point-setting/services/index.js +0 -19
  81. package/dist/lib/modules/loyalty-point-setting/services/index.js.map +0 -1
  82. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts +0 -16
  83. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts.map +0 -1
  84. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.js +0 -133
  85. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.js.map +0 -1
  86. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts +0 -16
  87. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts.map +0 -1
  88. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.js +0 -156
  89. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.js.map +0 -1
  90. package/dist/lib/modules/loyalty-point-setting/transformers/index.d.ts +0 -3
  91. package/dist/lib/modules/loyalty-point-setting/transformers/index.d.ts.map +0 -1
  92. package/dist/lib/modules/loyalty-point-setting/transformers/index.js +0 -19
  93. package/dist/lib/modules/loyalty-point-setting/transformers/index.js.map +0 -1
  94. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts +0 -8
  95. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts.map +0 -1
  96. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.js +0 -7
  97. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.js.map +0 -1
  98. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts +0 -9
  99. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts.map +0 -1
  100. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.js +0 -7
  101. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.js.map +0 -1
  102. package/dist/lib/modules/loyalty-point-setting/validations/index.d.ts +0 -3
  103. package/dist/lib/modules/loyalty-point-setting/validations/index.d.ts.map +0 -1
  104. package/dist/lib/modules/loyalty-point-setting/validations/index.js +0 -19
  105. package/dist/lib/modules/loyalty-point-setting/validations/index.js.map +0 -1
  106. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts +0 -170
  107. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts.map +0 -1
  108. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.js +0 -19
  109. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.js.map +0 -1
  110. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts +0 -188
  111. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts.map +0 -1
  112. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.js +0 -19
  113. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.js.map +0 -1
  114. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.d.ts +0 -12
  115. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.d.ts.map +0 -1
  116. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.js +0 -149
  117. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.js.map +0 -1
  118. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts +0 -47
  119. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts.map +0 -1
  120. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.js +0 -7
  121. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.js.map +0 -1
  122. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.d.ts +0 -504
  123. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.d.ts.map +0 -1
  124. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.js +0 -34
  125. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.js.map +0 -1
  126. package/dist/types/modules/loyalty-point-setting/routers/index.d.ts +0 -2
  127. package/dist/types/modules/loyalty-point-setting/routers/index.d.ts.map +0 -1
  128. package/dist/types/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts +0 -321
  129. package/dist/types/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts.map +0 -1
  130. package/dist/types/modules/loyalty-point-setting/services/index.d.ts +0 -3
  131. package/dist/types/modules/loyalty-point-setting/services/index.d.ts.map +0 -1
  132. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts +0 -37
  133. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts.map +0 -1
  134. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts +0 -34
  135. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts.map +0 -1
  136. package/dist/types/modules/loyalty-point-setting/transformers/index.d.ts +0 -3
  137. package/dist/types/modules/loyalty-point-setting/transformers/index.d.ts.map +0 -1
  138. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts +0 -8
  139. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts.map +0 -1
  140. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts +0 -9
  141. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts.map +0 -1
  142. package/dist/types/modules/loyalty-point-setting/validations/index.d.ts +0 -3
  143. package/dist/types/modules/loyalty-point-setting/validations/index.d.ts.map +0 -1
  144. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts +0 -179
  145. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts.map +0 -1
  146. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts +0 -197
  147. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts.map +0 -1
  148. package/dist/types/modules/marketing/services/loyalty-point-marketing.service.d.ts +0 -21
  149. package/dist/types/modules/marketing/services/loyalty-point-marketing.service.d.ts.map +0 -1
  150. package/dist/types/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts +0 -47
  151. package/dist/types/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts.map +0 -1
  152. package/dist/types/modules/marketing/validations/loyalty-point-marketing.validation.d.ts +0 -513
  153. package/dist/types/modules/marketing/validations/loyalty-point-marketing.validation.d.ts.map +0 -1
@@ -96,7 +96,7 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
96
96
  end?: string | Date | undefined;
97
97
  };
98
98
  valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
99
- couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
99
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
100
100
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
101
101
  spendLimit?: number | null | undefined;
102
102
  isSpendLimitEnabled?: boolean | undefined;
@@ -121,6 +121,40 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
121
121
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
122
122
  shops?: (string | mongoose.Types.ObjectId)[] | undefined;
123
123
  isShopCoverExpenses?: boolean | undefined;
124
+ firstOrderOnly?: boolean | undefined;
125
+ } | {
126
+ shop: string | mongoose.Types.ObjectId;
127
+ value: number;
128
+ code: string;
129
+ duration: {
130
+ start: string | Date;
131
+ end?: string | Date | undefined;
132
+ };
133
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
134
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
135
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
136
+ spendLimit?: number | null | undefined;
137
+ isSpendLimitEnabled?: boolean | undefined;
138
+ secondaryCurrencyValue?: number | undefined;
139
+ maxDiscountLimit?: number | null | undefined;
140
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
141
+ isMaxDiscountLimitEnabled?: boolean | undefined;
142
+ totalOrderLimit?: number | null | undefined;
143
+ isTotalOrderLimitEnabled?: boolean | undefined;
144
+ minOrderValue?: number | null | undefined;
145
+ secondaryCurrencyMinOrderValue?: number | undefined;
146
+ isMinOrderValueEnabled?: boolean | undefined;
147
+ forNewUserOnly?: boolean | undefined;
148
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
149
+ referringUser?: {
150
+ name?: string | undefined;
151
+ } | undefined;
152
+ orderLimitPerUser?: number | null | undefined;
153
+ isOrderLimitPerUserEnabled?: boolean | undefined;
154
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
155
+ isExpired?: boolean | undefined;
156
+ isShopCoverExpenses?: boolean | undefined;
157
+ firstOrderOnly?: boolean | undefined;
124
158
  } | {
125
159
  value: number;
126
160
  code: string;
@@ -298,10 +332,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
298
332
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
299
333
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
300
334
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
301
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
335
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
302
336
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
303
337
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
304
338
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
339
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
340
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
341
+ value: z.ZodOptional<z.ZodNumber>;
342
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
343
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
344
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
345
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
346
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
347
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
348
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
349
+ }, "strip", z.ZodTypeAny, {
350
+ start: Date;
351
+ end?: Date | undefined;
352
+ }, {
353
+ start: string | Date;
354
+ end?: string | Date | undefined;
355
+ }>, {
356
+ start: Date;
357
+ end?: Date | undefined;
358
+ }, {
359
+ start: string | Date;
360
+ end?: string | Date | undefined;
361
+ }>>;
362
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
363
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
364
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
365
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
366
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
367
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
368
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
369
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
370
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
371
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
372
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
373
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
374
+ }, "strip", z.ZodTypeAny, {
375
+ name?: string | undefined;
376
+ }, {
377
+ name?: string | undefined;
378
+ }>>>;
379
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
380
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
381
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
382
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
383
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
384
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
385
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
386
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
387
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
388
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
389
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
305
390
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
306
391
  value: z.ZodOptional<z.ZodNumber>;
307
392
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -555,10 +640,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
555
640
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
556
641
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
557
642
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
558
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
643
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
559
644
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
560
645
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
561
646
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
647
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
648
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
649
+ value: z.ZodOptional<z.ZodNumber>;
650
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
651
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
652
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
653
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
654
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
655
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
656
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
657
+ }, "strip", z.ZodTypeAny, {
658
+ start: Date;
659
+ end?: Date | undefined;
660
+ }, {
661
+ start: string | Date;
662
+ end?: string | Date | undefined;
663
+ }>, {
664
+ start: Date;
665
+ end?: Date | undefined;
666
+ }, {
667
+ start: string | Date;
668
+ end?: string | Date | undefined;
669
+ }>>;
670
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
671
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
672
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
673
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
674
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
675
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
676
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
677
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
678
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
679
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
680
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
681
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
682
+ }, "strip", z.ZodTypeAny, {
683
+ name?: string | undefined;
684
+ }, {
685
+ name?: string | undefined;
686
+ }>>>;
687
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
688
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
689
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
690
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
691
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
692
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
693
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
694
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
695
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
696
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
697
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
562
698
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
563
699
  value: z.ZodOptional<z.ZodNumber>;
564
700
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -827,10 +963,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
827
963
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
828
964
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
829
965
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
830
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
966
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
831
967
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
832
968
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
833
969
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
970
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
971
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
972
+ value: z.ZodOptional<z.ZodNumber>;
973
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
974
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
975
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
976
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
977
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
978
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
979
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
980
+ }, "strip", z.ZodTypeAny, {
981
+ start: Date;
982
+ end?: Date | undefined;
983
+ }, {
984
+ start: string | Date;
985
+ end?: string | Date | undefined;
986
+ }>, {
987
+ start: Date;
988
+ end?: Date | undefined;
989
+ }, {
990
+ start: string | Date;
991
+ end?: string | Date | undefined;
992
+ }>>;
993
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
994
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
995
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
996
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
997
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
998
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
999
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1000
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1001
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1002
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1003
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1004
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1005
+ }, "strip", z.ZodTypeAny, {
1006
+ name?: string | undefined;
1007
+ }, {
1008
+ name?: string | undefined;
1009
+ }>>>;
1010
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1011
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1012
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1013
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1014
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1015
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1016
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1017
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1018
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1019
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1020
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
834
1021
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
835
1022
  value: z.ZodOptional<z.ZodNumber>;
836
1023
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -1084,10 +1271,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1084
1271
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1085
1272
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1086
1273
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1087
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1274
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
1088
1275
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1089
1276
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1090
1277
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1278
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1279
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1280
+ value: z.ZodOptional<z.ZodNumber>;
1281
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1282
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1283
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1284
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1285
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1286
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
1287
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
1288
+ }, "strip", z.ZodTypeAny, {
1289
+ start: Date;
1290
+ end?: Date | undefined;
1291
+ }, {
1292
+ start: string | Date;
1293
+ end?: string | Date | undefined;
1294
+ }>, {
1295
+ start: Date;
1296
+ end?: Date | undefined;
1297
+ }, {
1298
+ start: string | Date;
1299
+ end?: string | Date | undefined;
1300
+ }>>;
1301
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1302
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1303
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1304
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1305
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1306
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1307
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1308
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1309
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1310
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1311
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1312
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1313
+ }, "strip", z.ZodTypeAny, {
1314
+ name?: string | undefined;
1315
+ }, {
1316
+ name?: string | undefined;
1317
+ }>>>;
1318
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1319
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1320
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1321
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1322
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1323
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1324
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1325
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1326
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1327
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1328
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1091
1329
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1092
1330
  value: z.ZodOptional<z.ZodNumber>;
1093
1331
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -1367,10 +1605,11 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1367
1605
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1368
1606
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1369
1607
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1370
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1608
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
1371
1609
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1372
1610
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1373
1611
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1612
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1374
1613
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1375
1614
  value: z.ZodOptional<z.ZodNumber>;
1376
1615
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -1417,10 +1656,10 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1417
1656
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1418
1657
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1419
1658
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1420
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1421
- users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
1422
- itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1423
- shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1659
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1660
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1661
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1662
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1424
1663
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1425
1664
  value: z.ZodOptional<z.ZodNumber>;
1426
1665
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -1467,8 +1706,8 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1467
1706
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1468
1707
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1469
1708
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1470
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1471
- influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1709
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1710
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
1472
1711
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1473
1712
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1474
1713
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
@@ -1516,22 +1755,72 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1516
1755
  createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1517
1756
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1518
1757
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1519
- }, z.ZodTypeAny, "passthrough"> | {
1520
- documents: (z.objectInputType<{
1521
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
1522
- valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1523
- value: z.ZodOptional<z.ZodNumber>;
1524
- secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1525
- maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1526
- secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1527
- isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1528
- duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1529
- start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
1530
- end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
1531
- }, "strip", z.ZodTypeAny, {
1532
- start: Date;
1533
- end?: Date | undefined;
1534
- }, {
1758
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1759
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1760
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1761
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1762
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1763
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1764
+ value: z.ZodOptional<z.ZodNumber>;
1765
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1766
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1767
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1768
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1769
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1770
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
1771
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
1772
+ }, "strip", z.ZodTypeAny, {
1773
+ start: Date;
1774
+ end?: Date | undefined;
1775
+ }, {
1776
+ start: string | Date;
1777
+ end?: string | Date | undefined;
1778
+ }>, {
1779
+ start: Date;
1780
+ end?: Date | undefined;
1781
+ }, {
1782
+ start: string | Date;
1783
+ end?: string | Date | undefined;
1784
+ }>>;
1785
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1786
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1787
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1788
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1789
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1790
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1791
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1792
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1793
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1794
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1795
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1796
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1797
+ }, "strip", z.ZodTypeAny, {
1798
+ name?: string | undefined;
1799
+ }, {
1800
+ name?: string | undefined;
1801
+ }>>>;
1802
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1803
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1804
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1805
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1806
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1807
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1808
+ }, z.ZodTypeAny, "passthrough"> | {
1809
+ documents: (z.objectInputType<{
1810
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
1811
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1812
+ value: z.ZodOptional<z.ZodNumber>;
1813
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1814
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1815
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1816
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1817
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1818
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
1819
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
1820
+ }, "strip", z.ZodTypeAny, {
1821
+ start: Date;
1822
+ end?: Date | undefined;
1823
+ }, {
1535
1824
  start: string | Date;
1536
1825
  end?: string | Date | undefined;
1537
1826
  }>, {
@@ -1624,10 +1913,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1624
1913
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1625
1914
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1626
1915
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1627
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1916
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
1628
1917
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1629
1918
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1630
1919
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1920
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1921
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1922
+ value: z.ZodOptional<z.ZodNumber>;
1923
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1924
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1925
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1926
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1927
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1928
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
1929
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
1930
+ }, "strip", z.ZodTypeAny, {
1931
+ start: Date;
1932
+ end?: Date | undefined;
1933
+ }, {
1934
+ start: string | Date;
1935
+ end?: string | Date | undefined;
1936
+ }>, {
1937
+ start: Date;
1938
+ end?: Date | undefined;
1939
+ }, {
1940
+ start: string | Date;
1941
+ end?: string | Date | undefined;
1942
+ }>>;
1943
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1944
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1945
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1946
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1947
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1948
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1949
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1950
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1951
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1952
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1953
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1954
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1955
+ }, "strip", z.ZodTypeAny, {
1956
+ name?: string | undefined;
1957
+ }, {
1958
+ name?: string | undefined;
1959
+ }>>>;
1960
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1961
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1962
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1963
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1964
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1965
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1966
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1967
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1968
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1969
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1970
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1631
1971
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1632
1972
  value: z.ZodOptional<z.ZodNumber>;
1633
1973
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -1866,7 +2206,7 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1866
2206
  end?: string | Date | undefined;
1867
2207
  };
1868
2208
  valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1869
- couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
2209
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
1870
2210
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1871
2211
  spendLimit?: number | null | undefined;
1872
2212
  isSpendLimitEnabled?: boolean | undefined;
@@ -1891,6 +2231,40 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1891
2231
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1892
2232
  shops?: (string | mongoose.Types.ObjectId)[] | undefined;
1893
2233
  isShopCoverExpenses?: boolean | undefined;
2234
+ firstOrderOnly?: boolean | undefined;
2235
+ } | {
2236
+ shop: string | mongoose.Types.ObjectId;
2237
+ value: number;
2238
+ code: string;
2239
+ duration: {
2240
+ start: string | Date;
2241
+ end?: string | Date | undefined;
2242
+ };
2243
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2244
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
2245
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
2246
+ spendLimit?: number | null | undefined;
2247
+ isSpendLimitEnabled?: boolean | undefined;
2248
+ secondaryCurrencyValue?: number | undefined;
2249
+ maxDiscountLimit?: number | null | undefined;
2250
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
2251
+ isMaxDiscountLimitEnabled?: boolean | undefined;
2252
+ totalOrderLimit?: number | null | undefined;
2253
+ isTotalOrderLimitEnabled?: boolean | undefined;
2254
+ minOrderValue?: number | null | undefined;
2255
+ secondaryCurrencyMinOrderValue?: number | undefined;
2256
+ isMinOrderValueEnabled?: boolean | undefined;
2257
+ forNewUserOnly?: boolean | undefined;
2258
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
2259
+ referringUser?: {
2260
+ name?: string | undefined;
2261
+ } | undefined;
2262
+ orderLimitPerUser?: number | null | undefined;
2263
+ isOrderLimitPerUserEnabled?: boolean | undefined;
2264
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
2265
+ isExpired?: boolean | undefined;
2266
+ isShopCoverExpenses?: boolean | undefined;
2267
+ firstOrderOnly?: boolean | undefined;
1894
2268
  } | {
1895
2269
  value: number;
1896
2270
  code: string;
@@ -2069,10 +2443,695 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
2069
2443
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2070
2444
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2071
2445
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2072
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2446
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
2447
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2448
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2449
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2450
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2451
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2452
+ value: z.ZodOptional<z.ZodNumber>;
2453
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2454
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2455
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2456
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2457
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2458
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2459
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2460
+ }, "strip", z.ZodTypeAny, {
2461
+ start: Date;
2462
+ end?: Date | undefined;
2463
+ }, {
2464
+ start: string | Date;
2465
+ end?: string | Date | undefined;
2466
+ }>, {
2467
+ start: Date;
2468
+ end?: Date | undefined;
2469
+ }, {
2470
+ start: string | Date;
2471
+ end?: string | Date | undefined;
2472
+ }>>;
2473
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2474
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2475
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2476
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2477
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2478
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2479
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2480
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2481
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2482
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2483
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2484
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2485
+ }, "strip", z.ZodTypeAny, {
2486
+ name?: string | undefined;
2487
+ }, {
2488
+ name?: string | undefined;
2489
+ }>>>;
2490
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2491
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2492
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2493
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2494
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2495
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2496
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2497
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2498
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2499
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2500
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2501
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2502
+ value: z.ZodOptional<z.ZodNumber>;
2503
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2504
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2505
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2506
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2507
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2508
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2509
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2510
+ }, "strip", z.ZodTypeAny, {
2511
+ start: Date;
2512
+ end?: Date | undefined;
2513
+ }, {
2514
+ start: string | Date;
2515
+ end?: string | Date | undefined;
2516
+ }>, {
2517
+ start: Date;
2518
+ end?: Date | undefined;
2519
+ }, {
2520
+ start: string | Date;
2521
+ end?: string | Date | undefined;
2522
+ }>>;
2523
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2524
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2525
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2526
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2527
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2528
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2529
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2530
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2531
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2532
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2533
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2534
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2535
+ }, "strip", z.ZodTypeAny, {
2536
+ name?: string | undefined;
2537
+ }, {
2538
+ name?: string | undefined;
2539
+ }>>>;
2540
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2541
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2542
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2543
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2544
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2545
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2546
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2547
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2548
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
2549
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2550
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2551
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2552
+ value: z.ZodOptional<z.ZodNumber>;
2553
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2554
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2555
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2556
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2557
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2558
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2559
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2560
+ }, "strip", z.ZodTypeAny, {
2561
+ start: Date;
2562
+ end?: Date | undefined;
2563
+ }, {
2564
+ start: string | Date;
2565
+ end?: string | Date | undefined;
2566
+ }>, {
2567
+ start: Date;
2568
+ end?: Date | undefined;
2569
+ }, {
2570
+ start: string | Date;
2571
+ end?: string | Date | undefined;
2572
+ }>>;
2573
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2574
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2575
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2576
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2577
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2578
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2579
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2580
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2581
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2582
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2583
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2584
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2585
+ }, "strip", z.ZodTypeAny, {
2586
+ name?: string | undefined;
2587
+ }, {
2588
+ name?: string | undefined;
2589
+ }>>>;
2590
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2591
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2592
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2593
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2594
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2595
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2596
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2597
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2598
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2599
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2600
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2601
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2602
+ value: z.ZodOptional<z.ZodNumber>;
2603
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2604
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2605
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2606
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2607
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2608
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2609
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2610
+ }, "strip", z.ZodTypeAny, {
2611
+ start: Date;
2612
+ end?: Date | undefined;
2613
+ }, {
2614
+ start: string | Date;
2615
+ end?: string | Date | undefined;
2616
+ }>, {
2617
+ start: Date;
2618
+ end?: Date | undefined;
2619
+ }, {
2620
+ start: string | Date;
2621
+ end?: string | Date | undefined;
2622
+ }>>;
2623
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2624
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2625
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2626
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2627
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2628
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2629
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2630
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2631
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2632
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2633
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2634
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2635
+ }, "strip", z.ZodTypeAny, {
2636
+ name?: string | undefined;
2637
+ }, {
2638
+ name?: string | undefined;
2639
+ }>>>;
2640
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2641
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2642
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2643
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2644
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2645
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2646
+ }, z.ZodTypeAny, "passthrough"> | {
2647
+ documents: (z.objectInputType<{
2648
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2649
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2650
+ value: z.ZodOptional<z.ZodNumber>;
2651
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2652
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2653
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2654
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2655
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2656
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2657
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2658
+ }, "strip", z.ZodTypeAny, {
2659
+ start: Date;
2660
+ end?: Date | undefined;
2661
+ }, {
2662
+ start: string | Date;
2663
+ end?: string | Date | undefined;
2664
+ }>, {
2665
+ start: Date;
2666
+ end?: Date | undefined;
2667
+ }, {
2668
+ start: string | Date;
2669
+ end?: string | Date | undefined;
2670
+ }>>;
2671
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2672
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2673
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2674
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2675
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2676
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2677
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2678
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2679
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2680
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2681
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2682
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2683
+ }, "strip", z.ZodTypeAny, {
2684
+ name?: string | undefined;
2685
+ }, {
2686
+ name?: string | undefined;
2687
+ }>>>;
2688
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2689
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2690
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2691
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2692
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2693
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2694
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2695
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2696
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2697
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2698
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2699
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2700
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2701
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2702
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2703
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2704
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2705
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2706
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2707
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2708
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2709
+ value: z.ZodOptional<z.ZodNumber>;
2710
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2711
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2712
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2713
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2714
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2715
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2716
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2717
+ }, "strip", z.ZodTypeAny, {
2718
+ start: Date;
2719
+ end?: Date | undefined;
2720
+ }, {
2721
+ start: string | Date;
2722
+ end?: string | Date | undefined;
2723
+ }>, {
2724
+ start: Date;
2725
+ end?: Date | undefined;
2726
+ }, {
2727
+ start: string | Date;
2728
+ end?: string | Date | undefined;
2729
+ }>>;
2730
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2731
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2732
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2733
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2734
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2735
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2736
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2737
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2738
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2739
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2740
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2741
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2742
+ }, "strip", z.ZodTypeAny, {
2743
+ name?: string | undefined;
2744
+ }, {
2745
+ name?: string | undefined;
2746
+ }>>>;
2747
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2748
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2749
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2750
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2751
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2752
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2753
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2754
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
2755
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2756
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2757
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2758
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2759
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2760
+ value: z.ZodOptional<z.ZodNumber>;
2761
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2762
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2763
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2764
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2765
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2766
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2767
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2768
+ }, "strip", z.ZodTypeAny, {
2769
+ start: Date;
2770
+ end?: Date | undefined;
2771
+ }, {
2772
+ start: string | Date;
2773
+ end?: string | Date | undefined;
2774
+ }>, {
2775
+ start: Date;
2776
+ end?: Date | undefined;
2777
+ }, {
2778
+ start: string | Date;
2779
+ end?: string | Date | undefined;
2780
+ }>>;
2781
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2782
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2783
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2784
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2785
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2786
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2787
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2788
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2789
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2790
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2791
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2792
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2793
+ }, "strip", z.ZodTypeAny, {
2794
+ name?: string | undefined;
2795
+ }, {
2796
+ name?: string | undefined;
2797
+ }>>>;
2798
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2799
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2800
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2801
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2802
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2803
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2804
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2805
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2806
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2807
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2808
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2809
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2810
+ value: z.ZodOptional<z.ZodNumber>;
2811
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2812
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2813
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2814
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2815
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2816
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2817
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2818
+ }, "strip", z.ZodTypeAny, {
2819
+ start: Date;
2820
+ end?: Date | undefined;
2821
+ }, {
2822
+ start: string | Date;
2823
+ end?: string | Date | undefined;
2824
+ }>, {
2825
+ start: Date;
2826
+ end?: Date | undefined;
2827
+ }, {
2828
+ start: string | Date;
2829
+ end?: string | Date | undefined;
2830
+ }>>;
2831
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2832
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2833
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2834
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2835
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2836
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2837
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2838
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2839
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2840
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2841
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2842
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2843
+ }, "strip", z.ZodTypeAny, {
2844
+ name?: string | undefined;
2845
+ }, {
2846
+ name?: string | undefined;
2847
+ }>>>;
2848
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2849
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2850
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2851
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2852
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2853
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2854
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2855
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2856
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
2857
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2858
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2859
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2860
+ value: z.ZodOptional<z.ZodNumber>;
2861
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2862
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2863
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2864
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2865
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2866
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2867
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2868
+ }, "strip", z.ZodTypeAny, {
2869
+ start: Date;
2870
+ end?: Date | undefined;
2871
+ }, {
2872
+ start: string | Date;
2873
+ end?: string | Date | undefined;
2874
+ }>, {
2875
+ start: Date;
2876
+ end?: Date | undefined;
2877
+ }, {
2878
+ start: string | Date;
2879
+ end?: string | Date | undefined;
2880
+ }>>;
2881
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2882
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2883
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2884
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2885
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2886
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2887
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2888
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2889
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2890
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2891
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2892
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2893
+ }, "strip", z.ZodTypeAny, {
2894
+ name?: string | undefined;
2895
+ }, {
2896
+ name?: string | undefined;
2897
+ }>>>;
2898
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2899
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2900
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2901
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2902
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2903
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2904
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2905
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2906
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2907
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2908
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2909
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2910
+ value: z.ZodOptional<z.ZodNumber>;
2911
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2912
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2913
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2914
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2915
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2916
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2917
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2918
+ }, "strip", z.ZodTypeAny, {
2919
+ start: Date;
2920
+ end?: Date | undefined;
2921
+ }, {
2922
+ start: string | Date;
2923
+ end?: string | Date | undefined;
2924
+ }>, {
2925
+ start: Date;
2926
+ end?: Date | undefined;
2927
+ }, {
2928
+ start: string | Date;
2929
+ end?: string | Date | undefined;
2930
+ }>>;
2931
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2932
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2933
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2934
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2935
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2936
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2937
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2938
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2939
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2940
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2941
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2942
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2943
+ }, "strip", z.ZodTypeAny, {
2944
+ name?: string | undefined;
2945
+ }, {
2946
+ name?: string | undefined;
2947
+ }>>>;
2948
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2949
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2950
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2951
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2952
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2953
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2954
+ }, z.ZodTypeAny, "passthrough">)[];
2955
+ metadata?: {
2956
+ page: number;
2957
+ size: number;
2958
+ totalElements: number;
2959
+ totalPages: number;
2960
+ } | undefined;
2961
+ } | undefined;
2962
+ };
2963
+ meta: object;
2964
+ }>;
2965
+ updateStatus: import("@trpc/server").TRPCMutationProcedure<{
2966
+ input: {
2967
+ _id: string | mongoose.Types.ObjectId;
2968
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
2969
+ };
2970
+ output: {
2971
+ message: string;
2972
+ success: boolean;
2973
+ data?: z.objectInputType<{
2974
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2975
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2976
+ value: z.ZodOptional<z.ZodNumber>;
2977
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2978
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2979
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2980
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2981
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2982
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
2983
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
2984
+ }, "strip", z.ZodTypeAny, {
2985
+ start: Date;
2986
+ end?: Date | undefined;
2987
+ }, {
2988
+ start: string | Date;
2989
+ end?: string | Date | undefined;
2990
+ }>, {
2991
+ start: Date;
2992
+ end?: Date | undefined;
2993
+ }, {
2994
+ start: string | Date;
2995
+ end?: string | Date | undefined;
2996
+ }>>;
2997
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2998
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2999
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3000
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3001
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3002
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3003
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3004
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3005
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3006
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3007
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3008
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3009
+ }, "strip", z.ZodTypeAny, {
3010
+ name?: string | undefined;
3011
+ }, {
3012
+ name?: string | undefined;
3013
+ }>>>;
3014
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3015
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3016
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3017
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
3018
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3019
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3020
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3021
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3022
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3023
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3024
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3025
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3026
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
3027
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3028
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3029
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3030
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3031
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3032
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3033
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3034
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3035
+ value: z.ZodOptional<z.ZodNumber>;
3036
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3037
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3038
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3039
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3040
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3041
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
3042
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
3043
+ }, "strip", z.ZodTypeAny, {
3044
+ start: Date;
3045
+ end?: Date | undefined;
3046
+ }, {
3047
+ start: string | Date;
3048
+ end?: string | Date | undefined;
3049
+ }>, {
3050
+ start: Date;
3051
+ end?: Date | undefined;
3052
+ }, {
3053
+ start: string | Date;
3054
+ end?: string | Date | undefined;
3055
+ }>>;
3056
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3057
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3058
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3059
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3060
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3061
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3062
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3063
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3064
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3065
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3066
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3067
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3068
+ }, "strip", z.ZodTypeAny, {
3069
+ name?: string | undefined;
3070
+ }, {
3071
+ name?: string | undefined;
3072
+ }>>>;
3073
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3074
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3075
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3076
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
3077
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3078
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3079
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3080
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
2073
3081
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2074
3082
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2075
3083
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3084
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3085
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3086
+ value: z.ZodOptional<z.ZodNumber>;
3087
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3088
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3089
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3090
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3091
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3092
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
3093
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
3094
+ }, "strip", z.ZodTypeAny, {
3095
+ start: Date;
3096
+ end?: Date | undefined;
3097
+ }, {
3098
+ start: string | Date;
3099
+ end?: string | Date | undefined;
3100
+ }>, {
3101
+ start: Date;
3102
+ end?: Date | undefined;
3103
+ }, {
3104
+ start: string | Date;
3105
+ end?: string | Date | undefined;
3106
+ }>>;
3107
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3108
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3109
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3110
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3111
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3112
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3113
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3114
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3115
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3116
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3117
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3118
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3119
+ }, "strip", z.ZodTypeAny, {
3120
+ name?: string | undefined;
3121
+ }, {
3122
+ name?: string | undefined;
3123
+ }>>>;
3124
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3125
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3126
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3127
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
3128
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3129
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3130
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3131
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3132
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3133
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3134
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2076
3135
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2077
3136
  value: z.ZodOptional<z.ZodNumber>;
2078
3137
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -2326,10 +3385,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
2326
3385
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2327
3386
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2328
3387
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2329
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3388
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
2330
3389
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2331
3390
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2332
3391
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3392
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3393
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3394
+ value: z.ZodOptional<z.ZodNumber>;
3395
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3396
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3397
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3398
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3399
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3400
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
3401
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
3402
+ }, "strip", z.ZodTypeAny, {
3403
+ start: Date;
3404
+ end?: Date | undefined;
3405
+ }, {
3406
+ start: string | Date;
3407
+ end?: string | Date | undefined;
3408
+ }>, {
3409
+ start: Date;
3410
+ end?: Date | undefined;
3411
+ }, {
3412
+ start: string | Date;
3413
+ end?: string | Date | undefined;
3414
+ }>>;
3415
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3416
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3417
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3418
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3419
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3420
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3421
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3422
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3423
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3424
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3425
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3426
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3427
+ }, "strip", z.ZodTypeAny, {
3428
+ name?: string | undefined;
3429
+ }, {
3430
+ name?: string | undefined;
3431
+ }>>>;
3432
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3433
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3434
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3435
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
3436
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3437
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3438
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3439
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3440
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3441
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3442
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2333
3443
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2334
3444
  value: z.ZodOptional<z.ZodNumber>;
2335
3445
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -2601,10 +3711,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
2601
3711
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2602
3712
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2603
3713
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2604
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3714
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
2605
3715
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2606
3716
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2607
3717
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3718
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3719
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3720
+ value: z.ZodOptional<z.ZodNumber>;
3721
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3722
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3723
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3724
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3725
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3726
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
3727
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
3728
+ }, "strip", z.ZodTypeAny, {
3729
+ start: Date;
3730
+ end?: Date | undefined;
3731
+ }, {
3732
+ start: string | Date;
3733
+ end?: string | Date | undefined;
3734
+ }>, {
3735
+ start: Date;
3736
+ end?: Date | undefined;
3737
+ }, {
3738
+ start: string | Date;
3739
+ end?: string | Date | undefined;
3740
+ }>>;
3741
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3742
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3743
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3744
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3745
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3746
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3747
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3748
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3749
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3750
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3751
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3752
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3753
+ }, "strip", z.ZodTypeAny, {
3754
+ name?: string | undefined;
3755
+ }, {
3756
+ name?: string | undefined;
3757
+ }>>>;
3758
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3759
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3760
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3761
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
3762
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3763
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3764
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3765
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3766
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3767
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3768
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2608
3769
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2609
3770
  value: z.ZodOptional<z.ZodNumber>;
2610
3771
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -2858,10 +4019,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
2858
4019
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2859
4020
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2860
4021
  }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2861
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
4022
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
2862
4023
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2863
4024
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2864
4025
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4026
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4027
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4028
+ value: z.ZodOptional<z.ZodNumber>;
4029
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4030
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4031
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4032
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4033
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4034
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
4035
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
4036
+ }, "strip", z.ZodTypeAny, {
4037
+ start: Date;
4038
+ end?: Date | undefined;
4039
+ }, {
4040
+ start: string | Date;
4041
+ end?: string | Date | undefined;
4042
+ }>, {
4043
+ start: Date;
4044
+ end?: Date | undefined;
4045
+ }, {
4046
+ start: string | Date;
4047
+ end?: string | Date | undefined;
4048
+ }>>;
4049
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4050
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4051
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4052
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4053
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4054
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4055
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4056
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4057
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4058
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4059
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4060
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4061
+ }, "strip", z.ZodTypeAny, {
4062
+ name?: string | undefined;
4063
+ }, {
4064
+ name?: string | undefined;
4065
+ }>>>;
4066
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4067
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4068
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4069
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
4070
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4071
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
4072
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4073
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
4074
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
4075
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4076
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2865
4077
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2866
4078
  value: z.ZodOptional<z.ZodNumber>;
2867
4079
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -3152,10 +4364,61 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
3152
4364
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3153
4365
  _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
3154
4366
  }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
3155
- couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
4367
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
3156
4368
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3157
4369
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
3158
4370
  isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4371
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4372
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4373
+ value: z.ZodOptional<z.ZodNumber>;
4374
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4375
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4376
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4377
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4378
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4379
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
4380
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
4381
+ }, "strip", z.ZodTypeAny, {
4382
+ start: Date;
4383
+ end?: Date | undefined;
4384
+ }, {
4385
+ start: string | Date;
4386
+ end?: string | Date | undefined;
4387
+ }>, {
4388
+ start: Date;
4389
+ end?: Date | undefined;
4390
+ }, {
4391
+ start: string | Date;
4392
+ end?: string | Date | undefined;
4393
+ }>>;
4394
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4395
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4396
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4397
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4398
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4399
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4400
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4401
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4402
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4403
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4404
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4405
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4406
+ }, "strip", z.ZodTypeAny, {
4407
+ name?: string | undefined;
4408
+ }, {
4409
+ name?: string | undefined;
4410
+ }>>>;
4411
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4412
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4413
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4414
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
4415
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4416
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
4417
+ }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
4418
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
4419
+ shop: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
4420
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4421
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3159
4422
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3160
4423
  value: z.ZodOptional<z.ZodNumber>;
3161
4424
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;