@lyxa.ai/marketing 1.0.14 → 1.0.16

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 (457) hide show
  1. package/dist/lib/events/event-initializations.d.ts +2 -0
  2. package/dist/lib/events/event-initializations.d.ts.map +1 -0
  3. package/dist/lib/events/event-initializations.js +5 -0
  4. package/dist/lib/events/event-initializations.js.map +1 -0
  5. package/dist/lib/index.d.ts +4436 -0
  6. package/dist/lib/index.d.ts.map +1 -0
  7. package/dist/lib/index.js.map +1 -0
  8. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +3063 -0
  9. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -0
  10. package/dist/lib/modules/coupon/routers/coupon.router.js +106 -0
  11. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -0
  12. package/dist/lib/modules/coupon/routers/index.d.ts +2 -0
  13. package/dist/lib/modules/coupon/routers/index.d.ts.map +1 -0
  14. package/dist/lib/modules/coupon/routers/index.js +18 -0
  15. package/dist/lib/modules/coupon/routers/index.js.map +1 -0
  16. package/dist/lib/modules/coupon/services/coupon.service.d.ts +42 -0
  17. package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -0
  18. package/dist/lib/modules/coupon/services/coupon.service.js +686 -0
  19. package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -0
  20. package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts +12 -0
  21. package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts.map +1 -0
  22. package/dist/lib/modules/coupon/services/custom-coupon.service.js +103 -0
  23. package/dist/lib/modules/coupon/services/custom-coupon.service.js.map +1 -0
  24. package/dist/lib/modules/coupon/services/global-coupon.service.d.ts +12 -0
  25. package/dist/lib/modules/coupon/services/global-coupon.service.d.ts.map +1 -0
  26. package/dist/lib/modules/coupon/services/global-coupon.service.js +120 -0
  27. package/dist/lib/modules/coupon/services/global-coupon.service.js.map +1 -0
  28. package/dist/lib/modules/coupon/services/index.d.ts +8 -0
  29. package/dist/lib/modules/coupon/services/index.d.ts.map +1 -0
  30. package/dist/lib/modules/coupon/services/index.js +24 -0
  31. package/dist/lib/modules/coupon/services/index.js.map +1 -0
  32. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts +13 -0
  33. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -0
  34. package/dist/lib/modules/coupon/services/individual-store-coupon.service.js +120 -0
  35. package/dist/lib/modules/coupon/services/individual-store-coupon.service.js.map +1 -0
  36. package/dist/lib/modules/coupon/services/individual-user-coupon.service.d.ts +12 -0
  37. package/dist/lib/modules/coupon/services/individual-user-coupon.service.d.ts.map +1 -0
  38. package/dist/lib/modules/coupon/services/individual-user-coupon.service.js +111 -0
  39. package/dist/lib/modules/coupon/services/individual-user-coupon.service.js.map +1 -0
  40. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts +12 -0
  41. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -0
  42. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +313 -0
  43. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -0
  44. package/dist/lib/modules/coupon/services/referral-code-coupon.service.d.ts +19 -0
  45. package/dist/lib/modules/coupon/services/referral-code-coupon.service.d.ts.map +1 -0
  46. package/dist/lib/modules/coupon/services/referral-code-coupon.service.js +179 -0
  47. package/dist/lib/modules/coupon/services/referral-code-coupon.service.js.map +1 -0
  48. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts +19 -0
  49. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -0
  50. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js +186 -0
  51. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js.map +1 -0
  52. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts +233 -0
  53. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -0
  54. package/dist/lib/modules/coupon/transformers/coupon.transformer.js +7 -0
  55. package/dist/lib/modules/coupon/transformers/coupon.transformer.js.map +1 -0
  56. package/dist/lib/modules/coupon/transformers/index.d.ts +2 -0
  57. package/dist/lib/modules/coupon/transformers/index.d.ts.map +1 -0
  58. package/dist/lib/modules/coupon/transformers/index.js +18 -0
  59. package/dist/lib/modules/coupon/transformers/index.js.map +1 -0
  60. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +4382 -0
  61. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -0
  62. package/dist/lib/modules/coupon/validations/all-coupons.validation.js +28 -0
  63. package/dist/lib/modules/coupon/validations/all-coupons.validation.js.map +1 -0
  64. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +1297 -0
  65. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -0
  66. package/dist/lib/modules/coupon/validations/coupon.validation.js +107 -0
  67. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -0
  68. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts +385 -0
  69. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts.map +1 -0
  70. package/dist/lib/modules/coupon/validations/custom-coupon.validation.js +21 -0
  71. package/dist/lib/modules/coupon/validations/custom-coupon.validation.js.map +1 -0
  72. package/dist/lib/modules/coupon/validations/global-coupon.validation.d.ts +358 -0
  73. package/dist/lib/modules/coupon/validations/global-coupon.validation.d.ts.map +1 -0
  74. package/dist/lib/modules/coupon/validations/global-coupon.validation.js +18 -0
  75. package/dist/lib/modules/coupon/validations/global-coupon.validation.js.map +1 -0
  76. package/dist/lib/modules/coupon/validations/index.d.ts +9 -0
  77. package/dist/lib/modules/coupon/validations/index.d.ts.map +1 -0
  78. package/dist/lib/modules/coupon/validations/index.js +25 -0
  79. package/dist/lib/modules/coupon/validations/index.js.map +1 -0
  80. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts +385 -0
  81. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -0
  82. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.js +21 -0
  83. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.js.map +1 -0
  84. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts +385 -0
  85. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts.map +1 -0
  86. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.js +21 -0
  87. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.js.map +1 -0
  88. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.d.ts +95 -0
  89. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.d.ts.map +1 -0
  90. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.js +24 -0
  91. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.js.map +1 -0
  92. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts +385 -0
  93. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts.map +1 -0
  94. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.js +21 -0
  95. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.js.map +1 -0
  96. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts +214 -0
  97. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -0
  98. package/dist/lib/modules/deal-setting/routers/deal-setting.router.js +52 -0
  99. package/dist/lib/modules/deal-setting/routers/deal-setting.router.js.map +1 -0
  100. package/dist/lib/modules/deal-setting/routers/index.d.ts +2 -0
  101. package/dist/lib/modules/deal-setting/routers/index.d.ts.map +1 -0
  102. package/dist/lib/modules/deal-setting/routers/index.js +18 -0
  103. package/dist/lib/modules/deal-setting/routers/index.js.map +1 -0
  104. package/dist/lib/modules/deal-setting/services/deal-setting.service.d.ts +17 -0
  105. package/dist/lib/modules/deal-setting/services/deal-setting.service.d.ts.map +1 -0
  106. package/dist/lib/modules/deal-setting/services/deal-setting.service.js +181 -0
  107. package/dist/lib/modules/deal-setting/services/deal-setting.service.js.map +1 -0
  108. package/dist/lib/modules/deal-setting/services/index.d.ts +2 -0
  109. package/dist/lib/modules/deal-setting/services/index.d.ts.map +1 -0
  110. package/dist/lib/modules/deal-setting/services/index.js +18 -0
  111. package/dist/lib/modules/deal-setting/services/index.js.map +1 -0
  112. package/dist/lib/modules/deal-setting/transformers/deal-setting.transformer.d.ts +11 -0
  113. package/dist/lib/modules/deal-setting/transformers/deal-setting.transformer.d.ts.map +1 -0
  114. package/dist/lib/modules/deal-setting/transformers/deal-setting.transformer.js +7 -0
  115. package/dist/lib/modules/deal-setting/transformers/deal-setting.transformer.js.map +1 -0
  116. package/dist/lib/modules/deal-setting/transformers/index.d.ts +2 -0
  117. package/dist/lib/modules/deal-setting/transformers/index.d.ts.map +1 -0
  118. package/dist/lib/modules/deal-setting/transformers/index.js +18 -0
  119. package/dist/lib/modules/deal-setting/transformers/index.js.map +1 -0
  120. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.d.ts +227 -0
  121. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.d.ts.map +1 -0
  122. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.js +22 -0
  123. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.js.map +1 -0
  124. package/dist/lib/modules/deal-setting/validations/index.d.ts +2 -0
  125. package/dist/lib/modules/deal-setting/validations/index.d.ts.map +1 -0
  126. package/dist/lib/modules/deal-setting/validations/index.js +18 -0
  127. package/dist/lib/modules/deal-setting/validations/index.js.map +1 -0
  128. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts +302 -0
  129. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -0
  130. package/dist/lib/modules/featured-setting/routers/featured-setting.router.js +52 -0
  131. package/dist/lib/modules/featured-setting/routers/featured-setting.router.js.map +1 -0
  132. package/dist/lib/modules/featured-setting/routers/index.d.ts +2 -0
  133. package/dist/lib/modules/featured-setting/routers/index.d.ts.map +1 -0
  134. package/dist/lib/modules/featured-setting/routers/index.js +18 -0
  135. package/dist/lib/modules/featured-setting/routers/index.js.map +1 -0
  136. package/dist/lib/modules/featured-setting/services/featured-setting.service.d.ts +17 -0
  137. package/dist/lib/modules/featured-setting/services/featured-setting.service.d.ts.map +1 -0
  138. package/dist/lib/modules/featured-setting/services/featured-setting.service.js +181 -0
  139. package/dist/lib/modules/featured-setting/services/featured-setting.service.js.map +1 -0
  140. package/dist/lib/modules/featured-setting/services/index.d.ts +2 -0
  141. package/dist/lib/modules/featured-setting/services/index.d.ts.map +1 -0
  142. package/dist/lib/modules/featured-setting/services/index.js +18 -0
  143. package/dist/lib/modules/featured-setting/services/index.js.map +1 -0
  144. package/dist/lib/modules/featured-setting/transformers/featured-setting.transformer.d.ts +19 -0
  145. package/dist/lib/modules/featured-setting/transformers/featured-setting.transformer.d.ts.map +1 -0
  146. package/dist/lib/modules/featured-setting/transformers/featured-setting.transformer.js +7 -0
  147. package/dist/lib/modules/featured-setting/transformers/featured-setting.transformer.js.map +1 -0
  148. package/dist/lib/modules/featured-setting/transformers/index.d.ts +2 -0
  149. package/dist/lib/modules/featured-setting/transformers/index.d.ts.map +1 -0
  150. package/dist/lib/modules/featured-setting/transformers/index.js +18 -0
  151. package/dist/lib/modules/featured-setting/transformers/index.js.map +1 -0
  152. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.d.ts +363 -0
  153. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.d.ts.map +1 -0
  154. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.js +24 -0
  155. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.js.map +1 -0
  156. package/dist/lib/modules/featured-setting/validations/index.d.ts +2 -0
  157. package/dist/lib/modules/featured-setting/validations/index.d.ts.map +1 -0
  158. package/dist/lib/modules/featured-setting/validations/index.js +18 -0
  159. package/dist/lib/modules/featured-setting/validations/index.js.map +1 -0
  160. package/dist/lib/modules/loyalty-point-setting/routers/index.d.ts +2 -0
  161. package/dist/lib/modules/loyalty-point-setting/routers/index.d.ts.map +1 -0
  162. package/dist/lib/modules/loyalty-point-setting/routers/index.js +18 -0
  163. package/dist/lib/modules/loyalty-point-setting/routers/index.js.map +1 -0
  164. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts +321 -0
  165. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts.map +1 -0
  166. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.js +82 -0
  167. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.js.map +1 -0
  168. package/dist/lib/modules/loyalty-point-setting/services/index.d.ts +3 -0
  169. package/dist/lib/modules/loyalty-point-setting/services/index.d.ts.map +1 -0
  170. package/dist/lib/modules/loyalty-point-setting/services/index.js +19 -0
  171. package/dist/lib/modules/loyalty-point-setting/services/index.js.map +1 -0
  172. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts +16 -0
  173. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts.map +1 -0
  174. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.js +133 -0
  175. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.js.map +1 -0
  176. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts +16 -0
  177. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts.map +1 -0
  178. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.js +156 -0
  179. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.js.map +1 -0
  180. package/dist/lib/modules/loyalty-point-setting/transformers/index.d.ts +3 -0
  181. package/dist/lib/modules/loyalty-point-setting/transformers/index.d.ts.map +1 -0
  182. package/dist/lib/modules/loyalty-point-setting/transformers/index.js +19 -0
  183. package/dist/lib/modules/loyalty-point-setting/transformers/index.js.map +1 -0
  184. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts +8 -0
  185. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts.map +1 -0
  186. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.js +7 -0
  187. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.js.map +1 -0
  188. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts +9 -0
  189. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts.map +1 -0
  190. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.js +7 -0
  191. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.js.map +1 -0
  192. package/dist/lib/modules/loyalty-point-setting/validations/index.d.ts +3 -0
  193. package/dist/lib/modules/loyalty-point-setting/validations/index.d.ts.map +1 -0
  194. package/dist/lib/modules/loyalty-point-setting/validations/index.js +19 -0
  195. package/dist/lib/modules/loyalty-point-setting/validations/index.js.map +1 -0
  196. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts +170 -0
  197. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts.map +1 -0
  198. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.js +19 -0
  199. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.js.map +1 -0
  200. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts +188 -0
  201. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts.map +1 -0
  202. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.js +19 -0
  203. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.js.map +1 -0
  204. package/dist/lib/modules/marketing/routers/index.d.ts +2 -0
  205. package/dist/lib/modules/marketing/routers/index.d.ts.map +1 -0
  206. package/dist/lib/modules/marketing/routers/index.js +18 -0
  207. package/dist/lib/modules/marketing/routers/index.js.map +1 -0
  208. package/dist/lib/modules/marketing/routers/marketing.router.d.ts +78 -0
  209. package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -0
  210. package/dist/lib/modules/marketing/routers/marketing.router.js +53 -0
  211. package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -0
  212. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts +13 -0
  213. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -0
  214. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js +165 -0
  215. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js.map +1 -0
  216. package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts +14 -0
  217. package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts.map +1 -0
  218. package/dist/lib/modules/marketing/services/discount-marketing.service.js +227 -0
  219. package/dist/lib/modules/marketing/services/discount-marketing.service.js.map +1 -0
  220. package/dist/lib/modules/marketing/services/featured-marketing.service.d.ts +11 -0
  221. package/dist/lib/modules/marketing/services/featured-marketing.service.d.ts.map +1 -0
  222. package/dist/lib/modules/marketing/services/featured-marketing.service.js +80 -0
  223. package/dist/lib/modules/marketing/services/featured-marketing.service.js.map +1 -0
  224. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.d.ts +12 -0
  225. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.d.ts.map +1 -0
  226. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.js +95 -0
  227. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.js.map +1 -0
  228. package/dist/lib/modules/marketing/services/index.d.ts +8 -0
  229. package/dist/lib/modules/marketing/services/index.d.ts.map +1 -0
  230. package/dist/lib/modules/marketing/services/index.js +24 -0
  231. package/dist/lib/modules/marketing/services/index.js.map +1 -0
  232. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.d.ts +12 -0
  233. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.d.ts.map +1 -0
  234. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.js +149 -0
  235. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.js.map +1 -0
  236. package/dist/lib/modules/marketing/services/marketing.service.d.ts +17 -0
  237. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -0
  238. package/dist/lib/modules/marketing/services/marketing.service.js +275 -0
  239. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -0
  240. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts +18 -0
  241. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts.map +1 -0
  242. package/dist/lib/modules/marketing/services/product-marketing.service.js +151 -0
  243. package/dist/lib/modules/marketing/services/product-marketing.service.js.map +1 -0
  244. package/dist/lib/modules/marketing/services/punch-marketing.service.d.ts +11 -0
  245. package/dist/lib/modules/marketing/services/punch-marketing.service.d.ts.map +1 -0
  246. package/dist/lib/modules/marketing/services/punch-marketing.service.js +80 -0
  247. package/dist/lib/modules/marketing/services/punch-marketing.service.js.map +1 -0
  248. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +43 -0
  249. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts.map +1 -0
  250. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.js +7 -0
  251. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.js.map +1 -0
  252. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.d.ts +48 -0
  253. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.d.ts.map +1 -0
  254. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.js +7 -0
  255. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.js.map +1 -0
  256. package/dist/lib/modules/marketing/transformers/featured-marketing.transformer.d.ts +21 -0
  257. package/dist/lib/modules/marketing/transformers/featured-marketing.transformer.d.ts.map +1 -0
  258. package/dist/lib/modules/marketing/transformers/featured-marketing.transformer.js +7 -0
  259. package/dist/lib/modules/marketing/transformers/featured-marketing.transformer.js.map +1 -0
  260. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.d.ts +21 -0
  261. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.d.ts.map +1 -0
  262. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.js +7 -0
  263. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.js.map +1 -0
  264. package/dist/lib/modules/marketing/transformers/index.d.ts +8 -0
  265. package/dist/lib/modules/marketing/transformers/index.d.ts.map +1 -0
  266. package/dist/lib/modules/marketing/transformers/index.js +24 -0
  267. package/dist/lib/modules/marketing/transformers/index.js.map +1 -0
  268. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts +47 -0
  269. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts.map +1 -0
  270. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.js +7 -0
  271. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.js.map +1 -0
  272. package/dist/lib/modules/marketing/transformers/marketing.transformer.d.ts +3 -0
  273. package/dist/lib/modules/marketing/transformers/marketing.transformer.d.ts.map +1 -0
  274. package/dist/lib/modules/marketing/transformers/marketing.transformer.js +7 -0
  275. package/dist/lib/modules/marketing/transformers/marketing.transformer.js.map +1 -0
  276. package/dist/lib/modules/marketing/transformers/product-marketing.transformer.d.ts +10 -0
  277. package/dist/lib/modules/marketing/transformers/product-marketing.transformer.d.ts.map +1 -0
  278. package/dist/lib/modules/marketing/transformers/product-marketing.transformer.js +7 -0
  279. package/dist/lib/modules/marketing/transformers/product-marketing.transformer.js.map +1 -0
  280. package/dist/lib/modules/marketing/transformers/punch-marketing.transformer.d.ts +26 -0
  281. package/dist/lib/modules/marketing/transformers/punch-marketing.transformer.d.ts.map +1 -0
  282. package/dist/lib/modules/marketing/transformers/punch-marketing.transformer.js +7 -0
  283. package/dist/lib/modules/marketing/transformers/punch-marketing.transformer.js.map +1 -0
  284. package/dist/lib/modules/marketing/validations/all-marketings.validation.d.ts +54 -0
  285. package/dist/lib/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -0
  286. package/dist/lib/modules/marketing/validations/all-marketings.validation.js +29 -0
  287. package/dist/lib/modules/marketing/validations/all-marketings.validation.js.map +1 -0
  288. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +460 -0
  289. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts.map +1 -0
  290. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.js +40 -0
  291. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.js.map +1 -0
  292. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +530 -0
  293. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts.map +1 -0
  294. package/dist/lib/modules/marketing/validations/discount-marketing.validation.js +61 -0
  295. package/dist/lib/modules/marketing/validations/discount-marketing.validation.js.map +1 -0
  296. package/dist/lib/modules/marketing/validations/featured-marketing.validation.d.ts +224 -0
  297. package/dist/lib/modules/marketing/validations/featured-marketing.validation.d.ts.map +1 -0
  298. package/dist/lib/modules/marketing/validations/featured-marketing.validation.js +42 -0
  299. package/dist/lib/modules/marketing/validations/featured-marketing.validation.js.map +1 -0
  300. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.d.ts +162 -0
  301. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.d.ts.map +1 -0
  302. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.js +19 -0
  303. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.js.map +1 -0
  304. package/dist/lib/modules/marketing/validations/index.d.ts +9 -0
  305. package/dist/lib/modules/marketing/validations/index.d.ts.map +1 -0
  306. package/dist/lib/modules/marketing/validations/index.js +25 -0
  307. package/dist/lib/modules/marketing/validations/index.js.map +1 -0
  308. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.d.ts +504 -0
  309. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.d.ts.map +1 -0
  310. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.js +34 -0
  311. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.js.map +1 -0
  312. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +170 -0
  313. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -0
  314. package/dist/lib/modules/marketing/validations/marketing.validation.js +21 -0
  315. package/dist/lib/modules/marketing/validations/marketing.validation.js.map +1 -0
  316. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +150 -0
  317. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts.map +1 -0
  318. package/dist/lib/modules/marketing/validations/product-marketing.validation.js +36 -0
  319. package/dist/lib/modules/marketing/validations/product-marketing.validation.js.map +1 -0
  320. package/dist/lib/modules/marketing/validations/punch-marketing.validation.d.ts +207 -0
  321. package/dist/lib/modules/marketing/validations/punch-marketing.validation.d.ts.map +1 -0
  322. package/dist/lib/modules/marketing/validations/punch-marketing.validation.js +24 -0
  323. package/dist/lib/modules/marketing/validations/punch-marketing.validation.js.map +1 -0
  324. package/dist/lib/modules/punch-marketing-history/routers/index.d.ts +2 -0
  325. package/dist/lib/modules/punch-marketing-history/routers/index.d.ts.map +1 -0
  326. package/dist/lib/modules/punch-marketing-history/routers/index.js +18 -0
  327. package/dist/lib/modules/punch-marketing-history/routers/index.js.map +1 -0
  328. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +414 -0
  329. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -0
  330. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.js +69 -0
  331. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.js.map +1 -0
  332. package/dist/lib/modules/punch-marketing-history/services/index.d.ts +2 -0
  333. package/dist/lib/modules/punch-marketing-history/services/index.d.ts.map +1 -0
  334. package/dist/lib/modules/punch-marketing-history/services/index.js +18 -0
  335. package/dist/lib/modules/punch-marketing-history/services/index.js.map +1 -0
  336. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.d.ts +24 -0
  337. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.d.ts.map +1 -0
  338. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js +306 -0
  339. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js.map +1 -0
  340. package/dist/lib/modules/punch-marketing-history/transformers/index.d.ts +2 -0
  341. package/dist/lib/modules/punch-marketing-history/transformers/index.d.ts.map +1 -0
  342. package/dist/lib/modules/punch-marketing-history/transformers/index.js +18 -0
  343. package/dist/lib/modules/punch-marketing-history/transformers/index.js.map +1 -0
  344. package/dist/lib/modules/punch-marketing-history/transformers/punch-marketing-history.transformer.d.ts +19 -0
  345. package/dist/lib/modules/punch-marketing-history/transformers/punch-marketing-history.transformer.d.ts.map +1 -0
  346. package/dist/lib/modules/punch-marketing-history/transformers/punch-marketing-history.transformer.js +7 -0
  347. package/dist/lib/modules/punch-marketing-history/transformers/punch-marketing-history.transformer.js.map +1 -0
  348. package/dist/lib/modules/punch-marketing-history/validations/index.d.ts +2 -0
  349. package/dist/lib/modules/punch-marketing-history/validations/index.d.ts.map +1 -0
  350. package/dist/lib/modules/punch-marketing-history/validations/index.js +18 -0
  351. package/dist/lib/modules/punch-marketing-history/validations/index.js.map +1 -0
  352. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +400 -0
  353. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts.map +1 -0
  354. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.js +39 -0
  355. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.js.map +1 -0
  356. package/dist/lib/modules/referral-setting/routers/index.d.ts +2 -0
  357. package/dist/lib/modules/referral-setting/routers/index.d.ts.map +1 -0
  358. package/dist/lib/modules/referral-setting/routers/index.js +18 -0
  359. package/dist/lib/modules/referral-setting/routers/index.js.map +1 -0
  360. package/dist/lib/modules/referral-setting/routers/referral-setting.router.d.ts +354 -0
  361. package/dist/lib/modules/referral-setting/routers/referral-setting.router.d.ts.map +1 -0
  362. package/dist/lib/modules/referral-setting/routers/referral-setting.router.js +42 -0
  363. package/dist/lib/modules/referral-setting/routers/referral-setting.router.js.map +1 -0
  364. package/dist/lib/modules/referral-setting/services/index.d.ts +2 -0
  365. package/dist/lib/modules/referral-setting/services/index.d.ts.map +1 -0
  366. package/dist/lib/modules/referral-setting/services/index.js +18 -0
  367. package/dist/lib/modules/referral-setting/services/index.js.map +1 -0
  368. package/dist/lib/modules/referral-setting/services/referral-setting.service.d.ts +15 -0
  369. package/dist/lib/modules/referral-setting/services/referral-setting.service.d.ts.map +1 -0
  370. package/dist/lib/modules/referral-setting/services/referral-setting.service.js +154 -0
  371. package/dist/lib/modules/referral-setting/services/referral-setting.service.js.map +1 -0
  372. package/dist/lib/modules/referral-setting/transformers/index.d.ts +2 -0
  373. package/dist/lib/modules/referral-setting/transformers/index.d.ts.map +1 -0
  374. package/dist/lib/modules/referral-setting/transformers/index.js +18 -0
  375. package/dist/lib/modules/referral-setting/transformers/index.js.map +1 -0
  376. package/dist/lib/modules/referral-setting/transformers/referral-setting.transformer.d.ts +31 -0
  377. package/dist/lib/modules/referral-setting/transformers/referral-setting.transformer.d.ts.map +1 -0
  378. package/dist/lib/modules/referral-setting/transformers/referral-setting.transformer.js +7 -0
  379. package/dist/lib/modules/referral-setting/transformers/referral-setting.transformer.js.map +1 -0
  380. package/dist/lib/modules/referral-setting/validations/index.d.ts +2 -0
  381. package/dist/lib/modules/referral-setting/validations/index.d.ts.map +1 -0
  382. package/dist/lib/modules/referral-setting/validations/index.js +18 -0
  383. package/dist/lib/modules/referral-setting/validations/index.js.map +1 -0
  384. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.d.ts +575 -0
  385. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.d.ts.map +1 -0
  386. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.js +24 -0
  387. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.js.map +1 -0
  388. package/dist/types/index.d.ts +402 -12
  389. package/dist/types/index.d.ts.map +1 -1
  390. package/dist/types/modules/coupon/routers/coupon.router.d.ts +402 -12
  391. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  392. package/dist/types/modules/coupon/services/coupon.service.d.ts +3 -3
  393. package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
  394. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts +1 -0
  395. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  396. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts +13 -1
  397. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
  398. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +273 -21
  399. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  400. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +52 -0
  401. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  402. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts +18 -0
  403. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts.map +1 -1
  404. package/dist/types/modules/coupon/validations/global-coupon.validation.d.ts +18 -0
  405. package/dist/types/modules/coupon/validations/global-coupon.validation.d.ts.map +1 -1
  406. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts +27 -9
  407. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -1
  408. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts +18 -0
  409. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts.map +1 -1
  410. package/dist/types/modules/coupon/validations/referral-code-coupon.validation.d.ts +18 -0
  411. package/dist/types/modules/coupon/validations/referral-code-coupon.validation.d.ts.map +1 -1
  412. package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts +18 -0
  413. package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts.map +1 -1
  414. package/dist/types/modules/loyalty-point-setting/routers/index.d.ts +2 -0
  415. package/dist/types/modules/loyalty-point-setting/routers/index.d.ts.map +1 -0
  416. package/dist/types/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts +321 -0
  417. package/dist/types/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts.map +1 -0
  418. package/dist/types/modules/loyalty-point-setting/services/index.d.ts +3 -0
  419. package/dist/types/modules/loyalty-point-setting/services/index.d.ts.map +1 -0
  420. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts +37 -0
  421. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts.map +1 -0
  422. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts +34 -0
  423. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts.map +1 -0
  424. package/dist/types/modules/loyalty-point-setting/transformers/index.d.ts +3 -0
  425. package/dist/types/modules/loyalty-point-setting/transformers/index.d.ts.map +1 -0
  426. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts +8 -0
  427. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts.map +1 -0
  428. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts +9 -0
  429. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts.map +1 -0
  430. package/dist/types/modules/loyalty-point-setting/validations/index.d.ts +3 -0
  431. package/dist/types/modules/loyalty-point-setting/validations/index.d.ts.map +1 -0
  432. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts +179 -0
  433. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts.map +1 -0
  434. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts +197 -0
  435. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts.map +1 -0
  436. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  437. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts +1 -0
  438. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
  439. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts +2 -0
  440. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
  441. package/dist/types/modules/marketing/services/loyalty-point-marketing.service.d.ts +21 -0
  442. package/dist/types/modules/marketing/services/loyalty-point-marketing.service.d.ts.map +1 -0
  443. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  444. package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  445. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +1 -0
  446. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts.map +1 -1
  447. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts +3 -0
  448. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts.map +1 -1
  449. package/dist/types/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts +47 -0
  450. package/dist/types/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts.map +1 -0
  451. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +45 -31
  452. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts.map +1 -1
  453. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +42 -0
  454. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts.map +1 -1
  455. package/dist/types/modules/marketing/validations/loyalty-point-marketing.validation.d.ts +513 -0
  456. package/dist/types/modules/marketing/validations/loyalty-point-marketing.validation.d.ts.map +1 -0
  457. package/package.json +4 -5
@@ -0,0 +1,4382 @@
1
+ import { z } from 'zod';
2
+ export declare const AllCouponsValidationSchema: z.ZodUnion<[z.ZodObject<{
3
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>;
4
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
5
+ value: z.ZodNumber;
6
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
7
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
8
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
9
+ duration: z.ZodEffects<z.ZodObject<{
10
+ 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>;
11
+ 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>>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ start: Date;
14
+ end?: Date | undefined;
15
+ }, {
16
+ start: string | Date;
17
+ end?: string | Date | undefined;
18
+ }>, {
19
+ start: Date;
20
+ end?: Date | undefined;
21
+ }, {
22
+ start: string | Date;
23
+ end?: string | Date | undefined;
24
+ }>;
25
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
26
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
27
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
28
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
29
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
30
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
31
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
32
+ referringUser: z.ZodOptional<z.ZodObject<{
33
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ name?: string | undefined;
36
+ }, {
37
+ name?: string | undefined;
38
+ }>>;
39
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
40
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
41
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
42
+ isExpired: z.ZodOptional<z.ZodBoolean>;
43
+ }, "strict", z.ZodTypeAny, {
44
+ value: number;
45
+ code: string;
46
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
47
+ duration: {
48
+ start: Date;
49
+ end?: Date | undefined;
50
+ };
51
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
52
+ spendLimit: number | null;
53
+ maxDiscountLimit: number | null;
54
+ totalOrderLimit: number | null;
55
+ minOrderValue: number | null;
56
+ forNewUserOnly: boolean;
57
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
58
+ orderLimitPerUser: number | null;
59
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
60
+ secondaryCurrencyValue?: number | undefined;
61
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
62
+ secondaryCurrencyMinOrderValue?: number | undefined;
63
+ referringUser?: {
64
+ name?: string | undefined;
65
+ } | undefined;
66
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
67
+ isExpired?: boolean | undefined;
68
+ }, {
69
+ value: number;
70
+ code: string;
71
+ duration: {
72
+ start: string | Date;
73
+ end?: string | Date | undefined;
74
+ };
75
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
76
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
77
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
78
+ spendLimit?: number | null | undefined;
79
+ secondaryCurrencyValue?: number | undefined;
80
+ maxDiscountLimit?: number | null | undefined;
81
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
82
+ totalOrderLimit?: number | null | undefined;
83
+ minOrderValue?: number | null | undefined;
84
+ secondaryCurrencyMinOrderValue?: number | undefined;
85
+ forNewUserOnly?: boolean | undefined;
86
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
87
+ referringUser?: {
88
+ name?: string | undefined;
89
+ } | undefined;
90
+ orderLimitPerUser?: number | null | undefined;
91
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
92
+ isExpired?: boolean | undefined;
93
+ }>, z.ZodObject<{
94
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>;
95
+ orderLimitPerUser: z.ZodLiteral<1>;
96
+ referralUser: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
97
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
98
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
99
+ isExpired: z.ZodOptional<z.ZodBoolean>;
100
+ }, "strict", z.ZodTypeAny, {
101
+ code: string;
102
+ orderLimitPerUser: 1;
103
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
104
+ referralUser: import("mongoose").Types.ObjectId;
105
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
106
+ isExpired?: boolean | undefined;
107
+ }, {
108
+ code: string;
109
+ orderLimitPerUser: 1;
110
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
111
+ referralUser: string | import("mongoose").Types.ObjectId;
112
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
113
+ isExpired?: boolean | undefined;
114
+ }>, z.ZodObject<{
115
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>;
116
+ user: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
117
+ referralCodeUsedBy: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
118
+ referralCodeUsedOnOrder: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
119
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
120
+ value: z.ZodNumber;
121
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
122
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
123
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
124
+ duration: z.ZodEffects<z.ZodObject<{
125
+ 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>;
126
+ 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>>;
127
+ }, "strip", z.ZodTypeAny, {
128
+ start: Date;
129
+ end?: Date | undefined;
130
+ }, {
131
+ start: string | Date;
132
+ end?: string | Date | undefined;
133
+ }>, {
134
+ start: Date;
135
+ end?: Date | undefined;
136
+ }, {
137
+ start: string | Date;
138
+ end?: string | Date | undefined;
139
+ }>;
140
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
141
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
142
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
143
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
144
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
145
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
146
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
147
+ referringUser: z.ZodOptional<z.ZodObject<{
148
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
149
+ }, "strip", z.ZodTypeAny, {
150
+ name?: string | undefined;
151
+ }, {
152
+ name?: string | undefined;
153
+ }>>;
154
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
155
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
156
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
157
+ isExpired: z.ZodOptional<z.ZodBoolean>;
158
+ }, "strict", z.ZodTypeAny, {
159
+ value: number;
160
+ code: string;
161
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
162
+ duration: {
163
+ start: Date;
164
+ end?: Date | undefined;
165
+ };
166
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
167
+ spendLimit: number | null;
168
+ user: import("mongoose").Types.ObjectId;
169
+ maxDiscountLimit: number | null;
170
+ totalOrderLimit: number | null;
171
+ minOrderValue: number | null;
172
+ forNewUserOnly: boolean;
173
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
174
+ orderLimitPerUser: number | null;
175
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
176
+ referralCodeUsedBy: import("mongoose").Types.ObjectId;
177
+ referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
178
+ secondaryCurrencyValue?: number | undefined;
179
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
180
+ secondaryCurrencyMinOrderValue?: number | undefined;
181
+ referringUser?: {
182
+ name?: string | undefined;
183
+ } | undefined;
184
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
185
+ isExpired?: boolean | undefined;
186
+ }, {
187
+ value: number;
188
+ code: string;
189
+ duration: {
190
+ start: string | Date;
191
+ end?: string | Date | undefined;
192
+ };
193
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
194
+ user: string | import("mongoose").Types.ObjectId;
195
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
196
+ referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
197
+ referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
198
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
199
+ spendLimit?: number | null | undefined;
200
+ secondaryCurrencyValue?: number | undefined;
201
+ maxDiscountLimit?: number | null | undefined;
202
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
203
+ totalOrderLimit?: number | null | undefined;
204
+ minOrderValue?: number | null | undefined;
205
+ secondaryCurrencyMinOrderValue?: number | undefined;
206
+ forNewUserOnly?: boolean | undefined;
207
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
208
+ referringUser?: {
209
+ name?: string | undefined;
210
+ } | undefined;
211
+ orderLimitPerUser?: number | null | undefined;
212
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
213
+ isExpired?: boolean | undefined;
214
+ }>, z.ZodObject<{
215
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>;
216
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
217
+ shops: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
218
+ isShopCoverExpenses: z.ZodDefault<z.ZodBoolean>;
219
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
220
+ value: z.ZodNumber;
221
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
222
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
223
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
224
+ duration: z.ZodEffects<z.ZodObject<{
225
+ 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>;
226
+ 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>>;
227
+ }, "strip", z.ZodTypeAny, {
228
+ start: Date;
229
+ end?: Date | undefined;
230
+ }, {
231
+ start: string | Date;
232
+ end?: string | Date | undefined;
233
+ }>, {
234
+ start: Date;
235
+ end?: Date | undefined;
236
+ }, {
237
+ start: string | Date;
238
+ end?: string | Date | undefined;
239
+ }>;
240
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
241
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
242
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
243
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
244
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
245
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
246
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
247
+ referringUser: z.ZodOptional<z.ZodObject<{
248
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ name?: string | undefined;
251
+ }, {
252
+ name?: string | undefined;
253
+ }>>;
254
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
255
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
256
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
257
+ isExpired: z.ZodOptional<z.ZodBoolean>;
258
+ }, "strict", z.ZodTypeAny, {
259
+ value: number;
260
+ code: string;
261
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
262
+ duration: {
263
+ start: Date;
264
+ end?: Date | undefined;
265
+ };
266
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
267
+ spendLimit: number | null;
268
+ maxDiscountLimit: number | null;
269
+ totalOrderLimit: number | null;
270
+ minOrderValue: number | null;
271
+ forNewUserOnly: boolean;
272
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
273
+ orderLimitPerUser: number | null;
274
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
275
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
276
+ shops: import("mongoose").Types.ObjectId[];
277
+ isShopCoverExpenses: boolean;
278
+ secondaryCurrencyValue?: number | undefined;
279
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
280
+ secondaryCurrencyMinOrderValue?: number | undefined;
281
+ referringUser?: {
282
+ name?: string | undefined;
283
+ } | undefined;
284
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
285
+ isExpired?: boolean | undefined;
286
+ }, {
287
+ value: number;
288
+ code: string;
289
+ duration: {
290
+ start: string | Date;
291
+ end?: string | Date | undefined;
292
+ };
293
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
294
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
295
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
296
+ spendLimit?: number | null | undefined;
297
+ secondaryCurrencyValue?: number | undefined;
298
+ maxDiscountLimit?: number | null | undefined;
299
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
300
+ totalOrderLimit?: number | null | undefined;
301
+ minOrderValue?: number | null | undefined;
302
+ secondaryCurrencyMinOrderValue?: number | undefined;
303
+ forNewUserOnly?: boolean | undefined;
304
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
305
+ referringUser?: {
306
+ name?: string | undefined;
307
+ } | undefined;
308
+ orderLimitPerUser?: number | null | undefined;
309
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
310
+ isExpired?: boolean | undefined;
311
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
312
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
313
+ isShopCoverExpenses?: boolean | undefined;
314
+ }>, z.ZodObject<{
315
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>;
316
+ users: z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">;
317
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
318
+ shops: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
319
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
320
+ value: z.ZodNumber;
321
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
322
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
323
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
324
+ duration: z.ZodEffects<z.ZodObject<{
325
+ 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>;
326
+ 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>>;
327
+ }, "strip", z.ZodTypeAny, {
328
+ start: Date;
329
+ end?: Date | undefined;
330
+ }, {
331
+ start: string | Date;
332
+ end?: string | Date | undefined;
333
+ }>, {
334
+ start: Date;
335
+ end?: Date | undefined;
336
+ }, {
337
+ start: string | Date;
338
+ end?: string | Date | undefined;
339
+ }>;
340
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
341
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
342
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
343
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
344
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
345
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
346
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
347
+ referringUser: z.ZodOptional<z.ZodObject<{
348
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
349
+ }, "strip", z.ZodTypeAny, {
350
+ name?: string | undefined;
351
+ }, {
352
+ name?: string | undefined;
353
+ }>>;
354
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
355
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
356
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
357
+ isExpired: z.ZodOptional<z.ZodBoolean>;
358
+ }, "strict", z.ZodTypeAny, {
359
+ value: number;
360
+ code: string;
361
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
362
+ duration: {
363
+ start: Date;
364
+ end?: Date | undefined;
365
+ };
366
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
367
+ spendLimit: number | null;
368
+ maxDiscountLimit: number | null;
369
+ totalOrderLimit: number | null;
370
+ minOrderValue: number | null;
371
+ forNewUserOnly: boolean;
372
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
373
+ orderLimitPerUser: number | null;
374
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
375
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
376
+ shops: import("mongoose").Types.ObjectId[];
377
+ users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
378
+ secondaryCurrencyValue?: number | undefined;
379
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
380
+ secondaryCurrencyMinOrderValue?: number | undefined;
381
+ referringUser?: {
382
+ name?: string | undefined;
383
+ } | undefined;
384
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
385
+ isExpired?: boolean | undefined;
386
+ }, {
387
+ value: number;
388
+ code: string;
389
+ duration: {
390
+ start: string | Date;
391
+ end?: string | Date | undefined;
392
+ };
393
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
394
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
395
+ users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
396
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
397
+ spendLimit?: number | null | undefined;
398
+ secondaryCurrencyValue?: number | undefined;
399
+ maxDiscountLimit?: number | null | undefined;
400
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
401
+ totalOrderLimit?: number | null | undefined;
402
+ minOrderValue?: number | null | undefined;
403
+ secondaryCurrencyMinOrderValue?: number | undefined;
404
+ forNewUserOnly?: boolean | undefined;
405
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
406
+ referringUser?: {
407
+ name?: string | undefined;
408
+ } | undefined;
409
+ orderLimitPerUser?: number | null | undefined;
410
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
411
+ isExpired?: boolean | undefined;
412
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
413
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
414
+ }>, z.ZodObject<{
415
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>;
416
+ influencer: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
417
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
418
+ shops: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
419
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
420
+ value: z.ZodNumber;
421
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
422
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
423
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
424
+ duration: z.ZodEffects<z.ZodObject<{
425
+ 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>;
426
+ 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>>;
427
+ }, "strip", z.ZodTypeAny, {
428
+ start: Date;
429
+ end?: Date | undefined;
430
+ }, {
431
+ start: string | Date;
432
+ end?: string | Date | undefined;
433
+ }>, {
434
+ start: Date;
435
+ end?: Date | undefined;
436
+ }, {
437
+ start: string | Date;
438
+ end?: string | Date | undefined;
439
+ }>;
440
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
441
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
442
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
443
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
444
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
445
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
446
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
447
+ referringUser: z.ZodOptional<z.ZodObject<{
448
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
449
+ }, "strip", z.ZodTypeAny, {
450
+ name?: string | undefined;
451
+ }, {
452
+ name?: string | undefined;
453
+ }>>;
454
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
455
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
456
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
457
+ isExpired: z.ZodOptional<z.ZodBoolean>;
458
+ }, "strict", z.ZodTypeAny, {
459
+ value: number;
460
+ code: string;
461
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
462
+ duration: {
463
+ start: Date;
464
+ end?: Date | undefined;
465
+ };
466
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
467
+ spendLimit: number | null;
468
+ maxDiscountLimit: number | null;
469
+ totalOrderLimit: number | null;
470
+ minOrderValue: number | null;
471
+ forNewUserOnly: boolean;
472
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
473
+ orderLimitPerUser: number | null;
474
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
475
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
476
+ shops: import("mongoose").Types.ObjectId[];
477
+ influencer: import("mongoose").Types.ObjectId;
478
+ secondaryCurrencyValue?: number | undefined;
479
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
480
+ secondaryCurrencyMinOrderValue?: number | undefined;
481
+ referringUser?: {
482
+ name?: string | undefined;
483
+ } | undefined;
484
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
485
+ isExpired?: boolean | undefined;
486
+ }, {
487
+ value: number;
488
+ code: string;
489
+ duration: {
490
+ start: string | Date;
491
+ end?: string | Date | undefined;
492
+ };
493
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
494
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
495
+ influencer: string | import("mongoose").Types.ObjectId;
496
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
497
+ spendLimit?: number | null | undefined;
498
+ secondaryCurrencyValue?: number | undefined;
499
+ maxDiscountLimit?: number | null | undefined;
500
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
501
+ totalOrderLimit?: number | null | undefined;
502
+ minOrderValue?: number | null | undefined;
503
+ secondaryCurrencyMinOrderValue?: number | undefined;
504
+ forNewUserOnly?: boolean | undefined;
505
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
506
+ referringUser?: {
507
+ name?: string | undefined;
508
+ } | undefined;
509
+ orderLimitPerUser?: number | null | undefined;
510
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
511
+ isExpired?: boolean | undefined;
512
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
513
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
514
+ }>]>;
515
+ export declare const AllCouponsSchema: z.ZodUnion<[z.ZodObject<{
516
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
517
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
518
+ value: z.ZodOptional<z.ZodNumber>;
519
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
520
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
521
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
522
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
523
+ 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>;
524
+ 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>>;
525
+ }, "strip", z.ZodTypeAny, {
526
+ start: Date;
527
+ end?: Date | undefined;
528
+ }, {
529
+ start: string | Date;
530
+ end?: string | Date | undefined;
531
+ }>, {
532
+ start: Date;
533
+ end?: Date | undefined;
534
+ }, {
535
+ start: string | Date;
536
+ end?: string | Date | undefined;
537
+ }>>;
538
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
539
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
540
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
541
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
542
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
543
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
544
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
545
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
546
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
547
+ }, "strip", z.ZodTypeAny, {
548
+ name?: string | undefined;
549
+ }, {
550
+ name?: string | undefined;
551
+ }>>>;
552
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
553
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
554
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
555
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
556
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
557
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
558
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
559
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
560
+ value: z.ZodOptional<z.ZodNumber>;
561
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
562
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
563
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
564
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
565
+ 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>;
566
+ 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>>;
567
+ }, "strip", z.ZodTypeAny, {
568
+ start: Date;
569
+ end?: Date | undefined;
570
+ }, {
571
+ start: string | Date;
572
+ end?: string | Date | undefined;
573
+ }>, {
574
+ start: Date;
575
+ end?: Date | undefined;
576
+ }, {
577
+ start: string | Date;
578
+ end?: string | Date | undefined;
579
+ }>>;
580
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
581
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
582
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
583
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
584
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
585
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
586
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
587
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
588
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
589
+ }, "strip", z.ZodTypeAny, {
590
+ name?: string | undefined;
591
+ }, {
592
+ name?: string | undefined;
593
+ }>>>;
594
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
595
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
596
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
597
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
598
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
599
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
600
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
601
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
602
+ value: z.ZodOptional<z.ZodNumber>;
603
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
604
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
605
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
606
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
607
+ 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>;
608
+ 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>>;
609
+ }, "strip", z.ZodTypeAny, {
610
+ start: Date;
611
+ end?: Date | undefined;
612
+ }, {
613
+ start: string | Date;
614
+ end?: string | Date | undefined;
615
+ }>, {
616
+ start: Date;
617
+ end?: Date | undefined;
618
+ }, {
619
+ start: string | Date;
620
+ end?: string | Date | undefined;
621
+ }>>;
622
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
623
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
624
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
625
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
626
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
627
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
628
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
629
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
630
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
631
+ }, "strip", z.ZodTypeAny, {
632
+ name?: string | undefined;
633
+ }, {
634
+ name?: string | undefined;
635
+ }>>>;
636
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
637
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
638
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
639
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
640
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
641
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
642
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
643
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
644
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
645
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
646
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
647
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
648
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
649
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
650
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
651
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
652
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
653
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
654
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
655
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
656
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
657
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
658
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
659
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
660
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
661
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
662
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
663
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
664
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
665
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
666
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
667
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
668
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
669
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
670
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
671
+ value: z.ZodOptional<z.ZodNumber>;
672
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
673
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
674
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
675
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
676
+ 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>;
677
+ 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>>;
678
+ }, "strip", z.ZodTypeAny, {
679
+ start: Date;
680
+ end?: Date | undefined;
681
+ }, {
682
+ start: string | Date;
683
+ end?: string | Date | undefined;
684
+ }>, {
685
+ start: Date;
686
+ end?: Date | undefined;
687
+ }, {
688
+ start: string | Date;
689
+ end?: string | Date | undefined;
690
+ }>>;
691
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
692
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
693
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
694
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
695
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
696
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
697
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
698
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
699
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
700
+ }, "strip", z.ZodTypeAny, {
701
+ name?: string | undefined;
702
+ }, {
703
+ name?: string | undefined;
704
+ }>>>;
705
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
706
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
707
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
708
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
709
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
710
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
711
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
712
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
713
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
714
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
715
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
716
+ value: z.ZodOptional<z.ZodNumber>;
717
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
718
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
719
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
720
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
721
+ 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>;
722
+ 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>>;
723
+ }, "strip", z.ZodTypeAny, {
724
+ start: Date;
725
+ end?: Date | undefined;
726
+ }, {
727
+ start: string | Date;
728
+ end?: string | Date | undefined;
729
+ }>, {
730
+ start: Date;
731
+ end?: Date | undefined;
732
+ }, {
733
+ start: string | Date;
734
+ end?: string | Date | undefined;
735
+ }>>;
736
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
737
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
738
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
739
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
740
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
741
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
742
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
743
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
744
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
745
+ }, "strip", z.ZodTypeAny, {
746
+ name?: string | undefined;
747
+ }, {
748
+ name?: string | undefined;
749
+ }>>>;
750
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
751
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
752
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
753
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
754
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
755
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
756
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
757
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
758
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
759
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
760
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
761
+ value: z.ZodOptional<z.ZodNumber>;
762
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
763
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
764
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
765
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
766
+ 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>;
767
+ 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>>;
768
+ }, "strip", z.ZodTypeAny, {
769
+ start: Date;
770
+ end?: Date | undefined;
771
+ }, {
772
+ start: string | Date;
773
+ end?: string | Date | undefined;
774
+ }>, {
775
+ start: Date;
776
+ end?: Date | undefined;
777
+ }, {
778
+ start: string | Date;
779
+ end?: string | Date | undefined;
780
+ }>>;
781
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
782
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
783
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
784
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
785
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
786
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
787
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
788
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
789
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
790
+ }, "strip", z.ZodTypeAny, {
791
+ name?: string | undefined;
792
+ }, {
793
+ name?: string | undefined;
794
+ }>>>;
795
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
796
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
797
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
798
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
799
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
800
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
801
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
802
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
803
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
804
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
805
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
806
+ value: z.ZodOptional<z.ZodNumber>;
807
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
808
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
809
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
810
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
811
+ 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>;
812
+ 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>>;
813
+ }, "strip", z.ZodTypeAny, {
814
+ start: Date;
815
+ end?: Date | undefined;
816
+ }, {
817
+ start: string | Date;
818
+ end?: string | Date | undefined;
819
+ }>, {
820
+ start: Date;
821
+ end?: Date | undefined;
822
+ }, {
823
+ start: string | Date;
824
+ end?: string | Date | undefined;
825
+ }>>;
826
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
827
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
828
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
829
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
830
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
831
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
832
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
833
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
834
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
835
+ }, "strip", z.ZodTypeAny, {
836
+ name?: string | undefined;
837
+ }, {
838
+ name?: string | undefined;
839
+ }>>>;
840
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
841
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
842
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
843
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
844
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
845
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
846
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
847
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
848
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
849
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
850
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
851
+ value: z.ZodOptional<z.ZodNumber>;
852
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
853
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
854
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
855
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
856
+ 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>;
857
+ 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>>;
858
+ }, "strip", z.ZodTypeAny, {
859
+ start: Date;
860
+ end?: Date | undefined;
861
+ }, {
862
+ start: string | Date;
863
+ end?: string | Date | undefined;
864
+ }>, {
865
+ start: Date;
866
+ end?: Date | undefined;
867
+ }, {
868
+ start: string | Date;
869
+ end?: string | Date | undefined;
870
+ }>>;
871
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
872
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
873
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
874
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
875
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
876
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
877
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
878
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
879
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
880
+ }, "strip", z.ZodTypeAny, {
881
+ name?: string | undefined;
882
+ }, {
883
+ name?: string | undefined;
884
+ }>>>;
885
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
886
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
887
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
888
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
889
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
890
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
891
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
892
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
893
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
894
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
895
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
896
+ value: z.ZodOptional<z.ZodNumber>;
897
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
898
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
899
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
900
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
901
+ 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>;
902
+ 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>>;
903
+ }, "strip", z.ZodTypeAny, {
904
+ start: Date;
905
+ end?: Date | undefined;
906
+ }, {
907
+ start: string | Date;
908
+ end?: string | Date | undefined;
909
+ }>, {
910
+ start: Date;
911
+ end?: Date | undefined;
912
+ }, {
913
+ start: string | Date;
914
+ end?: string | Date | undefined;
915
+ }>>;
916
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
917
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
918
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
919
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
920
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
921
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
922
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
923
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
924
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
925
+ }, "strip", z.ZodTypeAny, {
926
+ name?: string | undefined;
927
+ }, {
928
+ name?: string | undefined;
929
+ }>>>;
930
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
931
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
932
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
933
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
934
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
935
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
936
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
937
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
938
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
939
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
940
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
941
+ value: z.ZodOptional<z.ZodNumber>;
942
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
943
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
944
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
945
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
946
+ 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>;
947
+ 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>>;
948
+ }, "strip", z.ZodTypeAny, {
949
+ start: Date;
950
+ end?: Date | undefined;
951
+ }, {
952
+ start: string | Date;
953
+ end?: string | Date | undefined;
954
+ }>, {
955
+ start: Date;
956
+ end?: Date | undefined;
957
+ }, {
958
+ start: string | Date;
959
+ end?: string | Date | undefined;
960
+ }>>;
961
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
962
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
963
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
964
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
965
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
966
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
967
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
968
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
969
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
970
+ }, "strip", z.ZodTypeAny, {
971
+ name?: string | undefined;
972
+ }, {
973
+ name?: string | undefined;
974
+ }>>>;
975
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
976
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
977
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
978
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
979
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
980
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
981
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
982
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
983
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
984
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
985
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
986
+ value: z.ZodOptional<z.ZodNumber>;
987
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
988
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
989
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
990
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
991
+ 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>;
992
+ 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>>;
993
+ }, "strip", z.ZodTypeAny, {
994
+ start: Date;
995
+ end?: Date | undefined;
996
+ }, {
997
+ start: string | Date;
998
+ end?: string | Date | undefined;
999
+ }>, {
1000
+ start: Date;
1001
+ end?: Date | undefined;
1002
+ }, {
1003
+ start: string | Date;
1004
+ end?: string | Date | undefined;
1005
+ }>>;
1006
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1007
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1008
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1009
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1010
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1011
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1012
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1013
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1014
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1015
+ }, "strip", z.ZodTypeAny, {
1016
+ name?: string | undefined;
1017
+ }, {
1018
+ name?: string | undefined;
1019
+ }>>>;
1020
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1021
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1022
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1023
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1024
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1025
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1026
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1027
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
1028
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1029
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1030
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1031
+ value: z.ZodOptional<z.ZodNumber>;
1032
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1033
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1034
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1035
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1036
+ 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>;
1037
+ 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>>;
1038
+ }, "strip", z.ZodTypeAny, {
1039
+ start: Date;
1040
+ end?: Date | undefined;
1041
+ }, {
1042
+ start: string | Date;
1043
+ end?: string | Date | undefined;
1044
+ }>, {
1045
+ start: Date;
1046
+ end?: Date | undefined;
1047
+ }, {
1048
+ start: string | Date;
1049
+ end?: string | Date | undefined;
1050
+ }>>;
1051
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1052
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1053
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1054
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1055
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1056
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1057
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1058
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1059
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1060
+ }, "strip", z.ZodTypeAny, {
1061
+ name?: string | undefined;
1062
+ }, {
1063
+ name?: string | undefined;
1064
+ }>>>;
1065
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1066
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1067
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1068
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1069
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1070
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
1071
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1072
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1073
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1074
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1075
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1076
+ value: z.ZodOptional<z.ZodNumber>;
1077
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1078
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1079
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1080
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1081
+ 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>;
1082
+ 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>>;
1083
+ }, "strip", z.ZodTypeAny, {
1084
+ start: Date;
1085
+ end?: Date | undefined;
1086
+ }, {
1087
+ start: string | Date;
1088
+ end?: string | Date | undefined;
1089
+ }>, {
1090
+ start: Date;
1091
+ end?: Date | undefined;
1092
+ }, {
1093
+ start: string | Date;
1094
+ end?: string | Date | undefined;
1095
+ }>>;
1096
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1097
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1098
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1099
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1100
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1101
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1102
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1103
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1104
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1105
+ }, "strip", z.ZodTypeAny, {
1106
+ name?: string | undefined;
1107
+ }, {
1108
+ name?: string | undefined;
1109
+ }>>>;
1110
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1111
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1112
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1113
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1114
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1115
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1116
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1117
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1118
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1119
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1120
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1121
+ value: z.ZodOptional<z.ZodNumber>;
1122
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1123
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1124
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1125
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1126
+ 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>;
1127
+ 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>>;
1128
+ }, "strip", z.ZodTypeAny, {
1129
+ start: Date;
1130
+ end?: Date | undefined;
1131
+ }, {
1132
+ start: string | Date;
1133
+ end?: string | Date | undefined;
1134
+ }>, {
1135
+ start: Date;
1136
+ end?: Date | undefined;
1137
+ }, {
1138
+ start: string | Date;
1139
+ end?: string | Date | undefined;
1140
+ }>>;
1141
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1142
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1143
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1144
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1145
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1146
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1147
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1148
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1149
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1150
+ }, "strip", z.ZodTypeAny, {
1151
+ name?: string | undefined;
1152
+ }, {
1153
+ name?: string | undefined;
1154
+ }>>>;
1155
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1156
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1157
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1158
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1159
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1160
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1161
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1162
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1163
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1164
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1165
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1166
+ value: z.ZodOptional<z.ZodNumber>;
1167
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1168
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1169
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1170
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1171
+ 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>;
1172
+ 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>>;
1173
+ }, "strip", z.ZodTypeAny, {
1174
+ start: Date;
1175
+ end?: Date | undefined;
1176
+ }, {
1177
+ start: string | Date;
1178
+ end?: string | Date | undefined;
1179
+ }>, {
1180
+ start: Date;
1181
+ end?: Date | undefined;
1182
+ }, {
1183
+ start: string | Date;
1184
+ end?: string | Date | undefined;
1185
+ }>>;
1186
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1187
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1188
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1189
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1190
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1191
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1192
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1193
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1194
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1195
+ }, "strip", z.ZodTypeAny, {
1196
+ name?: string | undefined;
1197
+ }, {
1198
+ name?: string | undefined;
1199
+ }>>>;
1200
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1201
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1202
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1203
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1204
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1205
+ }, z.ZodTypeAny, "passthrough">>]>;
1206
+ export declare const AllCouponsUpdateSchema: z.ZodObject<{
1207
+ _id: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
1208
+ data: z.ZodUnion<[z.ZodObject<{
1209
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>;
1210
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1211
+ value: z.ZodNumber;
1212
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1213
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1214
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1215
+ duration: z.ZodEffects<z.ZodObject<{
1216
+ 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>;
1217
+ 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>>;
1218
+ }, "strip", z.ZodTypeAny, {
1219
+ start: Date;
1220
+ end?: Date | undefined;
1221
+ }, {
1222
+ start: string | Date;
1223
+ end?: string | Date | undefined;
1224
+ }>, {
1225
+ start: Date;
1226
+ end?: Date | undefined;
1227
+ }, {
1228
+ start: string | Date;
1229
+ end?: string | Date | undefined;
1230
+ }>;
1231
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1232
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1233
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1234
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1235
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1236
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1237
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1238
+ referringUser: z.ZodOptional<z.ZodObject<{
1239
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1240
+ }, "strip", z.ZodTypeAny, {
1241
+ name?: string | undefined;
1242
+ }, {
1243
+ name?: string | undefined;
1244
+ }>>;
1245
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1246
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1247
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1248
+ isExpired: z.ZodOptional<z.ZodBoolean>;
1249
+ }, "strict", z.ZodTypeAny, {
1250
+ value: number;
1251
+ code: string;
1252
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1253
+ duration: {
1254
+ start: Date;
1255
+ end?: Date | undefined;
1256
+ };
1257
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1258
+ spendLimit: number | null;
1259
+ maxDiscountLimit: number | null;
1260
+ totalOrderLimit: number | null;
1261
+ minOrderValue: number | null;
1262
+ forNewUserOnly: boolean;
1263
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1264
+ orderLimitPerUser: number | null;
1265
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1266
+ secondaryCurrencyValue?: number | undefined;
1267
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1268
+ secondaryCurrencyMinOrderValue?: number | undefined;
1269
+ referringUser?: {
1270
+ name?: string | undefined;
1271
+ } | undefined;
1272
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1273
+ isExpired?: boolean | undefined;
1274
+ }, {
1275
+ value: number;
1276
+ code: string;
1277
+ duration: {
1278
+ start: string | Date;
1279
+ end?: string | Date | undefined;
1280
+ };
1281
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1282
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1283
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1284
+ spendLimit?: number | null | undefined;
1285
+ secondaryCurrencyValue?: number | undefined;
1286
+ maxDiscountLimit?: number | null | undefined;
1287
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1288
+ totalOrderLimit?: number | null | undefined;
1289
+ minOrderValue?: number | null | undefined;
1290
+ secondaryCurrencyMinOrderValue?: number | undefined;
1291
+ forNewUserOnly?: boolean | undefined;
1292
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1293
+ referringUser?: {
1294
+ name?: string | undefined;
1295
+ } | undefined;
1296
+ orderLimitPerUser?: number | null | undefined;
1297
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1298
+ isExpired?: boolean | undefined;
1299
+ }>, z.ZodObject<{
1300
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>;
1301
+ orderLimitPerUser: z.ZodLiteral<1>;
1302
+ referralUser: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
1303
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1304
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1305
+ isExpired: z.ZodOptional<z.ZodBoolean>;
1306
+ }, "strict", z.ZodTypeAny, {
1307
+ code: string;
1308
+ orderLimitPerUser: 1;
1309
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1310
+ referralUser: import("mongoose").Types.ObjectId;
1311
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1312
+ isExpired?: boolean | undefined;
1313
+ }, {
1314
+ code: string;
1315
+ orderLimitPerUser: 1;
1316
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1317
+ referralUser: string | import("mongoose").Types.ObjectId;
1318
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1319
+ isExpired?: boolean | undefined;
1320
+ }>, z.ZodObject<{
1321
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>;
1322
+ user: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
1323
+ referralCodeUsedBy: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
1324
+ referralCodeUsedOnOrder: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
1325
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1326
+ value: z.ZodNumber;
1327
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1328
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1329
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1330
+ duration: z.ZodEffects<z.ZodObject<{
1331
+ 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>;
1332
+ 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>>;
1333
+ }, "strip", z.ZodTypeAny, {
1334
+ start: Date;
1335
+ end?: Date | undefined;
1336
+ }, {
1337
+ start: string | Date;
1338
+ end?: string | Date | undefined;
1339
+ }>, {
1340
+ start: Date;
1341
+ end?: Date | undefined;
1342
+ }, {
1343
+ start: string | Date;
1344
+ end?: string | Date | undefined;
1345
+ }>;
1346
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1347
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1348
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1349
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1350
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1351
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1352
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1353
+ referringUser: z.ZodOptional<z.ZodObject<{
1354
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1355
+ }, "strip", z.ZodTypeAny, {
1356
+ name?: string | undefined;
1357
+ }, {
1358
+ name?: string | undefined;
1359
+ }>>;
1360
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1361
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1362
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1363
+ isExpired: z.ZodOptional<z.ZodBoolean>;
1364
+ }, "strict", z.ZodTypeAny, {
1365
+ value: number;
1366
+ code: string;
1367
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1368
+ duration: {
1369
+ start: Date;
1370
+ end?: Date | undefined;
1371
+ };
1372
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1373
+ spendLimit: number | null;
1374
+ user: import("mongoose").Types.ObjectId;
1375
+ maxDiscountLimit: number | null;
1376
+ totalOrderLimit: number | null;
1377
+ minOrderValue: number | null;
1378
+ forNewUserOnly: boolean;
1379
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1380
+ orderLimitPerUser: number | null;
1381
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1382
+ referralCodeUsedBy: import("mongoose").Types.ObjectId;
1383
+ referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
1384
+ secondaryCurrencyValue?: number | undefined;
1385
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1386
+ secondaryCurrencyMinOrderValue?: number | undefined;
1387
+ referringUser?: {
1388
+ name?: string | undefined;
1389
+ } | undefined;
1390
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1391
+ isExpired?: boolean | undefined;
1392
+ }, {
1393
+ value: number;
1394
+ code: string;
1395
+ duration: {
1396
+ start: string | Date;
1397
+ end?: string | Date | undefined;
1398
+ };
1399
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1400
+ user: string | import("mongoose").Types.ObjectId;
1401
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1402
+ referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
1403
+ referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
1404
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1405
+ spendLimit?: number | null | undefined;
1406
+ secondaryCurrencyValue?: number | undefined;
1407
+ maxDiscountLimit?: number | null | undefined;
1408
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1409
+ totalOrderLimit?: number | null | undefined;
1410
+ minOrderValue?: number | null | undefined;
1411
+ secondaryCurrencyMinOrderValue?: number | undefined;
1412
+ forNewUserOnly?: boolean | undefined;
1413
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1414
+ referringUser?: {
1415
+ name?: string | undefined;
1416
+ } | undefined;
1417
+ orderLimitPerUser?: number | null | undefined;
1418
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1419
+ isExpired?: boolean | undefined;
1420
+ }>, z.ZodObject<{
1421
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>;
1422
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
1423
+ shops: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
1424
+ isShopCoverExpenses: z.ZodDefault<z.ZodBoolean>;
1425
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1426
+ value: z.ZodNumber;
1427
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1428
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1429
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1430
+ duration: z.ZodEffects<z.ZodObject<{
1431
+ 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>;
1432
+ 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>>;
1433
+ }, "strip", z.ZodTypeAny, {
1434
+ start: Date;
1435
+ end?: Date | undefined;
1436
+ }, {
1437
+ start: string | Date;
1438
+ end?: string | Date | undefined;
1439
+ }>, {
1440
+ start: Date;
1441
+ end?: Date | undefined;
1442
+ }, {
1443
+ start: string | Date;
1444
+ end?: string | Date | undefined;
1445
+ }>;
1446
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1447
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1448
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1449
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1450
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1451
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1452
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1453
+ referringUser: z.ZodOptional<z.ZodObject<{
1454
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1455
+ }, "strip", z.ZodTypeAny, {
1456
+ name?: string | undefined;
1457
+ }, {
1458
+ name?: string | undefined;
1459
+ }>>;
1460
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1461
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1462
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1463
+ isExpired: z.ZodOptional<z.ZodBoolean>;
1464
+ }, "strict", z.ZodTypeAny, {
1465
+ value: number;
1466
+ code: string;
1467
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1468
+ duration: {
1469
+ start: Date;
1470
+ end?: Date | undefined;
1471
+ };
1472
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1473
+ spendLimit: number | null;
1474
+ maxDiscountLimit: number | null;
1475
+ totalOrderLimit: number | null;
1476
+ minOrderValue: number | null;
1477
+ forNewUserOnly: boolean;
1478
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1479
+ orderLimitPerUser: number | null;
1480
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1481
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1482
+ shops: import("mongoose").Types.ObjectId[];
1483
+ isShopCoverExpenses: boolean;
1484
+ secondaryCurrencyValue?: number | undefined;
1485
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1486
+ secondaryCurrencyMinOrderValue?: number | undefined;
1487
+ referringUser?: {
1488
+ name?: string | undefined;
1489
+ } | undefined;
1490
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1491
+ isExpired?: boolean | undefined;
1492
+ }, {
1493
+ value: number;
1494
+ code: string;
1495
+ duration: {
1496
+ start: string | Date;
1497
+ end?: string | Date | undefined;
1498
+ };
1499
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1500
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1501
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1502
+ spendLimit?: number | null | undefined;
1503
+ secondaryCurrencyValue?: number | undefined;
1504
+ maxDiscountLimit?: number | null | undefined;
1505
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1506
+ totalOrderLimit?: number | null | undefined;
1507
+ minOrderValue?: number | null | undefined;
1508
+ secondaryCurrencyMinOrderValue?: number | undefined;
1509
+ forNewUserOnly?: boolean | undefined;
1510
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1511
+ referringUser?: {
1512
+ name?: string | undefined;
1513
+ } | undefined;
1514
+ orderLimitPerUser?: number | null | undefined;
1515
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1516
+ isExpired?: boolean | undefined;
1517
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1518
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1519
+ isShopCoverExpenses?: boolean | undefined;
1520
+ }>, z.ZodObject<{
1521
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>;
1522
+ users: z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">;
1523
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
1524
+ shops: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
1525
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1526
+ value: z.ZodNumber;
1527
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1528
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1529
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1530
+ duration: z.ZodEffects<z.ZodObject<{
1531
+ 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>;
1532
+ 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>>;
1533
+ }, "strip", z.ZodTypeAny, {
1534
+ start: Date;
1535
+ end?: Date | undefined;
1536
+ }, {
1537
+ start: string | Date;
1538
+ end?: string | Date | undefined;
1539
+ }>, {
1540
+ start: Date;
1541
+ end?: Date | undefined;
1542
+ }, {
1543
+ start: string | Date;
1544
+ end?: string | Date | undefined;
1545
+ }>;
1546
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1547
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1548
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1549
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1550
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1551
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1552
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1553
+ referringUser: z.ZodOptional<z.ZodObject<{
1554
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1555
+ }, "strip", z.ZodTypeAny, {
1556
+ name?: string | undefined;
1557
+ }, {
1558
+ name?: string | undefined;
1559
+ }>>;
1560
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1561
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1562
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1563
+ isExpired: z.ZodOptional<z.ZodBoolean>;
1564
+ }, "strict", z.ZodTypeAny, {
1565
+ value: number;
1566
+ code: string;
1567
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1568
+ duration: {
1569
+ start: Date;
1570
+ end?: Date | undefined;
1571
+ };
1572
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1573
+ spendLimit: number | null;
1574
+ maxDiscountLimit: number | null;
1575
+ totalOrderLimit: number | null;
1576
+ minOrderValue: number | null;
1577
+ forNewUserOnly: boolean;
1578
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1579
+ orderLimitPerUser: number | null;
1580
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1581
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1582
+ shops: import("mongoose").Types.ObjectId[];
1583
+ users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
1584
+ secondaryCurrencyValue?: number | undefined;
1585
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1586
+ secondaryCurrencyMinOrderValue?: number | undefined;
1587
+ referringUser?: {
1588
+ name?: string | undefined;
1589
+ } | undefined;
1590
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1591
+ isExpired?: boolean | undefined;
1592
+ }, {
1593
+ value: number;
1594
+ code: string;
1595
+ duration: {
1596
+ start: string | Date;
1597
+ end?: string | Date | undefined;
1598
+ };
1599
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1600
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1601
+ users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
1602
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1603
+ spendLimit?: number | null | undefined;
1604
+ secondaryCurrencyValue?: number | undefined;
1605
+ maxDiscountLimit?: number | null | undefined;
1606
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1607
+ totalOrderLimit?: number | null | undefined;
1608
+ minOrderValue?: number | null | undefined;
1609
+ secondaryCurrencyMinOrderValue?: number | undefined;
1610
+ forNewUserOnly?: boolean | undefined;
1611
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1612
+ referringUser?: {
1613
+ name?: string | undefined;
1614
+ } | undefined;
1615
+ orderLimitPerUser?: number | null | undefined;
1616
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1617
+ isExpired?: boolean | undefined;
1618
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1619
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1620
+ }>, z.ZodObject<{
1621
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>;
1622
+ influencer: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
1623
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
1624
+ shops: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
1625
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1626
+ value: z.ZodNumber;
1627
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1628
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1629
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1630
+ duration: z.ZodEffects<z.ZodObject<{
1631
+ 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>;
1632
+ 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>>;
1633
+ }, "strip", z.ZodTypeAny, {
1634
+ start: Date;
1635
+ end?: Date | undefined;
1636
+ }, {
1637
+ start: string | Date;
1638
+ end?: string | Date | undefined;
1639
+ }>, {
1640
+ start: Date;
1641
+ end?: Date | undefined;
1642
+ }, {
1643
+ start: string | Date;
1644
+ end?: string | Date | undefined;
1645
+ }>;
1646
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1647
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1648
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1649
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1650
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1651
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1652
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1653
+ referringUser: z.ZodOptional<z.ZodObject<{
1654
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1655
+ }, "strip", z.ZodTypeAny, {
1656
+ name?: string | undefined;
1657
+ }, {
1658
+ name?: string | undefined;
1659
+ }>>;
1660
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1661
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1662
+ createdBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1663
+ isExpired: z.ZodOptional<z.ZodBoolean>;
1664
+ }, "strict", z.ZodTypeAny, {
1665
+ value: number;
1666
+ code: string;
1667
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1668
+ duration: {
1669
+ start: Date;
1670
+ end?: Date | undefined;
1671
+ };
1672
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1673
+ spendLimit: number | null;
1674
+ maxDiscountLimit: number | null;
1675
+ totalOrderLimit: number | null;
1676
+ minOrderValue: number | null;
1677
+ forNewUserOnly: boolean;
1678
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1679
+ orderLimitPerUser: number | null;
1680
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1681
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1682
+ shops: import("mongoose").Types.ObjectId[];
1683
+ influencer: import("mongoose").Types.ObjectId;
1684
+ secondaryCurrencyValue?: number | undefined;
1685
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1686
+ secondaryCurrencyMinOrderValue?: number | undefined;
1687
+ referringUser?: {
1688
+ name?: string | undefined;
1689
+ } | undefined;
1690
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1691
+ isExpired?: boolean | undefined;
1692
+ }, {
1693
+ value: number;
1694
+ code: string;
1695
+ duration: {
1696
+ start: string | Date;
1697
+ end?: string | Date | undefined;
1698
+ };
1699
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1700
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1701
+ influencer: string | import("mongoose").Types.ObjectId;
1702
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1703
+ spendLimit?: number | null | undefined;
1704
+ secondaryCurrencyValue?: number | undefined;
1705
+ maxDiscountLimit?: number | null | undefined;
1706
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1707
+ totalOrderLimit?: number | null | undefined;
1708
+ minOrderValue?: number | null | undefined;
1709
+ secondaryCurrencyMinOrderValue?: number | undefined;
1710
+ forNewUserOnly?: boolean | undefined;
1711
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1712
+ referringUser?: {
1713
+ name?: string | undefined;
1714
+ } | undefined;
1715
+ orderLimitPerUser?: number | null | undefined;
1716
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1717
+ isExpired?: boolean | undefined;
1718
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1719
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1720
+ }>]>;
1721
+ }, "strip", z.ZodTypeAny, {
1722
+ _id: import("mongoose").Types.ObjectId;
1723
+ data: {
1724
+ value: number;
1725
+ code: string;
1726
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1727
+ duration: {
1728
+ start: Date;
1729
+ end?: Date | undefined;
1730
+ };
1731
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1732
+ spendLimit: number | null;
1733
+ maxDiscountLimit: number | null;
1734
+ totalOrderLimit: number | null;
1735
+ minOrderValue: number | null;
1736
+ forNewUserOnly: boolean;
1737
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1738
+ orderLimitPerUser: number | null;
1739
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1740
+ secondaryCurrencyValue?: number | undefined;
1741
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1742
+ secondaryCurrencyMinOrderValue?: number | undefined;
1743
+ referringUser?: {
1744
+ name?: string | undefined;
1745
+ } | undefined;
1746
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1747
+ isExpired?: boolean | undefined;
1748
+ } | {
1749
+ code: string;
1750
+ orderLimitPerUser: 1;
1751
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1752
+ referralUser: import("mongoose").Types.ObjectId;
1753
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1754
+ isExpired?: boolean | undefined;
1755
+ } | {
1756
+ value: number;
1757
+ code: string;
1758
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1759
+ duration: {
1760
+ start: Date;
1761
+ end?: Date | undefined;
1762
+ };
1763
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1764
+ spendLimit: number | null;
1765
+ user: import("mongoose").Types.ObjectId;
1766
+ maxDiscountLimit: number | null;
1767
+ totalOrderLimit: number | null;
1768
+ minOrderValue: number | null;
1769
+ forNewUserOnly: boolean;
1770
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1771
+ orderLimitPerUser: number | null;
1772
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1773
+ referralCodeUsedBy: import("mongoose").Types.ObjectId;
1774
+ referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
1775
+ secondaryCurrencyValue?: number | undefined;
1776
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1777
+ secondaryCurrencyMinOrderValue?: number | undefined;
1778
+ referringUser?: {
1779
+ name?: string | undefined;
1780
+ } | undefined;
1781
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1782
+ isExpired?: boolean | undefined;
1783
+ } | {
1784
+ value: number;
1785
+ code: string;
1786
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1787
+ duration: {
1788
+ start: Date;
1789
+ end?: Date | undefined;
1790
+ };
1791
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1792
+ spendLimit: number | null;
1793
+ maxDiscountLimit: number | null;
1794
+ totalOrderLimit: number | null;
1795
+ minOrderValue: number | null;
1796
+ forNewUserOnly: boolean;
1797
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1798
+ orderLimitPerUser: number | null;
1799
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1800
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1801
+ shops: import("mongoose").Types.ObjectId[];
1802
+ isShopCoverExpenses: boolean;
1803
+ secondaryCurrencyValue?: number | undefined;
1804
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1805
+ secondaryCurrencyMinOrderValue?: number | undefined;
1806
+ referringUser?: {
1807
+ name?: string | undefined;
1808
+ } | undefined;
1809
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1810
+ isExpired?: boolean | undefined;
1811
+ } | {
1812
+ value: number;
1813
+ code: string;
1814
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1815
+ duration: {
1816
+ start: Date;
1817
+ end?: Date | undefined;
1818
+ };
1819
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1820
+ spendLimit: number | null;
1821
+ maxDiscountLimit: number | null;
1822
+ totalOrderLimit: number | null;
1823
+ minOrderValue: number | null;
1824
+ forNewUserOnly: boolean;
1825
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1826
+ orderLimitPerUser: number | null;
1827
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1828
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1829
+ shops: import("mongoose").Types.ObjectId[];
1830
+ users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
1831
+ secondaryCurrencyValue?: number | undefined;
1832
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1833
+ secondaryCurrencyMinOrderValue?: number | undefined;
1834
+ referringUser?: {
1835
+ name?: string | undefined;
1836
+ } | undefined;
1837
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1838
+ isExpired?: boolean | undefined;
1839
+ } | {
1840
+ value: number;
1841
+ code: string;
1842
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1843
+ duration: {
1844
+ start: Date;
1845
+ end?: Date | undefined;
1846
+ };
1847
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1848
+ spendLimit: number | null;
1849
+ maxDiscountLimit: number | null;
1850
+ totalOrderLimit: number | null;
1851
+ minOrderValue: number | null;
1852
+ forNewUserOnly: boolean;
1853
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1854
+ orderLimitPerUser: number | null;
1855
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1856
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1857
+ shops: import("mongoose").Types.ObjectId[];
1858
+ influencer: import("mongoose").Types.ObjectId;
1859
+ secondaryCurrencyValue?: number | undefined;
1860
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1861
+ secondaryCurrencyMinOrderValue?: number | undefined;
1862
+ referringUser?: {
1863
+ name?: string | undefined;
1864
+ } | undefined;
1865
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
1866
+ isExpired?: boolean | undefined;
1867
+ };
1868
+ }, {
1869
+ _id: string | import("mongoose").Types.ObjectId;
1870
+ data: {
1871
+ value: number;
1872
+ code: string;
1873
+ duration: {
1874
+ start: string | Date;
1875
+ end?: string | Date | undefined;
1876
+ };
1877
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1878
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1879
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1880
+ spendLimit?: number | null | undefined;
1881
+ secondaryCurrencyValue?: number | undefined;
1882
+ maxDiscountLimit?: number | null | undefined;
1883
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1884
+ totalOrderLimit?: number | null | undefined;
1885
+ minOrderValue?: number | null | undefined;
1886
+ secondaryCurrencyMinOrderValue?: number | undefined;
1887
+ forNewUserOnly?: boolean | undefined;
1888
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1889
+ referringUser?: {
1890
+ name?: string | undefined;
1891
+ } | undefined;
1892
+ orderLimitPerUser?: number | null | undefined;
1893
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1894
+ isExpired?: boolean | undefined;
1895
+ } | {
1896
+ code: string;
1897
+ orderLimitPerUser: 1;
1898
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1899
+ referralUser: string | import("mongoose").Types.ObjectId;
1900
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1901
+ isExpired?: boolean | undefined;
1902
+ } | {
1903
+ value: number;
1904
+ code: string;
1905
+ duration: {
1906
+ start: string | Date;
1907
+ end?: string | Date | undefined;
1908
+ };
1909
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1910
+ user: string | import("mongoose").Types.ObjectId;
1911
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1912
+ referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
1913
+ referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
1914
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1915
+ spendLimit?: number | null | undefined;
1916
+ secondaryCurrencyValue?: number | undefined;
1917
+ maxDiscountLimit?: number | null | undefined;
1918
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1919
+ totalOrderLimit?: number | null | undefined;
1920
+ minOrderValue?: number | null | undefined;
1921
+ secondaryCurrencyMinOrderValue?: number | undefined;
1922
+ forNewUserOnly?: boolean | undefined;
1923
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1924
+ referringUser?: {
1925
+ name?: string | undefined;
1926
+ } | undefined;
1927
+ orderLimitPerUser?: number | null | undefined;
1928
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1929
+ isExpired?: boolean | undefined;
1930
+ } | {
1931
+ value: number;
1932
+ code: string;
1933
+ duration: {
1934
+ start: string | Date;
1935
+ end?: string | Date | undefined;
1936
+ };
1937
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1938
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1939
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1940
+ spendLimit?: number | null | undefined;
1941
+ secondaryCurrencyValue?: number | undefined;
1942
+ maxDiscountLimit?: number | null | undefined;
1943
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1944
+ totalOrderLimit?: number | null | undefined;
1945
+ minOrderValue?: number | null | undefined;
1946
+ secondaryCurrencyMinOrderValue?: number | undefined;
1947
+ forNewUserOnly?: boolean | undefined;
1948
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1949
+ referringUser?: {
1950
+ name?: string | undefined;
1951
+ } | undefined;
1952
+ orderLimitPerUser?: number | null | undefined;
1953
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1954
+ isExpired?: boolean | undefined;
1955
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1956
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1957
+ isShopCoverExpenses?: boolean | undefined;
1958
+ } | {
1959
+ value: number;
1960
+ code: string;
1961
+ duration: {
1962
+ start: string | Date;
1963
+ end?: string | Date | undefined;
1964
+ };
1965
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1966
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1967
+ users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
1968
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1969
+ spendLimit?: number | null | undefined;
1970
+ secondaryCurrencyValue?: number | undefined;
1971
+ maxDiscountLimit?: number | null | undefined;
1972
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1973
+ totalOrderLimit?: number | null | undefined;
1974
+ minOrderValue?: number | null | undefined;
1975
+ secondaryCurrencyMinOrderValue?: number | undefined;
1976
+ forNewUserOnly?: boolean | undefined;
1977
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1978
+ referringUser?: {
1979
+ name?: string | undefined;
1980
+ } | undefined;
1981
+ orderLimitPerUser?: number | null | undefined;
1982
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1983
+ isExpired?: boolean | undefined;
1984
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1985
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1986
+ } | {
1987
+ value: number;
1988
+ code: string;
1989
+ duration: {
1990
+ start: string | Date;
1991
+ end?: string | Date | undefined;
1992
+ };
1993
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1994
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1995
+ influencer: string | import("mongoose").Types.ObjectId;
1996
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1997
+ spendLimit?: number | null | undefined;
1998
+ secondaryCurrencyValue?: number | undefined;
1999
+ maxDiscountLimit?: number | null | undefined;
2000
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
2001
+ totalOrderLimit?: number | null | undefined;
2002
+ minOrderValue?: number | null | undefined;
2003
+ secondaryCurrencyMinOrderValue?: number | undefined;
2004
+ forNewUserOnly?: boolean | undefined;
2005
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
2006
+ referringUser?: {
2007
+ name?: string | undefined;
2008
+ } | undefined;
2009
+ orderLimitPerUser?: number | null | undefined;
2010
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
2011
+ isExpired?: boolean | undefined;
2012
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
2013
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
2014
+ };
2015
+ }>;
2016
+ export declare const CouponResponseSchema: z.ZodObject<{
2017
+ success: z.ZodBoolean;
2018
+ message: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2019
+ data: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
2020
+ metadata: z.ZodOptional<z.ZodObject<{
2021
+ page: z.ZodNumber;
2022
+ size: z.ZodNumber;
2023
+ totalElements: z.ZodNumber;
2024
+ totalPages: z.ZodNumber;
2025
+ }, "strip", z.ZodTypeAny, {
2026
+ page: number;
2027
+ size: number;
2028
+ totalElements: number;
2029
+ totalPages: number;
2030
+ }, {
2031
+ page: number;
2032
+ size: number;
2033
+ totalElements: number;
2034
+ totalPages: number;
2035
+ }>>;
2036
+ documents: z.ZodArray<z.ZodType<z.objectInputType<{
2037
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2038
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2039
+ value: z.ZodOptional<z.ZodNumber>;
2040
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2041
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2042
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2043
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2044
+ 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>;
2045
+ 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>>;
2046
+ }, "strip", z.ZodTypeAny, {
2047
+ start: Date;
2048
+ end?: Date | undefined;
2049
+ }, {
2050
+ start: string | Date;
2051
+ end?: string | Date | undefined;
2052
+ }>, {
2053
+ start: Date;
2054
+ end?: Date | undefined;
2055
+ }, {
2056
+ start: string | Date;
2057
+ end?: string | Date | undefined;
2058
+ }>>;
2059
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2060
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2061
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2062
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2063
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2064
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2065
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2066
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2067
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2068
+ }, "strip", z.ZodTypeAny, {
2069
+ name?: string | undefined;
2070
+ }, {
2071
+ name?: string | undefined;
2072
+ }>>>;
2073
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2074
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2075
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2076
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2077
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2078
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2079
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2080
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2081
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2082
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2083
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2084
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2085
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2086
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2087
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2088
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2089
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2090
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2091
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2092
+ value: z.ZodOptional<z.ZodNumber>;
2093
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2094
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2095
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2096
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2097
+ 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>;
2098
+ 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>>;
2099
+ }, "strip", z.ZodTypeAny, {
2100
+ start: Date;
2101
+ end?: Date | undefined;
2102
+ }, {
2103
+ start: string | Date;
2104
+ end?: string | Date | undefined;
2105
+ }>, {
2106
+ start: Date;
2107
+ end?: Date | undefined;
2108
+ }, {
2109
+ start: string | Date;
2110
+ end?: string | Date | undefined;
2111
+ }>>;
2112
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2113
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2114
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2115
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2116
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2117
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2118
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2119
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2120
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2121
+ }, "strip", z.ZodTypeAny, {
2122
+ name?: string | undefined;
2123
+ }, {
2124
+ name?: string | undefined;
2125
+ }>>>;
2126
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2127
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2128
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2129
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2130
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2131
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2132
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2133
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2134
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2135
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2136
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2137
+ value: z.ZodOptional<z.ZodNumber>;
2138
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2139
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2140
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2141
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2142
+ 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>;
2143
+ 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>>;
2144
+ }, "strip", z.ZodTypeAny, {
2145
+ start: Date;
2146
+ end?: Date | undefined;
2147
+ }, {
2148
+ start: string | Date;
2149
+ end?: string | Date | undefined;
2150
+ }>, {
2151
+ start: Date;
2152
+ end?: Date | undefined;
2153
+ }, {
2154
+ start: string | Date;
2155
+ end?: string | Date | undefined;
2156
+ }>>;
2157
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2158
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2159
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2160
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2161
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2162
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2163
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2164
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2165
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2166
+ }, "strip", z.ZodTypeAny, {
2167
+ name?: string | undefined;
2168
+ }, {
2169
+ name?: string | undefined;
2170
+ }>>>;
2171
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2172
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2173
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2174
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2175
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2176
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2177
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2178
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
2179
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2180
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2181
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2182
+ value: z.ZodOptional<z.ZodNumber>;
2183
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2184
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2185
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2186
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2187
+ 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>;
2188
+ 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>>;
2189
+ }, "strip", z.ZodTypeAny, {
2190
+ start: Date;
2191
+ end?: Date | undefined;
2192
+ }, {
2193
+ start: string | Date;
2194
+ end?: string | Date | undefined;
2195
+ }>, {
2196
+ start: Date;
2197
+ end?: Date | undefined;
2198
+ }, {
2199
+ start: string | Date;
2200
+ end?: string | Date | undefined;
2201
+ }>>;
2202
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2203
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2204
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2205
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2206
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2207
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2208
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2209
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2210
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2211
+ }, "strip", z.ZodTypeAny, {
2212
+ name?: string | undefined;
2213
+ }, {
2214
+ name?: string | undefined;
2215
+ }>>>;
2216
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2217
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2218
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2219
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2220
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2221
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2222
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2223
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2224
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2225
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2226
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2227
+ value: z.ZodOptional<z.ZodNumber>;
2228
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2229
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2230
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2231
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2232
+ 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>;
2233
+ 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>>;
2234
+ }, "strip", z.ZodTypeAny, {
2235
+ start: Date;
2236
+ end?: Date | undefined;
2237
+ }, {
2238
+ start: string | Date;
2239
+ end?: string | Date | undefined;
2240
+ }>, {
2241
+ start: Date;
2242
+ end?: Date | undefined;
2243
+ }, {
2244
+ start: string | Date;
2245
+ end?: string | Date | undefined;
2246
+ }>>;
2247
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2248
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2249
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2250
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2251
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2252
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2253
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2254
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2255
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2256
+ }, "strip", z.ZodTypeAny, {
2257
+ name?: string | undefined;
2258
+ }, {
2259
+ name?: string | undefined;
2260
+ }>>>;
2261
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2262
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2263
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2264
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2265
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2266
+ }, z.ZodTypeAny, "passthrough">, z.ZodTypeDef, z.objectInputType<{
2267
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2268
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2269
+ value: z.ZodOptional<z.ZodNumber>;
2270
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2271
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2272
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2273
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2274
+ 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>;
2275
+ 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>>;
2276
+ }, "strip", z.ZodTypeAny, {
2277
+ start: Date;
2278
+ end?: Date | undefined;
2279
+ }, {
2280
+ start: string | Date;
2281
+ end?: string | Date | undefined;
2282
+ }>, {
2283
+ start: Date;
2284
+ end?: Date | undefined;
2285
+ }, {
2286
+ start: string | Date;
2287
+ end?: string | Date | undefined;
2288
+ }>>;
2289
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2290
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2291
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2292
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2293
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2294
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2295
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2296
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2297
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2298
+ }, "strip", z.ZodTypeAny, {
2299
+ name?: string | undefined;
2300
+ }, {
2301
+ name?: string | undefined;
2302
+ }>>>;
2303
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2304
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2305
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2306
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2307
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2308
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2309
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2310
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2311
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2312
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2313
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2314
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2315
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2316
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2317
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2318
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2319
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2320
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2321
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2322
+ value: z.ZodOptional<z.ZodNumber>;
2323
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2324
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2325
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2326
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2327
+ 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>;
2328
+ 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>>;
2329
+ }, "strip", z.ZodTypeAny, {
2330
+ start: Date;
2331
+ end?: Date | undefined;
2332
+ }, {
2333
+ start: string | Date;
2334
+ end?: string | Date | undefined;
2335
+ }>, {
2336
+ start: Date;
2337
+ end?: Date | undefined;
2338
+ }, {
2339
+ start: string | Date;
2340
+ end?: string | Date | undefined;
2341
+ }>>;
2342
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2343
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2344
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2345
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2346
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2347
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2348
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2349
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2350
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2351
+ }, "strip", z.ZodTypeAny, {
2352
+ name?: string | undefined;
2353
+ }, {
2354
+ name?: string | undefined;
2355
+ }>>>;
2356
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2357
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2358
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2359
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2360
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2361
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2362
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2363
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2364
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2365
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2366
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2367
+ value: z.ZodOptional<z.ZodNumber>;
2368
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2369
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2370
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2371
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2372
+ 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>;
2373
+ 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>>;
2374
+ }, "strip", z.ZodTypeAny, {
2375
+ start: Date;
2376
+ end?: Date | undefined;
2377
+ }, {
2378
+ start: string | Date;
2379
+ end?: string | Date | undefined;
2380
+ }>, {
2381
+ start: Date;
2382
+ end?: Date | undefined;
2383
+ }, {
2384
+ start: string | Date;
2385
+ end?: string | Date | undefined;
2386
+ }>>;
2387
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2388
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2389
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2390
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2391
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2392
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2393
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2394
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2395
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2396
+ }, "strip", z.ZodTypeAny, {
2397
+ name?: string | undefined;
2398
+ }, {
2399
+ name?: string | undefined;
2400
+ }>>>;
2401
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2402
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2403
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2404
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2405
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2406
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2407
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2408
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
2409
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2410
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2411
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2412
+ value: z.ZodOptional<z.ZodNumber>;
2413
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2414
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2415
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2416
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2417
+ 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>;
2418
+ 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>>;
2419
+ }, "strip", z.ZodTypeAny, {
2420
+ start: Date;
2421
+ end?: Date | undefined;
2422
+ }, {
2423
+ start: string | Date;
2424
+ end?: string | Date | undefined;
2425
+ }>, {
2426
+ start: Date;
2427
+ end?: Date | undefined;
2428
+ }, {
2429
+ start: string | Date;
2430
+ end?: string | Date | undefined;
2431
+ }>>;
2432
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2433
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2434
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2435
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2436
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2437
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2438
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2439
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2440
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2441
+ }, "strip", z.ZodTypeAny, {
2442
+ name?: string | undefined;
2443
+ }, {
2444
+ name?: string | undefined;
2445
+ }>>>;
2446
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2447
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2448
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2449
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2450
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2451
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2452
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2453
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2454
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2455
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2456
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2457
+ value: z.ZodOptional<z.ZodNumber>;
2458
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2459
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2460
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2461
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2462
+ 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>;
2463
+ 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>>;
2464
+ }, "strip", z.ZodTypeAny, {
2465
+ start: Date;
2466
+ end?: Date | undefined;
2467
+ }, {
2468
+ start: string | Date;
2469
+ end?: string | Date | undefined;
2470
+ }>, {
2471
+ start: Date;
2472
+ end?: Date | undefined;
2473
+ }, {
2474
+ start: string | Date;
2475
+ end?: string | Date | undefined;
2476
+ }>>;
2477
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2478
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2479
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2480
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2481
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2482
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2483
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2484
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2485
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2486
+ }, "strip", z.ZodTypeAny, {
2487
+ name?: string | undefined;
2488
+ }, {
2489
+ name?: string | undefined;
2490
+ }>>>;
2491
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2492
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2493
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("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>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2496
+ }, z.ZodTypeAny, "passthrough">>, "many">;
2497
+ }, "strip", z.ZodTypeAny, {
2498
+ documents: (z.objectInputType<{
2499
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2500
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2501
+ value: z.ZodOptional<z.ZodNumber>;
2502
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2503
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2504
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2505
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2506
+ 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>;
2507
+ 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>>;
2508
+ }, "strip", z.ZodTypeAny, {
2509
+ start: Date;
2510
+ end?: Date | undefined;
2511
+ }, {
2512
+ start: string | Date;
2513
+ end?: string | Date | undefined;
2514
+ }>, {
2515
+ start: Date;
2516
+ end?: Date | undefined;
2517
+ }, {
2518
+ start: string | Date;
2519
+ end?: string | Date | undefined;
2520
+ }>>;
2521
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2522
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2523
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2524
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2525
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2526
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2527
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2528
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2529
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2530
+ }, "strip", z.ZodTypeAny, {
2531
+ name?: string | undefined;
2532
+ }, {
2533
+ name?: string | undefined;
2534
+ }>>>;
2535
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2536
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2537
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2538
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2539
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2540
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2541
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2542
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2543
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2544
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2545
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2546
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2547
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2548
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2549
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2550
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2551
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2552
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2553
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2554
+ value: z.ZodOptional<z.ZodNumber>;
2555
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2556
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2557
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2558
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2559
+ 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>;
2560
+ 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>>;
2561
+ }, "strip", z.ZodTypeAny, {
2562
+ start: Date;
2563
+ end?: Date | undefined;
2564
+ }, {
2565
+ start: string | Date;
2566
+ end?: string | Date | undefined;
2567
+ }>, {
2568
+ start: Date;
2569
+ end?: Date | undefined;
2570
+ }, {
2571
+ start: string | Date;
2572
+ end?: string | Date | undefined;
2573
+ }>>;
2574
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2575
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2576
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2577
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2578
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2579
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2580
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2581
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2582
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2583
+ }, "strip", z.ZodTypeAny, {
2584
+ name?: string | undefined;
2585
+ }, {
2586
+ name?: string | undefined;
2587
+ }>>>;
2588
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2589
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2590
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2591
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2592
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2593
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2594
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2595
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2596
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2597
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2598
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2599
+ value: z.ZodOptional<z.ZodNumber>;
2600
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2601
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2602
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2603
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2604
+ 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>;
2605
+ 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>>;
2606
+ }, "strip", z.ZodTypeAny, {
2607
+ start: Date;
2608
+ end?: Date | undefined;
2609
+ }, {
2610
+ start: string | Date;
2611
+ end?: string | Date | undefined;
2612
+ }>, {
2613
+ start: Date;
2614
+ end?: Date | undefined;
2615
+ }, {
2616
+ start: string | Date;
2617
+ end?: string | Date | undefined;
2618
+ }>>;
2619
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2620
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2621
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2622
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2623
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2624
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2625
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2626
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2627
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2628
+ }, "strip", z.ZodTypeAny, {
2629
+ name?: string | undefined;
2630
+ }, {
2631
+ name?: string | undefined;
2632
+ }>>>;
2633
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2634
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2635
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2636
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2637
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2638
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2639
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2640
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
2641
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2642
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2643
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2644
+ value: z.ZodOptional<z.ZodNumber>;
2645
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2646
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2647
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2648
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2649
+ 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>;
2650
+ 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>>;
2651
+ }, "strip", z.ZodTypeAny, {
2652
+ start: Date;
2653
+ end?: Date | undefined;
2654
+ }, {
2655
+ start: string | Date;
2656
+ end?: string | Date | undefined;
2657
+ }>, {
2658
+ start: Date;
2659
+ end?: Date | undefined;
2660
+ }, {
2661
+ start: string | Date;
2662
+ end?: string | Date | undefined;
2663
+ }>>;
2664
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2665
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2666
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2667
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2668
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2669
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2670
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2671
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2672
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2673
+ }, "strip", z.ZodTypeAny, {
2674
+ name?: string | undefined;
2675
+ }, {
2676
+ name?: string | undefined;
2677
+ }>>>;
2678
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2679
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2680
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2681
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2682
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2683
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2684
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2685
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2686
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2687
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2688
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2689
+ value: z.ZodOptional<z.ZodNumber>;
2690
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2691
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2692
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2693
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2694
+ 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>;
2695
+ 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>>;
2696
+ }, "strip", z.ZodTypeAny, {
2697
+ start: Date;
2698
+ end?: Date | undefined;
2699
+ }, {
2700
+ start: string | Date;
2701
+ end?: string | Date | undefined;
2702
+ }>, {
2703
+ start: Date;
2704
+ end?: Date | undefined;
2705
+ }, {
2706
+ start: string | Date;
2707
+ end?: string | Date | undefined;
2708
+ }>>;
2709
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2710
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2711
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2712
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2713
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2714
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2715
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2716
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2717
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2718
+ }, "strip", z.ZodTypeAny, {
2719
+ name?: string | undefined;
2720
+ }, {
2721
+ name?: string | undefined;
2722
+ }>>>;
2723
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2724
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2725
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2726
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2727
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2728
+ }, z.ZodTypeAny, "passthrough">)[];
2729
+ metadata?: {
2730
+ page: number;
2731
+ size: number;
2732
+ totalElements: number;
2733
+ totalPages: number;
2734
+ } | undefined;
2735
+ }, {
2736
+ documents: (z.objectInputType<{
2737
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2738
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2739
+ value: z.ZodOptional<z.ZodNumber>;
2740
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2741
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2742
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2743
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2744
+ 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>;
2745
+ 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>>;
2746
+ }, "strip", z.ZodTypeAny, {
2747
+ start: Date;
2748
+ end?: Date | undefined;
2749
+ }, {
2750
+ start: string | Date;
2751
+ end?: string | Date | undefined;
2752
+ }>, {
2753
+ start: Date;
2754
+ end?: Date | undefined;
2755
+ }, {
2756
+ start: string | Date;
2757
+ end?: string | Date | undefined;
2758
+ }>>;
2759
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2760
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2761
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2762
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2763
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2764
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2765
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2766
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2767
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2768
+ }, "strip", z.ZodTypeAny, {
2769
+ name?: string | undefined;
2770
+ }, {
2771
+ name?: string | undefined;
2772
+ }>>>;
2773
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2774
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2775
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2776
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2777
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2778
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2779
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2780
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2781
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2782
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2783
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2784
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2785
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2786
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2787
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2788
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2789
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2790
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2791
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2792
+ value: z.ZodOptional<z.ZodNumber>;
2793
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2794
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2795
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2796
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2797
+ 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>;
2798
+ 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>>;
2799
+ }, "strip", z.ZodTypeAny, {
2800
+ start: Date;
2801
+ end?: Date | undefined;
2802
+ }, {
2803
+ start: string | Date;
2804
+ end?: string | Date | undefined;
2805
+ }>, {
2806
+ start: Date;
2807
+ end?: Date | undefined;
2808
+ }, {
2809
+ start: string | Date;
2810
+ end?: string | Date | undefined;
2811
+ }>>;
2812
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2813
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2814
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2815
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2816
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2817
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2818
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2819
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2820
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2821
+ }, "strip", z.ZodTypeAny, {
2822
+ name?: string | undefined;
2823
+ }, {
2824
+ name?: string | undefined;
2825
+ }>>>;
2826
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2827
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2828
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2829
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2830
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2831
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2832
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2833
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2834
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2835
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2836
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2837
+ value: z.ZodOptional<z.ZodNumber>;
2838
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2839
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2840
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2841
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2842
+ 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>;
2843
+ 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>>;
2844
+ }, "strip", z.ZodTypeAny, {
2845
+ start: Date;
2846
+ end?: Date | undefined;
2847
+ }, {
2848
+ start: string | Date;
2849
+ end?: string | Date | undefined;
2850
+ }>, {
2851
+ start: Date;
2852
+ end?: Date | undefined;
2853
+ }, {
2854
+ start: string | Date;
2855
+ end?: string | Date | undefined;
2856
+ }>>;
2857
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2858
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2859
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2860
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2861
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2862
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2863
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2864
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2865
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2866
+ }, "strip", z.ZodTypeAny, {
2867
+ name?: string | undefined;
2868
+ }, {
2869
+ name?: string | undefined;
2870
+ }>>>;
2871
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2872
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2873
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2874
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2875
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2876
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2877
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2878
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
2879
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2880
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2881
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2882
+ value: z.ZodOptional<z.ZodNumber>;
2883
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2884
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2885
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2886
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2887
+ 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>;
2888
+ 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>>;
2889
+ }, "strip", z.ZodTypeAny, {
2890
+ start: Date;
2891
+ end?: Date | undefined;
2892
+ }, {
2893
+ start: string | Date;
2894
+ end?: string | Date | undefined;
2895
+ }>, {
2896
+ start: Date;
2897
+ end?: Date | undefined;
2898
+ }, {
2899
+ start: string | Date;
2900
+ end?: string | Date | undefined;
2901
+ }>>;
2902
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2903
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2904
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2905
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2906
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2907
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2908
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2909
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2910
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2911
+ }, "strip", z.ZodTypeAny, {
2912
+ name?: string | undefined;
2913
+ }, {
2914
+ name?: string | undefined;
2915
+ }>>>;
2916
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2917
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2918
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2919
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2920
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2921
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2922
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2923
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2924
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2925
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
2926
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2927
+ value: z.ZodOptional<z.ZodNumber>;
2928
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2929
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2930
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2931
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2932
+ 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>;
2933
+ 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>>;
2934
+ }, "strip", z.ZodTypeAny, {
2935
+ start: Date;
2936
+ end?: Date | undefined;
2937
+ }, {
2938
+ start: string | Date;
2939
+ end?: string | Date | undefined;
2940
+ }>, {
2941
+ start: Date;
2942
+ end?: Date | undefined;
2943
+ }, {
2944
+ start: string | Date;
2945
+ end?: string | Date | undefined;
2946
+ }>>;
2947
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2948
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2949
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2950
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2951
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2952
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2953
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2954
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2955
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2956
+ }, "strip", z.ZodTypeAny, {
2957
+ name?: string | undefined;
2958
+ }, {
2959
+ name?: string | undefined;
2960
+ }>>>;
2961
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2962
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2963
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
2964
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2965
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
2966
+ }, z.ZodTypeAny, "passthrough">)[];
2967
+ metadata?: {
2968
+ page: number;
2969
+ size: number;
2970
+ totalElements: number;
2971
+ totalPages: number;
2972
+ } | undefined;
2973
+ }>, z.ZodType<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
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2981
+ 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>;
2982
+ 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>>;
2983
+ }, "strip", z.ZodTypeAny, {
2984
+ start: Date;
2985
+ end?: Date | undefined;
2986
+ }, {
2987
+ start: string | Date;
2988
+ end?: string | Date | undefined;
2989
+ }>, {
2990
+ start: Date;
2991
+ end?: Date | undefined;
2992
+ }, {
2993
+ start: string | Date;
2994
+ end?: string | Date | undefined;
2995
+ }>>;
2996
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2997
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2998
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2999
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3000
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3001
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3002
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3003
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3004
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3005
+ }, "strip", z.ZodTypeAny, {
3006
+ name?: string | undefined;
3007
+ }, {
3008
+ name?: string | undefined;
3009
+ }>>>;
3010
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3011
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3012
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3013
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3014
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3015
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3016
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3017
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3018
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3019
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3020
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3021
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3022
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3023
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3024
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3025
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3026
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3027
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3028
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3029
+ value: z.ZodOptional<z.ZodNumber>;
3030
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3031
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3032
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3033
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3034
+ 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>;
3035
+ 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>>;
3036
+ }, "strip", z.ZodTypeAny, {
3037
+ start: Date;
3038
+ end?: Date | undefined;
3039
+ }, {
3040
+ start: string | Date;
3041
+ end?: string | Date | undefined;
3042
+ }>, {
3043
+ start: Date;
3044
+ end?: Date | undefined;
3045
+ }, {
3046
+ start: string | Date;
3047
+ end?: string | Date | undefined;
3048
+ }>>;
3049
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3050
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3051
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3052
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3053
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3054
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3055
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3056
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3057
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3058
+ }, "strip", z.ZodTypeAny, {
3059
+ name?: string | undefined;
3060
+ }, {
3061
+ name?: string | undefined;
3062
+ }>>>;
3063
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3064
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3065
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3066
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3067
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3068
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3069
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3070
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3071
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3072
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3073
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3074
+ value: z.ZodOptional<z.ZodNumber>;
3075
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3076
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3077
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3078
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3079
+ 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>;
3080
+ 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>>;
3081
+ }, "strip", z.ZodTypeAny, {
3082
+ start: Date;
3083
+ end?: Date | undefined;
3084
+ }, {
3085
+ start: string | Date;
3086
+ end?: string | Date | undefined;
3087
+ }>, {
3088
+ start: Date;
3089
+ end?: Date | undefined;
3090
+ }, {
3091
+ start: string | Date;
3092
+ end?: string | Date | undefined;
3093
+ }>>;
3094
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3095
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3096
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3097
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3098
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3099
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3100
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3101
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3102
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3103
+ }, "strip", z.ZodTypeAny, {
3104
+ name?: string | undefined;
3105
+ }, {
3106
+ name?: string | undefined;
3107
+ }>>>;
3108
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3109
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3110
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3111
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3112
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3113
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3114
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
3115
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
3116
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3117
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3118
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3119
+ value: z.ZodOptional<z.ZodNumber>;
3120
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3121
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3122
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3123
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3124
+ 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>;
3125
+ 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>>;
3126
+ }, "strip", z.ZodTypeAny, {
3127
+ start: Date;
3128
+ end?: Date | undefined;
3129
+ }, {
3130
+ start: string | Date;
3131
+ end?: string | Date | undefined;
3132
+ }>, {
3133
+ start: Date;
3134
+ end?: Date | undefined;
3135
+ }, {
3136
+ start: string | Date;
3137
+ end?: string | Date | undefined;
3138
+ }>>;
3139
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3140
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3141
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3142
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3143
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3144
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3145
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3146
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3147
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3148
+ }, "strip", z.ZodTypeAny, {
3149
+ name?: string | undefined;
3150
+ }, {
3151
+ name?: string | undefined;
3152
+ }>>>;
3153
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3154
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3155
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3156
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3157
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3158
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3159
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
3160
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3161
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3162
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3163
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3164
+ value: z.ZodOptional<z.ZodNumber>;
3165
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3166
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3167
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3168
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3169
+ 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>;
3170
+ 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>>;
3171
+ }, "strip", z.ZodTypeAny, {
3172
+ start: Date;
3173
+ end?: Date | undefined;
3174
+ }, {
3175
+ start: string | Date;
3176
+ end?: string | Date | undefined;
3177
+ }>, {
3178
+ start: Date;
3179
+ end?: Date | undefined;
3180
+ }, {
3181
+ start: string | Date;
3182
+ end?: string | Date | undefined;
3183
+ }>>;
3184
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3185
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3186
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3187
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3188
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3189
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3190
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3191
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3192
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3193
+ }, "strip", z.ZodTypeAny, {
3194
+ name?: string | undefined;
3195
+ }, {
3196
+ name?: string | undefined;
3197
+ }>>>;
3198
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3199
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3200
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3201
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3202
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3203
+ }, z.ZodTypeAny, "passthrough">, z.ZodTypeDef, z.objectInputType<{
3204
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3205
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3206
+ value: z.ZodOptional<z.ZodNumber>;
3207
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3208
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3209
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3210
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3211
+ 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>;
3212
+ 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>>;
3213
+ }, "strip", z.ZodTypeAny, {
3214
+ start: Date;
3215
+ end?: Date | undefined;
3216
+ }, {
3217
+ start: string | Date;
3218
+ end?: string | Date | undefined;
3219
+ }>, {
3220
+ start: Date;
3221
+ end?: Date | undefined;
3222
+ }, {
3223
+ start: string | Date;
3224
+ end?: string | Date | undefined;
3225
+ }>>;
3226
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3227
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3228
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3229
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3230
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3231
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3232
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3233
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3234
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3235
+ }, "strip", z.ZodTypeAny, {
3236
+ name?: string | undefined;
3237
+ }, {
3238
+ name?: string | undefined;
3239
+ }>>>;
3240
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3241
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3242
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3243
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3244
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3245
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3246
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3247
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3248
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3249
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3250
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3251
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3252
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3253
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3254
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3255
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3256
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3257
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3258
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3259
+ value: z.ZodOptional<z.ZodNumber>;
3260
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3261
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3262
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3263
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3264
+ 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>;
3265
+ 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>>;
3266
+ }, "strip", z.ZodTypeAny, {
3267
+ start: Date;
3268
+ end?: Date | undefined;
3269
+ }, {
3270
+ start: string | Date;
3271
+ end?: string | Date | undefined;
3272
+ }>, {
3273
+ start: Date;
3274
+ end?: Date | undefined;
3275
+ }, {
3276
+ start: string | Date;
3277
+ end?: string | Date | undefined;
3278
+ }>>;
3279
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3280
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3281
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3282
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3283
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3284
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3285
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3286
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3287
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3288
+ }, "strip", z.ZodTypeAny, {
3289
+ name?: string | undefined;
3290
+ }, {
3291
+ name?: string | undefined;
3292
+ }>>>;
3293
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3294
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3295
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3296
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3297
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3298
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3299
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3300
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3301
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3302
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3303
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3304
+ value: z.ZodOptional<z.ZodNumber>;
3305
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3306
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3307
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3308
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3309
+ 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>;
3310
+ 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>>;
3311
+ }, "strip", z.ZodTypeAny, {
3312
+ start: Date;
3313
+ end?: Date | undefined;
3314
+ }, {
3315
+ start: string | Date;
3316
+ end?: string | Date | undefined;
3317
+ }>, {
3318
+ start: Date;
3319
+ end?: Date | undefined;
3320
+ }, {
3321
+ start: string | Date;
3322
+ end?: string | Date | undefined;
3323
+ }>>;
3324
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3325
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3326
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3327
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3328
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3329
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3330
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3331
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3332
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3333
+ }, "strip", z.ZodTypeAny, {
3334
+ name?: string | undefined;
3335
+ }, {
3336
+ name?: string | undefined;
3337
+ }>>>;
3338
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3339
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3340
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3341
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3342
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3343
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3344
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
3345
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
3346
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3347
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3348
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3349
+ value: z.ZodOptional<z.ZodNumber>;
3350
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3351
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3352
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3353
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3354
+ 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>;
3355
+ 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>>;
3356
+ }, "strip", z.ZodTypeAny, {
3357
+ start: Date;
3358
+ end?: Date | undefined;
3359
+ }, {
3360
+ start: string | Date;
3361
+ end?: string | Date | undefined;
3362
+ }>, {
3363
+ start: Date;
3364
+ end?: Date | undefined;
3365
+ }, {
3366
+ start: string | Date;
3367
+ end?: string | Date | undefined;
3368
+ }>>;
3369
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3370
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3371
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3372
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3373
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3374
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3375
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3376
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3377
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3378
+ }, "strip", z.ZodTypeAny, {
3379
+ name?: string | undefined;
3380
+ }, {
3381
+ name?: string | undefined;
3382
+ }>>>;
3383
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3384
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3385
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3386
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3387
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3388
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3389
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
3390
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3391
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3392
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
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
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3399
+ 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>;
3400
+ 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>>;
3401
+ }, "strip", z.ZodTypeAny, {
3402
+ start: Date;
3403
+ end?: Date | undefined;
3404
+ }, {
3405
+ start: string | Date;
3406
+ end?: string | Date | undefined;
3407
+ }>, {
3408
+ start: Date;
3409
+ end?: Date | undefined;
3410
+ }, {
3411
+ start: string | Date;
3412
+ end?: string | Date | undefined;
3413
+ }>>;
3414
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3415
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3416
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3417
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3418
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3419
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3420
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3421
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3422
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3423
+ }, "strip", z.ZodTypeAny, {
3424
+ name?: string | undefined;
3425
+ }, {
3426
+ name?: string | undefined;
3427
+ }>>>;
3428
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3429
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3430
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3431
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3432
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3433
+ }, z.ZodTypeAny, "passthrough">>]>>;
3434
+ }, "strip", z.ZodTypeAny, {
3435
+ message: string;
3436
+ success: boolean;
3437
+ data?: z.objectInputType<{
3438
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3439
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3440
+ value: z.ZodOptional<z.ZodNumber>;
3441
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3442
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3443
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3444
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3445
+ 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>;
3446
+ 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>>;
3447
+ }, "strip", z.ZodTypeAny, {
3448
+ start: Date;
3449
+ end?: Date | undefined;
3450
+ }, {
3451
+ start: string | Date;
3452
+ end?: string | Date | undefined;
3453
+ }>, {
3454
+ start: Date;
3455
+ end?: Date | undefined;
3456
+ }, {
3457
+ start: string | Date;
3458
+ end?: string | Date | undefined;
3459
+ }>>;
3460
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3461
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3462
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3463
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3464
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3465
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3466
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3467
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3468
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3469
+ }, "strip", z.ZodTypeAny, {
3470
+ name?: string | undefined;
3471
+ }, {
3472
+ name?: string | undefined;
3473
+ }>>>;
3474
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3475
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3476
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3477
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3478
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3479
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3480
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3481
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3482
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3483
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3484
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3485
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3486
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3487
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3488
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3489
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3490
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3491
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3492
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3493
+ value: z.ZodOptional<z.ZodNumber>;
3494
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3495
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3496
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3497
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3498
+ 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>;
3499
+ 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>>;
3500
+ }, "strip", z.ZodTypeAny, {
3501
+ start: Date;
3502
+ end?: Date | undefined;
3503
+ }, {
3504
+ start: string | Date;
3505
+ end?: string | Date | undefined;
3506
+ }>, {
3507
+ start: Date;
3508
+ end?: Date | undefined;
3509
+ }, {
3510
+ start: string | Date;
3511
+ end?: string | Date | undefined;
3512
+ }>>;
3513
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3514
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3515
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3516
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3517
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3518
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3519
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3520
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3521
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3522
+ }, "strip", z.ZodTypeAny, {
3523
+ name?: string | undefined;
3524
+ }, {
3525
+ name?: string | undefined;
3526
+ }>>>;
3527
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3528
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3529
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3530
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3531
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3532
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3533
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3534
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3535
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3536
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3537
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3538
+ value: z.ZodOptional<z.ZodNumber>;
3539
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3540
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3541
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3542
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3543
+ 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>;
3544
+ 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>>;
3545
+ }, "strip", z.ZodTypeAny, {
3546
+ start: Date;
3547
+ end?: Date | undefined;
3548
+ }, {
3549
+ start: string | Date;
3550
+ end?: string | Date | undefined;
3551
+ }>, {
3552
+ start: Date;
3553
+ end?: Date | undefined;
3554
+ }, {
3555
+ start: string | Date;
3556
+ end?: string | Date | undefined;
3557
+ }>>;
3558
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3559
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3560
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3561
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3562
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3563
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3564
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3565
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3566
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3567
+ }, "strip", z.ZodTypeAny, {
3568
+ name?: string | undefined;
3569
+ }, {
3570
+ name?: string | undefined;
3571
+ }>>>;
3572
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3573
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3574
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3575
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3576
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3577
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3578
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
3579
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
3580
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3581
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3582
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3583
+ value: z.ZodOptional<z.ZodNumber>;
3584
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3585
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3586
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3587
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3588
+ 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>;
3589
+ 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>>;
3590
+ }, "strip", z.ZodTypeAny, {
3591
+ start: Date;
3592
+ end?: Date | undefined;
3593
+ }, {
3594
+ start: string | Date;
3595
+ end?: string | Date | undefined;
3596
+ }>, {
3597
+ start: Date;
3598
+ end?: Date | undefined;
3599
+ }, {
3600
+ start: string | Date;
3601
+ end?: string | Date | undefined;
3602
+ }>>;
3603
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3604
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3605
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3606
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3607
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3608
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3609
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3610
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3611
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3612
+ }, "strip", z.ZodTypeAny, {
3613
+ name?: string | undefined;
3614
+ }, {
3615
+ name?: string | undefined;
3616
+ }>>>;
3617
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3618
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3619
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3620
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3621
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3622
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3623
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
3624
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3625
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3626
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3627
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3628
+ value: z.ZodOptional<z.ZodNumber>;
3629
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3630
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3631
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3632
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3633
+ 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>;
3634
+ 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>>;
3635
+ }, "strip", z.ZodTypeAny, {
3636
+ start: Date;
3637
+ end?: Date | undefined;
3638
+ }, {
3639
+ start: string | Date;
3640
+ end?: string | Date | undefined;
3641
+ }>, {
3642
+ start: Date;
3643
+ end?: Date | undefined;
3644
+ }, {
3645
+ start: string | Date;
3646
+ end?: string | Date | undefined;
3647
+ }>>;
3648
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3649
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3650
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3651
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3652
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3653
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3654
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3655
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3656
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3657
+ }, "strip", z.ZodTypeAny, {
3658
+ name?: string | undefined;
3659
+ }, {
3660
+ name?: string | undefined;
3661
+ }>>>;
3662
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3663
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3664
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3665
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3666
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3667
+ }, z.ZodTypeAny, "passthrough"> | {
3668
+ documents: (z.objectInputType<{
3669
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3670
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3671
+ value: z.ZodOptional<z.ZodNumber>;
3672
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3673
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3674
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3675
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3676
+ 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>;
3677
+ 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>>;
3678
+ }, "strip", z.ZodTypeAny, {
3679
+ start: Date;
3680
+ end?: Date | undefined;
3681
+ }, {
3682
+ start: string | Date;
3683
+ end?: string | Date | undefined;
3684
+ }>, {
3685
+ start: Date;
3686
+ end?: Date | undefined;
3687
+ }, {
3688
+ start: string | Date;
3689
+ end?: string | Date | undefined;
3690
+ }>>;
3691
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3692
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3693
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3694
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3695
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3696
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3697
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3698
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3699
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3700
+ }, "strip", z.ZodTypeAny, {
3701
+ name?: string | undefined;
3702
+ }, {
3703
+ name?: string | undefined;
3704
+ }>>>;
3705
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3706
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3707
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3708
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3709
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3710
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3711
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3712
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3713
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3714
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3715
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3716
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3717
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3718
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3719
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3720
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3721
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3722
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3723
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3724
+ value: z.ZodOptional<z.ZodNumber>;
3725
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3726
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3727
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3728
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3729
+ 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>;
3730
+ 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>>;
3731
+ }, "strip", z.ZodTypeAny, {
3732
+ start: Date;
3733
+ end?: Date | undefined;
3734
+ }, {
3735
+ start: string | Date;
3736
+ end?: string | Date | undefined;
3737
+ }>, {
3738
+ start: Date;
3739
+ end?: Date | undefined;
3740
+ }, {
3741
+ start: string | Date;
3742
+ end?: string | Date | undefined;
3743
+ }>>;
3744
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3745
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3746
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3747
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
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
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3761
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3762
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3763
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3764
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3765
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3766
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3767
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3768
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3769
+ value: z.ZodOptional<z.ZodNumber>;
3770
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3771
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3772
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3773
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3774
+ 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>;
3775
+ 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>>;
3776
+ }, "strip", z.ZodTypeAny, {
3777
+ start: Date;
3778
+ end?: Date | undefined;
3779
+ }, {
3780
+ start: string | Date;
3781
+ end?: string | Date | undefined;
3782
+ }>, {
3783
+ start: Date;
3784
+ end?: Date | undefined;
3785
+ }, {
3786
+ start: string | Date;
3787
+ end?: string | Date | undefined;
3788
+ }>>;
3789
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3790
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3791
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3792
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3793
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3794
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3795
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3796
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3797
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3798
+ }, "strip", z.ZodTypeAny, {
3799
+ name?: string | undefined;
3800
+ }, {
3801
+ name?: string | undefined;
3802
+ }>>>;
3803
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3804
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3805
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3806
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3807
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3808
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3809
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
3810
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
3811
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3812
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3813
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3814
+ value: z.ZodOptional<z.ZodNumber>;
3815
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3816
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3817
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3818
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3819
+ 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>;
3820
+ 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>>;
3821
+ }, "strip", z.ZodTypeAny, {
3822
+ start: Date;
3823
+ end?: Date | undefined;
3824
+ }, {
3825
+ start: string | Date;
3826
+ end?: string | Date | undefined;
3827
+ }>, {
3828
+ start: Date;
3829
+ end?: Date | undefined;
3830
+ }, {
3831
+ start: string | Date;
3832
+ end?: string | Date | undefined;
3833
+ }>>;
3834
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3835
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3836
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3837
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3838
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3839
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3840
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3841
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3842
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3843
+ }, "strip", z.ZodTypeAny, {
3844
+ name?: string | undefined;
3845
+ }, {
3846
+ name?: string | undefined;
3847
+ }>>>;
3848
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3849
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3850
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3851
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3852
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3853
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3854
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
3855
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3856
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3857
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
3858
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3859
+ value: z.ZodOptional<z.ZodNumber>;
3860
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3861
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3862
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3863
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3864
+ 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>;
3865
+ 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>>;
3866
+ }, "strip", z.ZodTypeAny, {
3867
+ start: Date;
3868
+ end?: Date | undefined;
3869
+ }, {
3870
+ start: string | Date;
3871
+ end?: string | Date | undefined;
3872
+ }>, {
3873
+ start: Date;
3874
+ end?: Date | undefined;
3875
+ }, {
3876
+ start: string | Date;
3877
+ end?: string | Date | undefined;
3878
+ }>>;
3879
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3880
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3881
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3882
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3883
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3884
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3885
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3886
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3887
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3888
+ }, "strip", z.ZodTypeAny, {
3889
+ name?: string | undefined;
3890
+ }, {
3891
+ name?: string | undefined;
3892
+ }>>>;
3893
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3894
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3895
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3896
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3897
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3898
+ }, z.ZodTypeAny, "passthrough">)[];
3899
+ metadata?: {
3900
+ page: number;
3901
+ size: number;
3902
+ totalElements: number;
3903
+ totalPages: number;
3904
+ } | undefined;
3905
+ } | undefined;
3906
+ }, {
3907
+ message: string;
3908
+ success: boolean;
3909
+ data?: z.objectInputType<{
3910
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3911
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3912
+ value: z.ZodOptional<z.ZodNumber>;
3913
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3914
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3915
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3916
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3917
+ 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>;
3918
+ 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>>;
3919
+ }, "strip", z.ZodTypeAny, {
3920
+ start: Date;
3921
+ end?: Date | undefined;
3922
+ }, {
3923
+ start: string | Date;
3924
+ end?: string | Date | undefined;
3925
+ }>, {
3926
+ start: Date;
3927
+ end?: Date | undefined;
3928
+ }, {
3929
+ start: string | Date;
3930
+ end?: string | Date | undefined;
3931
+ }>>;
3932
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3933
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3934
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3935
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3936
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3937
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3938
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3939
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3940
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3941
+ }, "strip", z.ZodTypeAny, {
3942
+ name?: string | undefined;
3943
+ }, {
3944
+ name?: string | undefined;
3945
+ }>>>;
3946
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3947
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3948
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3949
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3950
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3951
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3952
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3953
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3954
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3955
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3956
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
3957
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3958
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3959
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3960
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3961
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3962
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3963
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
3964
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3965
+ value: z.ZodOptional<z.ZodNumber>;
3966
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3967
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3968
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3969
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3970
+ 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>;
3971
+ 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>>;
3972
+ }, "strip", z.ZodTypeAny, {
3973
+ start: Date;
3974
+ end?: Date | undefined;
3975
+ }, {
3976
+ start: string | Date;
3977
+ end?: string | Date | undefined;
3978
+ }>, {
3979
+ start: Date;
3980
+ end?: Date | undefined;
3981
+ }, {
3982
+ start: string | Date;
3983
+ end?: string | Date | undefined;
3984
+ }>>;
3985
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3986
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3987
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3988
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3989
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3990
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3991
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3992
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3993
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3994
+ }, "strip", z.ZodTypeAny, {
3995
+ name?: string | undefined;
3996
+ }, {
3997
+ name?: string | undefined;
3998
+ }>>>;
3999
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4000
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4001
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4002
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4003
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4004
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4005
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
4006
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
4007
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
4008
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4009
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4010
+ value: z.ZodOptional<z.ZodNumber>;
4011
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4012
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4013
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4014
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4015
+ 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>;
4016
+ 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>>;
4017
+ }, "strip", z.ZodTypeAny, {
4018
+ start: Date;
4019
+ end?: Date | undefined;
4020
+ }, {
4021
+ start: string | Date;
4022
+ end?: string | Date | undefined;
4023
+ }>, {
4024
+ start: Date;
4025
+ end?: Date | undefined;
4026
+ }, {
4027
+ start: string | Date;
4028
+ end?: string | Date | undefined;
4029
+ }>>;
4030
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4031
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4032
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4033
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4034
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4035
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4036
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4037
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4038
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4039
+ }, "strip", z.ZodTypeAny, {
4040
+ name?: string | undefined;
4041
+ }, {
4042
+ name?: string | undefined;
4043
+ }>>>;
4044
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4045
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4046
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4047
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4048
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4049
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4050
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
4051
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
4052
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
4053
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
4054
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4055
+ value: z.ZodOptional<z.ZodNumber>;
4056
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4057
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4058
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4059
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4060
+ 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>;
4061
+ 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>>;
4062
+ }, "strip", z.ZodTypeAny, {
4063
+ start: Date;
4064
+ end?: Date | undefined;
4065
+ }, {
4066
+ start: string | Date;
4067
+ end?: string | Date | undefined;
4068
+ }>, {
4069
+ start: Date;
4070
+ end?: Date | undefined;
4071
+ }, {
4072
+ start: string | Date;
4073
+ end?: string | Date | undefined;
4074
+ }>>;
4075
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4076
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4077
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4078
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4079
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4080
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4081
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4082
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4083
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4084
+ }, "strip", z.ZodTypeAny, {
4085
+ name?: string | undefined;
4086
+ }, {
4087
+ name?: string | undefined;
4088
+ }>>>;
4089
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4090
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4091
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4092
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4093
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4094
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4095
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
4096
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4097
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
4098
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
4099
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4100
+ value: z.ZodOptional<z.ZodNumber>;
4101
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4102
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4103
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4104
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4105
+ 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>;
4106
+ 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>>;
4107
+ }, "strip", z.ZodTypeAny, {
4108
+ start: Date;
4109
+ end?: Date | undefined;
4110
+ }, {
4111
+ start: string | Date;
4112
+ end?: string | Date | undefined;
4113
+ }>, {
4114
+ start: Date;
4115
+ end?: Date | undefined;
4116
+ }, {
4117
+ start: string | Date;
4118
+ end?: string | Date | undefined;
4119
+ }>>;
4120
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4121
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4122
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4123
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4124
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4125
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4126
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4127
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4128
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4129
+ }, "strip", z.ZodTypeAny, {
4130
+ name?: string | undefined;
4131
+ }, {
4132
+ name?: string | undefined;
4133
+ }>>>;
4134
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4135
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4136
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4137
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4138
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4139
+ }, z.ZodTypeAny, "passthrough"> | {
4140
+ documents: (z.objectInputType<{
4141
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
4142
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4143
+ value: z.ZodOptional<z.ZodNumber>;
4144
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4145
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4146
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4147
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4148
+ 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>;
4149
+ 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>>;
4150
+ }, "strip", z.ZodTypeAny, {
4151
+ start: Date;
4152
+ end?: Date | undefined;
4153
+ }, {
4154
+ start: string | Date;
4155
+ end?: string | Date | undefined;
4156
+ }>, {
4157
+ start: Date;
4158
+ end?: Date | undefined;
4159
+ }, {
4160
+ start: string | Date;
4161
+ end?: string | Date | undefined;
4162
+ }>>;
4163
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4164
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4165
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4166
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4167
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4168
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4169
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4170
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4171
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4172
+ }, "strip", z.ZodTypeAny, {
4173
+ name?: string | undefined;
4174
+ }, {
4175
+ name?: string | undefined;
4176
+ }>>>;
4177
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4178
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4179
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4180
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4181
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4182
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4183
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
4184
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
4185
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4186
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4187
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4188
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4189
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4190
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4191
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
4192
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4193
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4194
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4195
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4196
+ value: z.ZodOptional<z.ZodNumber>;
4197
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4198
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4199
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4200
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4201
+ 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>;
4202
+ 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>>;
4203
+ }, "strip", z.ZodTypeAny, {
4204
+ start: Date;
4205
+ end?: Date | undefined;
4206
+ }, {
4207
+ start: string | Date;
4208
+ end?: string | Date | undefined;
4209
+ }>, {
4210
+ start: Date;
4211
+ end?: Date | undefined;
4212
+ }, {
4213
+ start: string | Date;
4214
+ end?: string | Date | undefined;
4215
+ }>>;
4216
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4217
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4218
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4219
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4220
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4221
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4222
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4223
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4224
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4225
+ }, "strip", z.ZodTypeAny, {
4226
+ name?: string | undefined;
4227
+ }, {
4228
+ name?: string | undefined;
4229
+ }>>>;
4230
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4231
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4232
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4233
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4234
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4235
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4236
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
4237
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
4238
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
4239
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4240
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4241
+ value: z.ZodOptional<z.ZodNumber>;
4242
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4243
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4244
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4245
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4246
+ 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>;
4247
+ 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>>;
4248
+ }, "strip", z.ZodTypeAny, {
4249
+ start: Date;
4250
+ end?: Date | undefined;
4251
+ }, {
4252
+ start: string | Date;
4253
+ end?: string | Date | undefined;
4254
+ }>, {
4255
+ start: Date;
4256
+ end?: Date | undefined;
4257
+ }, {
4258
+ start: string | Date;
4259
+ end?: string | Date | undefined;
4260
+ }>>;
4261
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4262
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4263
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4264
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4265
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4266
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4267
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4268
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4269
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4270
+ }, "strip", z.ZodTypeAny, {
4271
+ name?: string | undefined;
4272
+ }, {
4273
+ name?: string | undefined;
4274
+ }>>>;
4275
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4276
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4277
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4278
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4279
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4280
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4281
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
4282
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
4283
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
4284
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
4285
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4286
+ value: z.ZodOptional<z.ZodNumber>;
4287
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4288
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4289
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4290
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4291
+ 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>;
4292
+ 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>>;
4293
+ }, "strip", z.ZodTypeAny, {
4294
+ start: Date;
4295
+ end?: Date | undefined;
4296
+ }, {
4297
+ start: string | Date;
4298
+ end?: string | Date | undefined;
4299
+ }>, {
4300
+ start: Date;
4301
+ end?: Date | undefined;
4302
+ }, {
4303
+ start: string | Date;
4304
+ end?: string | Date | undefined;
4305
+ }>>;
4306
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4307
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4308
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4309
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4310
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4311
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4312
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4313
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4314
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4315
+ }, "strip", z.ZodTypeAny, {
4316
+ name?: string | undefined;
4317
+ }, {
4318
+ name?: string | undefined;
4319
+ }>>>;
4320
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4321
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4322
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4323
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4324
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4325
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4326
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
4327
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4328
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
4329
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
4330
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4331
+ value: z.ZodOptional<z.ZodNumber>;
4332
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4333
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4334
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4335
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4336
+ 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>;
4337
+ 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>>;
4338
+ }, "strip", z.ZodTypeAny, {
4339
+ start: Date;
4340
+ end?: Date | undefined;
4341
+ }, {
4342
+ start: string | Date;
4343
+ end?: string | Date | undefined;
4344
+ }>, {
4345
+ start: Date;
4346
+ end?: Date | undefined;
4347
+ }, {
4348
+ start: string | Date;
4349
+ end?: string | Date | undefined;
4350
+ }>>;
4351
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4352
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4353
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4354
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4355
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4356
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4357
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4358
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4359
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4360
+ }, "strip", z.ZodTypeAny, {
4361
+ name?: string | undefined;
4362
+ }, {
4363
+ name?: string | undefined;
4364
+ }>>>;
4365
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4366
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4367
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
4368
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4369
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
4370
+ }, z.ZodTypeAny, "passthrough">)[];
4371
+ metadata?: {
4372
+ page: number;
4373
+ size: number;
4374
+ totalElements: number;
4375
+ totalPages: number;
4376
+ } | undefined;
4377
+ } | undefined;
4378
+ }>;
4379
+ export type AllCouponsDTO = z.infer<typeof AllCouponsSchema>;
4380
+ export type AllCouponsValidationDTO = z.infer<typeof AllCouponsValidationSchema>;
4381
+ export type AllCouponsUpdateDTO = z.infer<typeof AllCouponsUpdateSchema>;
4382
+ //# sourceMappingURL=all-coupons.validation.d.ts.map