@lyxa.ai/marketing 1.0.14 → 1.0.15

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 (440) 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 +4046 -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 +2673 -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 +100 -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 +551 -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 +221 -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 +4130 -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 +1245 -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 +103 -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 +367 -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 +340 -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 +367 -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 +367 -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 +77 -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 +367 -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 +12 -12
  389. package/dist/types/index.d.ts.map +1 -1
  390. package/dist/types/modules/coupon/routers/coupon.router.d.ts +12 -12
  391. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  392. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts +1 -0
  393. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  394. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts +1 -1
  395. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +21 -21
  396. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts +9 -9
  397. package/dist/types/modules/loyalty-point-setting/routers/index.d.ts +2 -0
  398. package/dist/types/modules/loyalty-point-setting/routers/index.d.ts.map +1 -0
  399. package/dist/types/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts +321 -0
  400. package/dist/types/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts.map +1 -0
  401. package/dist/types/modules/loyalty-point-setting/services/index.d.ts +3 -0
  402. package/dist/types/modules/loyalty-point-setting/services/index.d.ts.map +1 -0
  403. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts +37 -0
  404. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts.map +1 -0
  405. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts +34 -0
  406. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts.map +1 -0
  407. package/dist/types/modules/loyalty-point-setting/transformers/index.d.ts +3 -0
  408. package/dist/types/modules/loyalty-point-setting/transformers/index.d.ts.map +1 -0
  409. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts +8 -0
  410. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts.map +1 -0
  411. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts +9 -0
  412. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts.map +1 -0
  413. package/dist/types/modules/loyalty-point-setting/validations/index.d.ts +3 -0
  414. package/dist/types/modules/loyalty-point-setting/validations/index.d.ts.map +1 -0
  415. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts +179 -0
  416. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts.map +1 -0
  417. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts +197 -0
  418. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts.map +1 -0
  419. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  420. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts +1 -0
  421. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
  422. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts +2 -0
  423. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
  424. package/dist/types/modules/marketing/services/loyalty-point-marketing.service.d.ts +21 -0
  425. package/dist/types/modules/marketing/services/loyalty-point-marketing.service.d.ts.map +1 -0
  426. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  427. package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  428. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +1 -0
  429. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts.map +1 -1
  430. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts +3 -0
  431. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts.map +1 -1
  432. package/dist/types/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts +47 -0
  433. package/dist/types/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts.map +1 -0
  434. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +45 -31
  435. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts.map +1 -1
  436. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +42 -0
  437. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts.map +1 -1
  438. package/dist/types/modules/marketing/validations/loyalty-point-marketing.validation.d.ts +513 -0
  439. package/dist/types/modules/marketing/validations/loyalty-point-marketing.validation.d.ts.map +1 -0
  440. package/package.json +3 -4
@@ -0,0 +1,4130 @@
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
+ }, "strict", z.ZodTypeAny, {
42
+ value: number;
43
+ code: string;
44
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
45
+ duration: {
46
+ start: Date;
47
+ end?: Date | undefined;
48
+ };
49
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
50
+ spendLimit: number | null;
51
+ maxDiscountLimit: number | null;
52
+ totalOrderLimit: number | null;
53
+ minOrderValue: number | null;
54
+ forNewUserOnly: boolean;
55
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
56
+ orderLimitPerUser: number | null;
57
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
58
+ secondaryCurrencyValue?: number | undefined;
59
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
60
+ secondaryCurrencyMinOrderValue?: number | undefined;
61
+ referringUser?: {
62
+ name?: string | undefined;
63
+ } | undefined;
64
+ }, {
65
+ value: number;
66
+ code: string;
67
+ duration: {
68
+ start: string | Date;
69
+ end?: string | Date | undefined;
70
+ };
71
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
72
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
73
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
74
+ spendLimit?: number | null | undefined;
75
+ secondaryCurrencyValue?: number | undefined;
76
+ maxDiscountLimit?: number | null | undefined;
77
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
78
+ totalOrderLimit?: number | null | undefined;
79
+ minOrderValue?: number | null | undefined;
80
+ secondaryCurrencyMinOrderValue?: number | undefined;
81
+ forNewUserOnly?: boolean | undefined;
82
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
83
+ referringUser?: {
84
+ name?: string | undefined;
85
+ } | undefined;
86
+ orderLimitPerUser?: number | null | undefined;
87
+ }>, z.ZodObject<{
88
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>;
89
+ orderLimitPerUser: z.ZodLiteral<1>;
90
+ 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>]>;
91
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
92
+ }, "strict", z.ZodTypeAny, {
93
+ code: string;
94
+ orderLimitPerUser: 1;
95
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
96
+ referralUser: import("mongoose").Types.ObjectId;
97
+ }, {
98
+ code: string;
99
+ orderLimitPerUser: 1;
100
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
101
+ referralUser: string | import("mongoose").Types.ObjectId;
102
+ }>, z.ZodObject<{
103
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>;
104
+ 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>]>;
105
+ 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>]>;
106
+ 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>]>;
107
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
108
+ value: z.ZodNumber;
109
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
110
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
111
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
112
+ duration: z.ZodEffects<z.ZodObject<{
113
+ 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>;
114
+ 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>>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ start: Date;
117
+ end?: Date | undefined;
118
+ }, {
119
+ start: string | Date;
120
+ end?: string | Date | undefined;
121
+ }>, {
122
+ start: Date;
123
+ end?: Date | undefined;
124
+ }, {
125
+ start: string | Date;
126
+ end?: string | Date | undefined;
127
+ }>;
128
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
129
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
130
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
131
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
132
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
133
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
134
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
135
+ referringUser: z.ZodOptional<z.ZodObject<{
136
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ name?: string | undefined;
139
+ }, {
140
+ name?: string | undefined;
141
+ }>>;
142
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
143
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
144
+ }, "strict", z.ZodTypeAny, {
145
+ value: number;
146
+ code: string;
147
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
148
+ duration: {
149
+ start: Date;
150
+ end?: Date | undefined;
151
+ };
152
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
153
+ spendLimit: number | null;
154
+ user: import("mongoose").Types.ObjectId;
155
+ maxDiscountLimit: number | null;
156
+ totalOrderLimit: number | null;
157
+ minOrderValue: number | null;
158
+ forNewUserOnly: boolean;
159
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
160
+ orderLimitPerUser: number | null;
161
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
162
+ referralCodeUsedBy: import("mongoose").Types.ObjectId;
163
+ referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
164
+ secondaryCurrencyValue?: number | undefined;
165
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
166
+ secondaryCurrencyMinOrderValue?: number | undefined;
167
+ referringUser?: {
168
+ name?: string | undefined;
169
+ } | undefined;
170
+ }, {
171
+ value: number;
172
+ code: string;
173
+ duration: {
174
+ start: string | Date;
175
+ end?: string | Date | undefined;
176
+ };
177
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
178
+ user: string | import("mongoose").Types.ObjectId;
179
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
180
+ referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
181
+ referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
182
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
183
+ spendLimit?: number | null | undefined;
184
+ secondaryCurrencyValue?: number | undefined;
185
+ maxDiscountLimit?: number | null | undefined;
186
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
187
+ totalOrderLimit?: number | null | undefined;
188
+ minOrderValue?: number | null | undefined;
189
+ secondaryCurrencyMinOrderValue?: number | undefined;
190
+ forNewUserOnly?: boolean | undefined;
191
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
192
+ referringUser?: {
193
+ name?: string | undefined;
194
+ } | undefined;
195
+ orderLimitPerUser?: number | null | undefined;
196
+ }>, z.ZodObject<{
197
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>;
198
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
199
+ 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">>;
200
+ isShopCoverExpenses: z.ZodDefault<z.ZodBoolean>;
201
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
202
+ value: z.ZodNumber;
203
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
204
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
205
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
206
+ duration: z.ZodEffects<z.ZodObject<{
207
+ 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>;
208
+ 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>>;
209
+ }, "strip", z.ZodTypeAny, {
210
+ start: Date;
211
+ end?: Date | undefined;
212
+ }, {
213
+ start: string | Date;
214
+ end?: string | Date | undefined;
215
+ }>, {
216
+ start: Date;
217
+ end?: Date | undefined;
218
+ }, {
219
+ start: string | Date;
220
+ end?: string | Date | undefined;
221
+ }>;
222
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
223
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
224
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
225
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
226
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
227
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
228
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
229
+ referringUser: z.ZodOptional<z.ZodObject<{
230
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
231
+ }, "strip", z.ZodTypeAny, {
232
+ name?: string | undefined;
233
+ }, {
234
+ name?: string | undefined;
235
+ }>>;
236
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
237
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
238
+ }, "strict", z.ZodTypeAny, {
239
+ value: number;
240
+ code: string;
241
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
242
+ duration: {
243
+ start: Date;
244
+ end?: Date | undefined;
245
+ };
246
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
247
+ spendLimit: number | null;
248
+ maxDiscountLimit: number | null;
249
+ totalOrderLimit: number | null;
250
+ minOrderValue: number | null;
251
+ forNewUserOnly: boolean;
252
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
253
+ orderLimitPerUser: number | null;
254
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
255
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
256
+ shops: import("mongoose").Types.ObjectId[];
257
+ isShopCoverExpenses: boolean;
258
+ secondaryCurrencyValue?: number | undefined;
259
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
260
+ secondaryCurrencyMinOrderValue?: number | undefined;
261
+ referringUser?: {
262
+ name?: string | undefined;
263
+ } | undefined;
264
+ }, {
265
+ value: number;
266
+ code: string;
267
+ duration: {
268
+ start: string | Date;
269
+ end?: string | Date | undefined;
270
+ };
271
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
272
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
273
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
274
+ spendLimit?: number | null | undefined;
275
+ secondaryCurrencyValue?: number | undefined;
276
+ maxDiscountLimit?: number | null | undefined;
277
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
278
+ totalOrderLimit?: number | null | undefined;
279
+ minOrderValue?: number | null | undefined;
280
+ secondaryCurrencyMinOrderValue?: number | undefined;
281
+ forNewUserOnly?: boolean | undefined;
282
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
283
+ referringUser?: {
284
+ name?: string | undefined;
285
+ } | undefined;
286
+ orderLimitPerUser?: number | null | undefined;
287
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
288
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
289
+ isShopCoverExpenses?: boolean | undefined;
290
+ }>, z.ZodObject<{
291
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>;
292
+ 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">;
293
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
294
+ 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">>;
295
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
296
+ value: z.ZodNumber;
297
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
298
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
299
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
300
+ duration: z.ZodEffects<z.ZodObject<{
301
+ 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>;
302
+ 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>>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ start: Date;
305
+ end?: Date | undefined;
306
+ }, {
307
+ start: string | Date;
308
+ end?: string | Date | undefined;
309
+ }>, {
310
+ start: Date;
311
+ end?: Date | undefined;
312
+ }, {
313
+ start: string | Date;
314
+ end?: string | Date | undefined;
315
+ }>;
316
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
317
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
318
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
319
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
320
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
321
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
322
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
323
+ referringUser: z.ZodOptional<z.ZodObject<{
324
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
325
+ }, "strip", z.ZodTypeAny, {
326
+ name?: string | undefined;
327
+ }, {
328
+ name?: string | undefined;
329
+ }>>;
330
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
331
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
332
+ }, "strict", z.ZodTypeAny, {
333
+ value: number;
334
+ code: string;
335
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
336
+ duration: {
337
+ start: Date;
338
+ end?: Date | undefined;
339
+ };
340
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
341
+ spendLimit: number | null;
342
+ maxDiscountLimit: number | null;
343
+ totalOrderLimit: number | null;
344
+ minOrderValue: number | null;
345
+ forNewUserOnly: boolean;
346
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
347
+ orderLimitPerUser: number | null;
348
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
349
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
350
+ shops: import("mongoose").Types.ObjectId[];
351
+ users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
352
+ secondaryCurrencyValue?: number | undefined;
353
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
354
+ secondaryCurrencyMinOrderValue?: number | undefined;
355
+ referringUser?: {
356
+ name?: string | undefined;
357
+ } | undefined;
358
+ }, {
359
+ value: number;
360
+ code: string;
361
+ duration: {
362
+ start: string | Date;
363
+ end?: string | Date | undefined;
364
+ };
365
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
366
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
367
+ users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
368
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
369
+ spendLimit?: number | null | undefined;
370
+ secondaryCurrencyValue?: number | undefined;
371
+ maxDiscountLimit?: number | null | undefined;
372
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
373
+ totalOrderLimit?: number | null | undefined;
374
+ minOrderValue?: number | null | undefined;
375
+ secondaryCurrencyMinOrderValue?: number | undefined;
376
+ forNewUserOnly?: boolean | undefined;
377
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
378
+ referringUser?: {
379
+ name?: string | undefined;
380
+ } | undefined;
381
+ orderLimitPerUser?: number | null | undefined;
382
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
383
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
384
+ }>, z.ZodObject<{
385
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>;
386
+ 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>]>;
387
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
388
+ 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">>;
389
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
390
+ value: z.ZodNumber;
391
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
392
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
393
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
394
+ duration: z.ZodEffects<z.ZodObject<{
395
+ 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>;
396
+ 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>>;
397
+ }, "strip", z.ZodTypeAny, {
398
+ start: Date;
399
+ end?: Date | undefined;
400
+ }, {
401
+ start: string | Date;
402
+ end?: string | Date | undefined;
403
+ }>, {
404
+ start: Date;
405
+ end?: Date | undefined;
406
+ }, {
407
+ start: string | Date;
408
+ end?: string | Date | undefined;
409
+ }>;
410
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
411
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
412
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
413
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
414
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
415
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
416
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
417
+ referringUser: z.ZodOptional<z.ZodObject<{
418
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
419
+ }, "strip", z.ZodTypeAny, {
420
+ name?: string | undefined;
421
+ }, {
422
+ name?: string | undefined;
423
+ }>>;
424
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
425
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
426
+ }, "strict", z.ZodTypeAny, {
427
+ value: number;
428
+ code: string;
429
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
430
+ duration: {
431
+ start: Date;
432
+ end?: Date | undefined;
433
+ };
434
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
435
+ spendLimit: number | null;
436
+ maxDiscountLimit: number | null;
437
+ totalOrderLimit: number | null;
438
+ minOrderValue: number | null;
439
+ forNewUserOnly: boolean;
440
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
441
+ orderLimitPerUser: number | null;
442
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
443
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
444
+ shops: import("mongoose").Types.ObjectId[];
445
+ influencer: import("mongoose").Types.ObjectId;
446
+ secondaryCurrencyValue?: number | undefined;
447
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
448
+ secondaryCurrencyMinOrderValue?: number | undefined;
449
+ referringUser?: {
450
+ name?: string | undefined;
451
+ } | undefined;
452
+ }, {
453
+ value: number;
454
+ code: string;
455
+ duration: {
456
+ start: string | Date;
457
+ end?: string | Date | undefined;
458
+ };
459
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
460
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
461
+ influencer: string | import("mongoose").Types.ObjectId;
462
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
463
+ spendLimit?: number | null | undefined;
464
+ secondaryCurrencyValue?: number | undefined;
465
+ maxDiscountLimit?: number | null | undefined;
466
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
467
+ totalOrderLimit?: number | null | undefined;
468
+ minOrderValue?: number | null | undefined;
469
+ secondaryCurrencyMinOrderValue?: number | undefined;
470
+ forNewUserOnly?: boolean | undefined;
471
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
472
+ referringUser?: {
473
+ name?: string | undefined;
474
+ } | undefined;
475
+ orderLimitPerUser?: number | null | undefined;
476
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
477
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
478
+ }>]>;
479
+ export declare const AllCouponsSchema: z.ZodUnion<[z.ZodObject<{
480
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
481
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
482
+ value: z.ZodOptional<z.ZodNumber>;
483
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
484
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
485
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
486
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
487
+ 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>;
488
+ 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>>;
489
+ }, "strip", z.ZodTypeAny, {
490
+ start: Date;
491
+ end?: Date | undefined;
492
+ }, {
493
+ start: string | Date;
494
+ end?: string | Date | undefined;
495
+ }>, {
496
+ start: Date;
497
+ end?: Date | undefined;
498
+ }, {
499
+ start: string | Date;
500
+ end?: string | Date | undefined;
501
+ }>>;
502
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
503
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
504
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
505
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
506
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
507
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
508
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
509
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
510
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
511
+ }, "strip", z.ZodTypeAny, {
512
+ name?: string | undefined;
513
+ }, {
514
+ name?: string | undefined;
515
+ }>>>;
516
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
517
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
518
+ _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>]>>;
519
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
520
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
521
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
522
+ value: z.ZodOptional<z.ZodNumber>;
523
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
524
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
525
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
526
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
527
+ 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>;
528
+ 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>>;
529
+ }, "strip", z.ZodTypeAny, {
530
+ start: Date;
531
+ end?: Date | undefined;
532
+ }, {
533
+ start: string | Date;
534
+ end?: string | Date | undefined;
535
+ }>, {
536
+ start: Date;
537
+ end?: Date | undefined;
538
+ }, {
539
+ start: string | Date;
540
+ end?: string | Date | undefined;
541
+ }>>;
542
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
543
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
544
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
545
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
546
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
547
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
548
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
549
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
550
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
551
+ }, "strip", z.ZodTypeAny, {
552
+ name?: string | undefined;
553
+ }, {
554
+ name?: string | undefined;
555
+ }>>>;
556
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
557
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
558
+ _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>]>>;
559
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
560
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
561
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
562
+ value: z.ZodOptional<z.ZodNumber>;
563
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
564
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
565
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
566
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
567
+ 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>;
568
+ 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>>;
569
+ }, "strip", z.ZodTypeAny, {
570
+ start: Date;
571
+ end?: Date | undefined;
572
+ }, {
573
+ start: string | Date;
574
+ end?: string | Date | undefined;
575
+ }>, {
576
+ start: Date;
577
+ end?: Date | undefined;
578
+ }, {
579
+ start: string | Date;
580
+ end?: string | Date | undefined;
581
+ }>>;
582
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
583
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
584
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
585
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
586
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
587
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
588
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
589
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
590
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
591
+ }, "strip", z.ZodTypeAny, {
592
+ name?: string | undefined;
593
+ }, {
594
+ name?: string | undefined;
595
+ }>>>;
596
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
597
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
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.ZodObject<{
600
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
601
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
602
+ 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>]>>;
603
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
604
+ _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>]>>;
605
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
606
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
607
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
608
+ 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>]>>;
609
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
610
+ _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>]>>;
611
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
612
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
613
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
614
+ 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>]>>;
615
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
616
+ _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>]>>;
617
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
618
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
619
+ 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>]>>;
620
+ 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>]>>;
621
+ 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>]>>;
622
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
623
+ value: z.ZodOptional<z.ZodNumber>;
624
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
625
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
626
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
627
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
628
+ 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>;
629
+ 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>>;
630
+ }, "strip", z.ZodTypeAny, {
631
+ start: Date;
632
+ end?: Date | undefined;
633
+ }, {
634
+ start: string | Date;
635
+ end?: string | Date | undefined;
636
+ }>, {
637
+ start: Date;
638
+ end?: Date | undefined;
639
+ }, {
640
+ start: string | Date;
641
+ end?: string | Date | undefined;
642
+ }>>;
643
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
644
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
645
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
646
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
647
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
648
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
649
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
650
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
651
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
652
+ }, "strip", z.ZodTypeAny, {
653
+ name?: string | undefined;
654
+ }, {
655
+ name?: string | undefined;
656
+ }>>>;
657
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
658
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
659
+ _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>]>>;
660
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
661
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
662
+ 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>]>>;
663
+ 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>]>>;
664
+ 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>]>>;
665
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
666
+ value: z.ZodOptional<z.ZodNumber>;
667
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
668
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
669
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
670
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
671
+ 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>;
672
+ 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>>;
673
+ }, "strip", z.ZodTypeAny, {
674
+ start: Date;
675
+ end?: Date | undefined;
676
+ }, {
677
+ start: string | Date;
678
+ end?: string | Date | undefined;
679
+ }>, {
680
+ start: Date;
681
+ end?: Date | undefined;
682
+ }, {
683
+ start: string | Date;
684
+ end?: string | Date | undefined;
685
+ }>>;
686
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
687
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
688
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
689
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
690
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
691
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
692
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
693
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
694
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
695
+ }, "strip", z.ZodTypeAny, {
696
+ name?: string | undefined;
697
+ }, {
698
+ name?: string | undefined;
699
+ }>>>;
700
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
701
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
702
+ _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>]>>;
703
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
704
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
705
+ 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>]>>;
706
+ 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>]>>;
707
+ 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>]>>;
708
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
709
+ value: z.ZodOptional<z.ZodNumber>;
710
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
711
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
712
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
713
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
714
+ 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>;
715
+ 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>>;
716
+ }, "strip", z.ZodTypeAny, {
717
+ start: Date;
718
+ end?: Date | undefined;
719
+ }, {
720
+ start: string | Date;
721
+ end?: string | Date | undefined;
722
+ }>, {
723
+ start: Date;
724
+ end?: Date | undefined;
725
+ }, {
726
+ start: string | Date;
727
+ end?: string | Date | undefined;
728
+ }>>;
729
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
730
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
731
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
732
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
733
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
734
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
735
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
736
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
737
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
738
+ }, "strip", z.ZodTypeAny, {
739
+ name?: string | undefined;
740
+ }, {
741
+ name?: string | undefined;
742
+ }>>>;
743
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
744
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
745
+ _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>]>>;
746
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
747
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
748
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
749
+ 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">>>;
750
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
751
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
752
+ value: z.ZodOptional<z.ZodNumber>;
753
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
754
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
755
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
756
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
757
+ 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>;
758
+ 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>>;
759
+ }, "strip", z.ZodTypeAny, {
760
+ start: Date;
761
+ end?: Date | undefined;
762
+ }, {
763
+ start: string | Date;
764
+ end?: string | Date | undefined;
765
+ }>, {
766
+ start: Date;
767
+ end?: Date | undefined;
768
+ }, {
769
+ start: string | Date;
770
+ end?: string | Date | undefined;
771
+ }>>;
772
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
773
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
774
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
775
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
776
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
777
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
778
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
779
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
780
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
781
+ }, "strip", z.ZodTypeAny, {
782
+ name?: string | undefined;
783
+ }, {
784
+ name?: string | undefined;
785
+ }>>>;
786
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
787
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
788
+ _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>]>>;
789
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
790
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
791
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
792
+ 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">>>;
793
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
794
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
795
+ value: z.ZodOptional<z.ZodNumber>;
796
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
797
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
798
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
799
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
800
+ 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>;
801
+ 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>>;
802
+ }, "strip", z.ZodTypeAny, {
803
+ start: Date;
804
+ end?: Date | undefined;
805
+ }, {
806
+ start: string | Date;
807
+ end?: string | Date | undefined;
808
+ }>, {
809
+ start: Date;
810
+ end?: Date | undefined;
811
+ }, {
812
+ start: string | Date;
813
+ end?: string | Date | undefined;
814
+ }>>;
815
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
816
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
817
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
818
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
819
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
820
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
821
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
822
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
823
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
824
+ }, "strip", z.ZodTypeAny, {
825
+ name?: string | undefined;
826
+ }, {
827
+ name?: string | undefined;
828
+ }>>>;
829
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
830
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
831
+ _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>]>>;
832
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
833
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
834
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
835
+ 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">>>;
836
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
837
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
838
+ value: z.ZodOptional<z.ZodNumber>;
839
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
840
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
841
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
842
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
843
+ 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>;
844
+ 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>>;
845
+ }, "strip", z.ZodTypeAny, {
846
+ start: Date;
847
+ end?: Date | undefined;
848
+ }, {
849
+ start: string | Date;
850
+ end?: string | Date | undefined;
851
+ }>, {
852
+ start: Date;
853
+ end?: Date | undefined;
854
+ }, {
855
+ start: string | Date;
856
+ end?: string | Date | undefined;
857
+ }>>;
858
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
859
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
860
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
861
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
862
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
863
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
864
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
865
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
866
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
867
+ }, "strip", z.ZodTypeAny, {
868
+ name?: string | undefined;
869
+ }, {
870
+ name?: string | undefined;
871
+ }>>>;
872
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
873
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
874
+ _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>]>>;
875
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
876
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
877
+ 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">>;
878
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
879
+ 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">>>;
880
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
881
+ value: z.ZodOptional<z.ZodNumber>;
882
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
883
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
884
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
885
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
886
+ 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>;
887
+ 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>>;
888
+ }, "strip", z.ZodTypeAny, {
889
+ start: Date;
890
+ end?: Date | undefined;
891
+ }, {
892
+ start: string | Date;
893
+ end?: string | Date | undefined;
894
+ }>, {
895
+ start: Date;
896
+ end?: Date | undefined;
897
+ }, {
898
+ start: string | Date;
899
+ end?: string | Date | undefined;
900
+ }>>;
901
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
902
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
903
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
904
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
905
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
906
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
907
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
908
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
909
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
910
+ }, "strip", z.ZodTypeAny, {
911
+ name?: string | undefined;
912
+ }, {
913
+ name?: string | undefined;
914
+ }>>>;
915
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
916
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
917
+ _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>]>>;
918
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
919
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
920
+ 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">>;
921
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
922
+ 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">>>;
923
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
924
+ value: z.ZodOptional<z.ZodNumber>;
925
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
926
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
927
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
928
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
929
+ 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>;
930
+ 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>>;
931
+ }, "strip", z.ZodTypeAny, {
932
+ start: Date;
933
+ end?: Date | undefined;
934
+ }, {
935
+ start: string | Date;
936
+ end?: string | Date | undefined;
937
+ }>, {
938
+ start: Date;
939
+ end?: Date | undefined;
940
+ }, {
941
+ start: string | Date;
942
+ end?: string | Date | undefined;
943
+ }>>;
944
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
945
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
946
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
947
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
948
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
949
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
950
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
951
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
952
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
953
+ }, "strip", z.ZodTypeAny, {
954
+ name?: string | undefined;
955
+ }, {
956
+ name?: string | undefined;
957
+ }>>>;
958
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
959
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
960
+ _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>]>>;
961
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
962
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
963
+ 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">>;
964
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
965
+ 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">>>;
966
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
967
+ value: z.ZodOptional<z.ZodNumber>;
968
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
969
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
970
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
971
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
972
+ 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>;
973
+ 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>>;
974
+ }, "strip", z.ZodTypeAny, {
975
+ start: Date;
976
+ end?: Date | undefined;
977
+ }, {
978
+ start: string | Date;
979
+ end?: string | Date | undefined;
980
+ }>, {
981
+ start: Date;
982
+ end?: Date | undefined;
983
+ }, {
984
+ start: string | Date;
985
+ end?: string | Date | undefined;
986
+ }>>;
987
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
988
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
989
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
990
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
991
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
992
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
993
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
994
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
995
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
996
+ }, "strip", z.ZodTypeAny, {
997
+ name?: string | undefined;
998
+ }, {
999
+ name?: string | undefined;
1000
+ }>>>;
1001
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1002
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1003
+ _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>]>>;
1004
+ }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
1005
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1006
+ 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>]>>;
1007
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1008
+ 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">>>;
1009
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1010
+ value: z.ZodOptional<z.ZodNumber>;
1011
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1012
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1013
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1014
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1015
+ 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>;
1016
+ 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>>;
1017
+ }, "strip", z.ZodTypeAny, {
1018
+ start: Date;
1019
+ end?: Date | undefined;
1020
+ }, {
1021
+ start: string | Date;
1022
+ end?: string | Date | undefined;
1023
+ }>, {
1024
+ start: Date;
1025
+ end?: Date | undefined;
1026
+ }, {
1027
+ start: string | Date;
1028
+ end?: string | Date | undefined;
1029
+ }>>;
1030
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1031
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1032
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1033
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1034
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1035
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1036
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1037
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1038
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1039
+ }, "strip", z.ZodTypeAny, {
1040
+ name?: string | undefined;
1041
+ }, {
1042
+ name?: string | undefined;
1043
+ }>>>;
1044
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1045
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1046
+ _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>]>>;
1047
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1048
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1049
+ 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>]>>;
1050
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1051
+ 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">>>;
1052
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1053
+ value: z.ZodOptional<z.ZodNumber>;
1054
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1055
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1056
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1057
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1058
+ 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>;
1059
+ 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>>;
1060
+ }, "strip", z.ZodTypeAny, {
1061
+ start: Date;
1062
+ end?: Date | undefined;
1063
+ }, {
1064
+ start: string | Date;
1065
+ end?: string | Date | undefined;
1066
+ }>, {
1067
+ start: Date;
1068
+ end?: Date | undefined;
1069
+ }, {
1070
+ start: string | Date;
1071
+ end?: string | Date | undefined;
1072
+ }>>;
1073
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1074
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1075
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1076
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1077
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1078
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1079
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1080
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1081
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1082
+ }, "strip", z.ZodTypeAny, {
1083
+ name?: string | undefined;
1084
+ }, {
1085
+ name?: string | undefined;
1086
+ }>>>;
1087
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1088
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1089
+ _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>]>>;
1090
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1091
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1092
+ 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>]>>;
1093
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1094
+ 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">>>;
1095
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1096
+ value: z.ZodOptional<z.ZodNumber>;
1097
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1098
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1099
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1100
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1101
+ 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>;
1102
+ 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>>;
1103
+ }, "strip", z.ZodTypeAny, {
1104
+ start: Date;
1105
+ end?: Date | undefined;
1106
+ }, {
1107
+ start: string | Date;
1108
+ end?: string | Date | undefined;
1109
+ }>, {
1110
+ start: Date;
1111
+ end?: Date | undefined;
1112
+ }, {
1113
+ start: string | Date;
1114
+ end?: string | Date | undefined;
1115
+ }>>;
1116
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1117
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1118
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1119
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1120
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1121
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1122
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1123
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1124
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1125
+ }, "strip", z.ZodTypeAny, {
1126
+ name?: string | undefined;
1127
+ }, {
1128
+ name?: string | undefined;
1129
+ }>>>;
1130
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1131
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1132
+ _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>]>>;
1133
+ }, z.ZodTypeAny, "passthrough">>]>;
1134
+ export declare const AllCouponsUpdateSchema: z.ZodObject<{
1135
+ _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>]>;
1136
+ data: z.ZodUnion<[z.ZodObject<{
1137
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>;
1138
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1139
+ value: z.ZodNumber;
1140
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1141
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1142
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1143
+ duration: z.ZodEffects<z.ZodObject<{
1144
+ 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>;
1145
+ 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>>;
1146
+ }, "strip", z.ZodTypeAny, {
1147
+ start: Date;
1148
+ end?: Date | undefined;
1149
+ }, {
1150
+ start: string | Date;
1151
+ end?: string | Date | undefined;
1152
+ }>, {
1153
+ start: Date;
1154
+ end?: Date | undefined;
1155
+ }, {
1156
+ start: string | Date;
1157
+ end?: string | Date | undefined;
1158
+ }>;
1159
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1160
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1161
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1162
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1163
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1164
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1165
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1166
+ referringUser: z.ZodOptional<z.ZodObject<{
1167
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1168
+ }, "strip", z.ZodTypeAny, {
1169
+ name?: string | undefined;
1170
+ }, {
1171
+ name?: string | undefined;
1172
+ }>>;
1173
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1174
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1175
+ }, "strict", z.ZodTypeAny, {
1176
+ value: number;
1177
+ code: string;
1178
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1179
+ duration: {
1180
+ start: Date;
1181
+ end?: Date | undefined;
1182
+ };
1183
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1184
+ spendLimit: number | null;
1185
+ maxDiscountLimit: number | null;
1186
+ totalOrderLimit: number | null;
1187
+ minOrderValue: number | null;
1188
+ forNewUserOnly: boolean;
1189
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1190
+ orderLimitPerUser: number | null;
1191
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1192
+ secondaryCurrencyValue?: number | undefined;
1193
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1194
+ secondaryCurrencyMinOrderValue?: number | undefined;
1195
+ referringUser?: {
1196
+ name?: string | undefined;
1197
+ } | undefined;
1198
+ }, {
1199
+ value: number;
1200
+ code: string;
1201
+ duration: {
1202
+ start: string | Date;
1203
+ end?: string | Date | undefined;
1204
+ };
1205
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1206
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1207
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1208
+ spendLimit?: number | null | undefined;
1209
+ secondaryCurrencyValue?: number | undefined;
1210
+ maxDiscountLimit?: number | null | undefined;
1211
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1212
+ totalOrderLimit?: number | null | undefined;
1213
+ minOrderValue?: number | null | undefined;
1214
+ secondaryCurrencyMinOrderValue?: number | undefined;
1215
+ forNewUserOnly?: boolean | undefined;
1216
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1217
+ referringUser?: {
1218
+ name?: string | undefined;
1219
+ } | undefined;
1220
+ orderLimitPerUser?: number | null | undefined;
1221
+ }>, z.ZodObject<{
1222
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>;
1223
+ orderLimitPerUser: z.ZodLiteral<1>;
1224
+ 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>]>;
1225
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1226
+ }, "strict", z.ZodTypeAny, {
1227
+ code: string;
1228
+ orderLimitPerUser: 1;
1229
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1230
+ referralUser: import("mongoose").Types.ObjectId;
1231
+ }, {
1232
+ code: string;
1233
+ orderLimitPerUser: 1;
1234
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1235
+ referralUser: string | import("mongoose").Types.ObjectId;
1236
+ }>, z.ZodObject<{
1237
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>;
1238
+ 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>]>;
1239
+ 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>]>;
1240
+ 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>]>;
1241
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1242
+ value: z.ZodNumber;
1243
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1244
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1245
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1246
+ duration: z.ZodEffects<z.ZodObject<{
1247
+ 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>;
1248
+ 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>>;
1249
+ }, "strip", z.ZodTypeAny, {
1250
+ start: Date;
1251
+ end?: Date | undefined;
1252
+ }, {
1253
+ start: string | Date;
1254
+ end?: string | Date | undefined;
1255
+ }>, {
1256
+ start: Date;
1257
+ end?: Date | undefined;
1258
+ }, {
1259
+ start: string | Date;
1260
+ end?: string | Date | undefined;
1261
+ }>;
1262
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1263
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1264
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1265
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1266
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1267
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1268
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1269
+ referringUser: z.ZodOptional<z.ZodObject<{
1270
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1271
+ }, "strip", z.ZodTypeAny, {
1272
+ name?: string | undefined;
1273
+ }, {
1274
+ name?: string | undefined;
1275
+ }>>;
1276
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1277
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1278
+ }, "strict", z.ZodTypeAny, {
1279
+ value: number;
1280
+ code: string;
1281
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1282
+ duration: {
1283
+ start: Date;
1284
+ end?: Date | undefined;
1285
+ };
1286
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1287
+ spendLimit: number | null;
1288
+ user: import("mongoose").Types.ObjectId;
1289
+ maxDiscountLimit: number | null;
1290
+ totalOrderLimit: number | null;
1291
+ minOrderValue: number | null;
1292
+ forNewUserOnly: boolean;
1293
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1294
+ orderLimitPerUser: number | null;
1295
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1296
+ referralCodeUsedBy: import("mongoose").Types.ObjectId;
1297
+ referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
1298
+ secondaryCurrencyValue?: number | undefined;
1299
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1300
+ secondaryCurrencyMinOrderValue?: number | undefined;
1301
+ referringUser?: {
1302
+ name?: string | undefined;
1303
+ } | undefined;
1304
+ }, {
1305
+ value: number;
1306
+ code: string;
1307
+ duration: {
1308
+ start: string | Date;
1309
+ end?: string | Date | undefined;
1310
+ };
1311
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1312
+ user: string | import("mongoose").Types.ObjectId;
1313
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1314
+ referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
1315
+ referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
1316
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1317
+ spendLimit?: number | null | undefined;
1318
+ secondaryCurrencyValue?: number | undefined;
1319
+ maxDiscountLimit?: number | null | undefined;
1320
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1321
+ totalOrderLimit?: number | null | undefined;
1322
+ minOrderValue?: number | null | undefined;
1323
+ secondaryCurrencyMinOrderValue?: number | undefined;
1324
+ forNewUserOnly?: boolean | undefined;
1325
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1326
+ referringUser?: {
1327
+ name?: string | undefined;
1328
+ } | undefined;
1329
+ orderLimitPerUser?: number | null | undefined;
1330
+ }>, z.ZodObject<{
1331
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>;
1332
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
1333
+ 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">>;
1334
+ isShopCoverExpenses: z.ZodDefault<z.ZodBoolean>;
1335
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1336
+ value: z.ZodNumber;
1337
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1338
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1339
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1340
+ duration: z.ZodEffects<z.ZodObject<{
1341
+ 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>;
1342
+ 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>>;
1343
+ }, "strip", z.ZodTypeAny, {
1344
+ start: Date;
1345
+ end?: Date | undefined;
1346
+ }, {
1347
+ start: string | Date;
1348
+ end?: string | Date | undefined;
1349
+ }>, {
1350
+ start: Date;
1351
+ end?: Date | undefined;
1352
+ }, {
1353
+ start: string | Date;
1354
+ end?: string | Date | undefined;
1355
+ }>;
1356
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1357
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1358
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1359
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1360
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1361
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1362
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1363
+ referringUser: z.ZodOptional<z.ZodObject<{
1364
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1365
+ }, "strip", z.ZodTypeAny, {
1366
+ name?: string | undefined;
1367
+ }, {
1368
+ name?: string | undefined;
1369
+ }>>;
1370
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1371
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1372
+ }, "strict", z.ZodTypeAny, {
1373
+ value: number;
1374
+ code: string;
1375
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1376
+ duration: {
1377
+ start: Date;
1378
+ end?: Date | undefined;
1379
+ };
1380
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1381
+ spendLimit: number | null;
1382
+ maxDiscountLimit: number | null;
1383
+ totalOrderLimit: number | null;
1384
+ minOrderValue: number | null;
1385
+ forNewUserOnly: boolean;
1386
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1387
+ orderLimitPerUser: number | null;
1388
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1389
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1390
+ shops: import("mongoose").Types.ObjectId[];
1391
+ isShopCoverExpenses: boolean;
1392
+ secondaryCurrencyValue?: number | undefined;
1393
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1394
+ secondaryCurrencyMinOrderValue?: number | undefined;
1395
+ referringUser?: {
1396
+ name?: string | undefined;
1397
+ } | undefined;
1398
+ }, {
1399
+ value: number;
1400
+ code: string;
1401
+ duration: {
1402
+ start: string | Date;
1403
+ end?: string | Date | undefined;
1404
+ };
1405
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1406
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1407
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1408
+ spendLimit?: number | null | undefined;
1409
+ secondaryCurrencyValue?: number | undefined;
1410
+ maxDiscountLimit?: number | null | undefined;
1411
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1412
+ totalOrderLimit?: number | null | undefined;
1413
+ minOrderValue?: number | null | undefined;
1414
+ secondaryCurrencyMinOrderValue?: number | undefined;
1415
+ forNewUserOnly?: boolean | undefined;
1416
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1417
+ referringUser?: {
1418
+ name?: string | undefined;
1419
+ } | undefined;
1420
+ orderLimitPerUser?: number | null | undefined;
1421
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1422
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1423
+ isShopCoverExpenses?: boolean | undefined;
1424
+ }>, z.ZodObject<{
1425
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>;
1426
+ 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">;
1427
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
1428
+ 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">>;
1429
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1430
+ value: z.ZodNumber;
1431
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1432
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1433
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1434
+ duration: z.ZodEffects<z.ZodObject<{
1435
+ 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>;
1436
+ 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>>;
1437
+ }, "strip", z.ZodTypeAny, {
1438
+ start: Date;
1439
+ end?: Date | undefined;
1440
+ }, {
1441
+ start: string | Date;
1442
+ end?: string | Date | undefined;
1443
+ }>, {
1444
+ start: Date;
1445
+ end?: Date | undefined;
1446
+ }, {
1447
+ start: string | Date;
1448
+ end?: string | Date | undefined;
1449
+ }>;
1450
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1451
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1452
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1453
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1454
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1455
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1456
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1457
+ referringUser: z.ZodOptional<z.ZodObject<{
1458
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1459
+ }, "strip", z.ZodTypeAny, {
1460
+ name?: string | undefined;
1461
+ }, {
1462
+ name?: string | undefined;
1463
+ }>>;
1464
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1465
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1466
+ }, "strict", z.ZodTypeAny, {
1467
+ value: number;
1468
+ code: string;
1469
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1470
+ duration: {
1471
+ start: Date;
1472
+ end?: Date | undefined;
1473
+ };
1474
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1475
+ spendLimit: number | null;
1476
+ maxDiscountLimit: number | null;
1477
+ totalOrderLimit: number | null;
1478
+ minOrderValue: number | null;
1479
+ forNewUserOnly: boolean;
1480
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1481
+ orderLimitPerUser: number | null;
1482
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1483
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1484
+ shops: import("mongoose").Types.ObjectId[];
1485
+ users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
1486
+ secondaryCurrencyValue?: number | undefined;
1487
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1488
+ secondaryCurrencyMinOrderValue?: number | undefined;
1489
+ referringUser?: {
1490
+ name?: string | undefined;
1491
+ } | 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_USER;
1501
+ users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
1502
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1503
+ spendLimit?: number | null | undefined;
1504
+ secondaryCurrencyValue?: number | undefined;
1505
+ maxDiscountLimit?: number | null | undefined;
1506
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1507
+ totalOrderLimit?: number | null | undefined;
1508
+ minOrderValue?: number | null | undefined;
1509
+ secondaryCurrencyMinOrderValue?: number | undefined;
1510
+ forNewUserOnly?: boolean | undefined;
1511
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1512
+ referringUser?: {
1513
+ name?: string | undefined;
1514
+ } | undefined;
1515
+ orderLimitPerUser?: number | null | undefined;
1516
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1517
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1518
+ }>, z.ZodObject<{
1519
+ couponType: z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>;
1520
+ 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>]>;
1521
+ itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
1522
+ 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">>;
1523
+ valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
1524
+ value: z.ZodNumber;
1525
+ secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
1526
+ maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1527
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
1528
+ duration: z.ZodEffects<z.ZodObject<{
1529
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
1530
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
1531
+ }, "strip", z.ZodTypeAny, {
1532
+ start: Date;
1533
+ end?: Date | undefined;
1534
+ }, {
1535
+ start: string | Date;
1536
+ end?: string | Date | undefined;
1537
+ }>, {
1538
+ start: Date;
1539
+ end?: Date | undefined;
1540
+ }, {
1541
+ start: string | Date;
1542
+ end?: string | Date | undefined;
1543
+ }>;
1544
+ spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1545
+ totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1546
+ minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1547
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
1548
+ forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1549
+ status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
1550
+ expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
1551
+ referringUser: z.ZodOptional<z.ZodObject<{
1552
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1553
+ }, "strip", z.ZodTypeAny, {
1554
+ name?: string | undefined;
1555
+ }, {
1556
+ name?: string | undefined;
1557
+ }>>;
1558
+ code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1559
+ orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
1560
+ }, "strict", z.ZodTypeAny, {
1561
+ value: number;
1562
+ code: string;
1563
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1564
+ duration: {
1565
+ start: Date;
1566
+ end?: Date | undefined;
1567
+ };
1568
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1569
+ spendLimit: number | null;
1570
+ maxDiscountLimit: number | null;
1571
+ totalOrderLimit: number | null;
1572
+ minOrderValue: number | null;
1573
+ forNewUserOnly: boolean;
1574
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1575
+ orderLimitPerUser: number | null;
1576
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1577
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1578
+ shops: import("mongoose").Types.ObjectId[];
1579
+ influencer: import("mongoose").Types.ObjectId;
1580
+ secondaryCurrencyValue?: number | undefined;
1581
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1582
+ secondaryCurrencyMinOrderValue?: number | undefined;
1583
+ referringUser?: {
1584
+ name?: string | undefined;
1585
+ } | undefined;
1586
+ }, {
1587
+ value: number;
1588
+ code: string;
1589
+ duration: {
1590
+ start: string | Date;
1591
+ end?: string | Date | undefined;
1592
+ };
1593
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1594
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1595
+ influencer: string | import("mongoose").Types.ObjectId;
1596
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1597
+ spendLimit?: number | null | undefined;
1598
+ secondaryCurrencyValue?: number | undefined;
1599
+ maxDiscountLimit?: number | null | undefined;
1600
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1601
+ totalOrderLimit?: number | null | undefined;
1602
+ minOrderValue?: number | null | undefined;
1603
+ secondaryCurrencyMinOrderValue?: number | undefined;
1604
+ forNewUserOnly?: boolean | undefined;
1605
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1606
+ referringUser?: {
1607
+ name?: string | undefined;
1608
+ } | undefined;
1609
+ orderLimitPerUser?: number | null | undefined;
1610
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1611
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1612
+ }>]>;
1613
+ }, "strip", z.ZodTypeAny, {
1614
+ _id: import("mongoose").Types.ObjectId;
1615
+ data: {
1616
+ value: number;
1617
+ code: string;
1618
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1619
+ duration: {
1620
+ start: Date;
1621
+ end?: Date | undefined;
1622
+ };
1623
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1624
+ spendLimit: number | null;
1625
+ maxDiscountLimit: number | null;
1626
+ totalOrderLimit: number | null;
1627
+ minOrderValue: number | null;
1628
+ forNewUserOnly: boolean;
1629
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1630
+ orderLimitPerUser: number | null;
1631
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1632
+ secondaryCurrencyValue?: number | undefined;
1633
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1634
+ secondaryCurrencyMinOrderValue?: number | undefined;
1635
+ referringUser?: {
1636
+ name?: string | undefined;
1637
+ } | undefined;
1638
+ } | {
1639
+ code: string;
1640
+ orderLimitPerUser: 1;
1641
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1642
+ referralUser: import("mongoose").Types.ObjectId;
1643
+ } | {
1644
+ value: number;
1645
+ code: string;
1646
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1647
+ duration: {
1648
+ start: Date;
1649
+ end?: Date | undefined;
1650
+ };
1651
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1652
+ spendLimit: number | null;
1653
+ user: import("mongoose").Types.ObjectId;
1654
+ maxDiscountLimit: number | null;
1655
+ totalOrderLimit: number | null;
1656
+ minOrderValue: number | null;
1657
+ forNewUserOnly: boolean;
1658
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1659
+ orderLimitPerUser: number | null;
1660
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1661
+ referralCodeUsedBy: import("mongoose").Types.ObjectId;
1662
+ referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
1663
+ secondaryCurrencyValue?: number | undefined;
1664
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1665
+ secondaryCurrencyMinOrderValue?: number | undefined;
1666
+ referringUser?: {
1667
+ name?: string | undefined;
1668
+ } | undefined;
1669
+ } | {
1670
+ value: number;
1671
+ code: string;
1672
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1673
+ duration: {
1674
+ start: Date;
1675
+ end?: Date | undefined;
1676
+ };
1677
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1678
+ spendLimit: number | null;
1679
+ maxDiscountLimit: number | null;
1680
+ totalOrderLimit: number | null;
1681
+ minOrderValue: number | null;
1682
+ forNewUserOnly: boolean;
1683
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1684
+ orderLimitPerUser: number | null;
1685
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1686
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1687
+ shops: import("mongoose").Types.ObjectId[];
1688
+ isShopCoverExpenses: boolean;
1689
+ secondaryCurrencyValue?: number | undefined;
1690
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1691
+ secondaryCurrencyMinOrderValue?: number | undefined;
1692
+ referringUser?: {
1693
+ name?: string | undefined;
1694
+ } | undefined;
1695
+ } | {
1696
+ value: number;
1697
+ code: string;
1698
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1699
+ duration: {
1700
+ start: Date;
1701
+ end?: Date | undefined;
1702
+ };
1703
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1704
+ spendLimit: number | null;
1705
+ maxDiscountLimit: number | null;
1706
+ totalOrderLimit: number | null;
1707
+ minOrderValue: number | null;
1708
+ forNewUserOnly: boolean;
1709
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1710
+ orderLimitPerUser: number | null;
1711
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1712
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1713
+ shops: import("mongoose").Types.ObjectId[];
1714
+ users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
1715
+ secondaryCurrencyValue?: number | undefined;
1716
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1717
+ secondaryCurrencyMinOrderValue?: number | undefined;
1718
+ referringUser?: {
1719
+ name?: string | undefined;
1720
+ } | undefined;
1721
+ } | {
1722
+ value: number;
1723
+ code: string;
1724
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
1725
+ duration: {
1726
+ start: Date;
1727
+ end?: Date | undefined;
1728
+ };
1729
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1730
+ spendLimit: number | null;
1731
+ maxDiscountLimit: number | null;
1732
+ totalOrderLimit: number | null;
1733
+ minOrderValue: number | null;
1734
+ forNewUserOnly: boolean;
1735
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
1736
+ orderLimitPerUser: number | null;
1737
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1738
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
1739
+ shops: import("mongoose").Types.ObjectId[];
1740
+ influencer: import("mongoose").Types.ObjectId;
1741
+ secondaryCurrencyValue?: number | undefined;
1742
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1743
+ secondaryCurrencyMinOrderValue?: number | undefined;
1744
+ referringUser?: {
1745
+ name?: string | undefined;
1746
+ } | undefined;
1747
+ };
1748
+ }, {
1749
+ _id: string | import("mongoose").Types.ObjectId;
1750
+ data: {
1751
+ value: number;
1752
+ code: string;
1753
+ duration: {
1754
+ start: string | Date;
1755
+ end?: string | Date | undefined;
1756
+ };
1757
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1758
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1759
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1760
+ spendLimit?: number | null | undefined;
1761
+ secondaryCurrencyValue?: number | undefined;
1762
+ maxDiscountLimit?: number | null | undefined;
1763
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1764
+ totalOrderLimit?: number | null | undefined;
1765
+ minOrderValue?: number | null | undefined;
1766
+ secondaryCurrencyMinOrderValue?: number | undefined;
1767
+ forNewUserOnly?: boolean | undefined;
1768
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1769
+ referringUser?: {
1770
+ name?: string | undefined;
1771
+ } | undefined;
1772
+ orderLimitPerUser?: number | null | undefined;
1773
+ } | {
1774
+ code: string;
1775
+ orderLimitPerUser: 1;
1776
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1777
+ referralUser: string | import("mongoose").Types.ObjectId;
1778
+ } | {
1779
+ value: number;
1780
+ code: string;
1781
+ duration: {
1782
+ start: string | Date;
1783
+ end?: string | Date | undefined;
1784
+ };
1785
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1786
+ user: string | import("mongoose").Types.ObjectId;
1787
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1788
+ referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
1789
+ referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
1790
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1791
+ spendLimit?: number | null | undefined;
1792
+ secondaryCurrencyValue?: number | undefined;
1793
+ maxDiscountLimit?: number | null | undefined;
1794
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1795
+ totalOrderLimit?: number | null | undefined;
1796
+ minOrderValue?: number | null | undefined;
1797
+ secondaryCurrencyMinOrderValue?: number | undefined;
1798
+ forNewUserOnly?: boolean | undefined;
1799
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1800
+ referringUser?: {
1801
+ name?: string | undefined;
1802
+ } | undefined;
1803
+ orderLimitPerUser?: number | null | undefined;
1804
+ } | {
1805
+ value: number;
1806
+ code: string;
1807
+ duration: {
1808
+ start: string | Date;
1809
+ end?: string | Date | undefined;
1810
+ };
1811
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1812
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1813
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1814
+ spendLimit?: number | null | undefined;
1815
+ secondaryCurrencyValue?: number | undefined;
1816
+ maxDiscountLimit?: number | null | undefined;
1817
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1818
+ totalOrderLimit?: number | null | undefined;
1819
+ minOrderValue?: number | null | undefined;
1820
+ secondaryCurrencyMinOrderValue?: number | undefined;
1821
+ forNewUserOnly?: boolean | undefined;
1822
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1823
+ referringUser?: {
1824
+ name?: string | undefined;
1825
+ } | undefined;
1826
+ orderLimitPerUser?: number | null | undefined;
1827
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1828
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1829
+ isShopCoverExpenses?: boolean | undefined;
1830
+ } | {
1831
+ value: number;
1832
+ code: string;
1833
+ duration: {
1834
+ start: string | Date;
1835
+ end?: string | Date | undefined;
1836
+ };
1837
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1838
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1839
+ users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
1840
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1841
+ spendLimit?: number | null | undefined;
1842
+ secondaryCurrencyValue?: number | undefined;
1843
+ maxDiscountLimit?: number | null | undefined;
1844
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1845
+ totalOrderLimit?: number | null | undefined;
1846
+ minOrderValue?: number | null | undefined;
1847
+ secondaryCurrencyMinOrderValue?: number | undefined;
1848
+ forNewUserOnly?: boolean | undefined;
1849
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1850
+ referringUser?: {
1851
+ name?: string | undefined;
1852
+ } | undefined;
1853
+ orderLimitPerUser?: number | null | undefined;
1854
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1855
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1856
+ } | {
1857
+ value: number;
1858
+ code: string;
1859
+ duration: {
1860
+ start: string | Date;
1861
+ end?: string | Date | undefined;
1862
+ };
1863
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1864
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1865
+ influencer: string | import("mongoose").Types.ObjectId;
1866
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1867
+ spendLimit?: number | null | undefined;
1868
+ secondaryCurrencyValue?: number | undefined;
1869
+ maxDiscountLimit?: number | null | undefined;
1870
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1871
+ totalOrderLimit?: number | null | undefined;
1872
+ minOrderValue?: number | null | undefined;
1873
+ secondaryCurrencyMinOrderValue?: number | undefined;
1874
+ forNewUserOnly?: boolean | undefined;
1875
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1876
+ referringUser?: {
1877
+ name?: string | undefined;
1878
+ } | undefined;
1879
+ orderLimitPerUser?: number | null | undefined;
1880
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1881
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1882
+ };
1883
+ }>;
1884
+ export declare const CouponResponseSchema: z.ZodObject<{
1885
+ success: z.ZodBoolean;
1886
+ message: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
1887
+ data: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
1888
+ metadata: z.ZodOptional<z.ZodObject<{
1889
+ page: z.ZodNumber;
1890
+ size: z.ZodNumber;
1891
+ totalElements: z.ZodNumber;
1892
+ totalPages: z.ZodNumber;
1893
+ }, "strip", z.ZodTypeAny, {
1894
+ page: number;
1895
+ size: number;
1896
+ totalElements: number;
1897
+ totalPages: number;
1898
+ }, {
1899
+ page: number;
1900
+ size: number;
1901
+ totalElements: number;
1902
+ totalPages: number;
1903
+ }>>;
1904
+ documents: z.ZodArray<z.ZodType<z.objectInputType<{
1905
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
1906
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1907
+ value: z.ZodOptional<z.ZodNumber>;
1908
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1909
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1910
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1911
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1912
+ 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>;
1913
+ 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>>;
1914
+ }, "strip", z.ZodTypeAny, {
1915
+ start: Date;
1916
+ end?: Date | undefined;
1917
+ }, {
1918
+ start: string | Date;
1919
+ end?: string | Date | undefined;
1920
+ }>, {
1921
+ start: Date;
1922
+ end?: Date | undefined;
1923
+ }, {
1924
+ start: string | Date;
1925
+ end?: string | Date | undefined;
1926
+ }>>;
1927
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1928
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1929
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1930
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1931
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1932
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1933
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1934
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1935
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1936
+ }, "strip", z.ZodTypeAny, {
1937
+ name?: string | undefined;
1938
+ }, {
1939
+ name?: string | undefined;
1940
+ }>>>;
1941
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1942
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1943
+ _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>]>>;
1944
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1945
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
1946
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
1947
+ 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>]>>;
1948
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1949
+ _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>]>>;
1950
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1951
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
1952
+ 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>]>>;
1953
+ 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>]>>;
1954
+ 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>]>>;
1955
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1956
+ value: z.ZodOptional<z.ZodNumber>;
1957
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1958
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1959
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1960
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1961
+ 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>;
1962
+ 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>>;
1963
+ }, "strip", z.ZodTypeAny, {
1964
+ start: Date;
1965
+ end?: Date | undefined;
1966
+ }, {
1967
+ start: string | Date;
1968
+ end?: string | Date | undefined;
1969
+ }>, {
1970
+ start: Date;
1971
+ end?: Date | undefined;
1972
+ }, {
1973
+ start: string | Date;
1974
+ end?: string | Date | undefined;
1975
+ }>>;
1976
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1977
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1978
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1979
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1980
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1981
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1982
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1983
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1984
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1985
+ }, "strip", z.ZodTypeAny, {
1986
+ name?: string | undefined;
1987
+ }, {
1988
+ name?: string | undefined;
1989
+ }>>>;
1990
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1991
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1992
+ _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>]>>;
1993
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1994
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1995
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1996
+ 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">>>;
1997
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1998
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1999
+ value: z.ZodOptional<z.ZodNumber>;
2000
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2001
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2002
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2003
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2004
+ 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>;
2005
+ 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>>;
2006
+ }, "strip", z.ZodTypeAny, {
2007
+ start: Date;
2008
+ end?: Date | undefined;
2009
+ }, {
2010
+ start: string | Date;
2011
+ end?: string | Date | undefined;
2012
+ }>, {
2013
+ start: Date;
2014
+ end?: Date | undefined;
2015
+ }, {
2016
+ start: string | Date;
2017
+ end?: string | Date | undefined;
2018
+ }>>;
2019
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2020
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2021
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2022
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2023
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2024
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2025
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2026
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2027
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2028
+ }, "strip", z.ZodTypeAny, {
2029
+ name?: string | undefined;
2030
+ }, {
2031
+ name?: string | undefined;
2032
+ }>>>;
2033
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2034
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2035
+ _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>]>>;
2036
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2037
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2038
+ 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">>;
2039
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2040
+ 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">>>;
2041
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2042
+ value: z.ZodOptional<z.ZodNumber>;
2043
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2044
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2045
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2046
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2047
+ 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>;
2048
+ 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>>;
2049
+ }, "strip", z.ZodTypeAny, {
2050
+ start: Date;
2051
+ end?: Date | undefined;
2052
+ }, {
2053
+ start: string | Date;
2054
+ end?: string | Date | undefined;
2055
+ }>, {
2056
+ start: Date;
2057
+ end?: Date | undefined;
2058
+ }, {
2059
+ start: string | Date;
2060
+ end?: string | Date | undefined;
2061
+ }>>;
2062
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2063
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2064
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2065
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2066
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2067
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2068
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2069
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2070
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2071
+ }, "strip", z.ZodTypeAny, {
2072
+ name?: string | undefined;
2073
+ }, {
2074
+ name?: string | undefined;
2075
+ }>>>;
2076
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2077
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2078
+ _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>]>>;
2079
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2080
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2081
+ 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>]>>;
2082
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2083
+ 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">>>;
2084
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2085
+ value: z.ZodOptional<z.ZodNumber>;
2086
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2087
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2088
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2089
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2090
+ 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>;
2091
+ 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>>;
2092
+ }, "strip", z.ZodTypeAny, {
2093
+ start: Date;
2094
+ end?: Date | undefined;
2095
+ }, {
2096
+ start: string | Date;
2097
+ end?: string | Date | undefined;
2098
+ }>, {
2099
+ start: Date;
2100
+ end?: Date | undefined;
2101
+ }, {
2102
+ start: string | Date;
2103
+ end?: string | Date | undefined;
2104
+ }>>;
2105
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2106
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2107
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2108
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2109
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2110
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2111
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2112
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2113
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2114
+ }, "strip", z.ZodTypeAny, {
2115
+ name?: string | undefined;
2116
+ }, {
2117
+ name?: string | undefined;
2118
+ }>>>;
2119
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2120
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2121
+ _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>]>>;
2122
+ }, z.ZodTypeAny, "passthrough">, z.ZodTypeDef, z.objectInputType<{
2123
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2124
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2125
+ value: z.ZodOptional<z.ZodNumber>;
2126
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2127
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2128
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2129
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2130
+ 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>;
2131
+ 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>>;
2132
+ }, "strip", z.ZodTypeAny, {
2133
+ start: Date;
2134
+ end?: Date | undefined;
2135
+ }, {
2136
+ start: string | Date;
2137
+ end?: string | Date | undefined;
2138
+ }>, {
2139
+ start: Date;
2140
+ end?: Date | undefined;
2141
+ }, {
2142
+ start: string | Date;
2143
+ end?: string | Date | undefined;
2144
+ }>>;
2145
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2146
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2147
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2148
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2149
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2150
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2151
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2152
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2153
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2154
+ }, "strip", z.ZodTypeAny, {
2155
+ name?: string | undefined;
2156
+ }, {
2157
+ name?: string | undefined;
2158
+ }>>>;
2159
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2160
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2161
+ _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>]>>;
2162
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2163
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2164
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2165
+ 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>]>>;
2166
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2167
+ _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>]>>;
2168
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2169
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2170
+ 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>]>>;
2171
+ 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>]>>;
2172
+ 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>]>>;
2173
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2174
+ value: z.ZodOptional<z.ZodNumber>;
2175
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2176
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2177
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2178
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2179
+ 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>;
2180
+ 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>>;
2181
+ }, "strip", z.ZodTypeAny, {
2182
+ start: Date;
2183
+ end?: Date | undefined;
2184
+ }, {
2185
+ start: string | Date;
2186
+ end?: string | Date | undefined;
2187
+ }>, {
2188
+ start: Date;
2189
+ end?: Date | undefined;
2190
+ }, {
2191
+ start: string | Date;
2192
+ end?: string | Date | undefined;
2193
+ }>>;
2194
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2195
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2196
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2197
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2198
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2199
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2200
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2201
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2202
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2203
+ }, "strip", z.ZodTypeAny, {
2204
+ name?: string | undefined;
2205
+ }, {
2206
+ name?: string | undefined;
2207
+ }>>>;
2208
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2209
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2210
+ _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>]>>;
2211
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2212
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2213
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2214
+ 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">>>;
2215
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2216
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2217
+ value: z.ZodOptional<z.ZodNumber>;
2218
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2219
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2220
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2221
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2222
+ 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>;
2223
+ 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>>;
2224
+ }, "strip", z.ZodTypeAny, {
2225
+ start: Date;
2226
+ end?: Date | undefined;
2227
+ }, {
2228
+ start: string | Date;
2229
+ end?: string | Date | undefined;
2230
+ }>, {
2231
+ start: Date;
2232
+ end?: Date | undefined;
2233
+ }, {
2234
+ start: string | Date;
2235
+ end?: string | Date | undefined;
2236
+ }>>;
2237
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2238
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2239
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2240
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2241
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2242
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2243
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2244
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2245
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2246
+ }, "strip", z.ZodTypeAny, {
2247
+ name?: string | undefined;
2248
+ }, {
2249
+ name?: string | undefined;
2250
+ }>>>;
2251
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2252
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2253
+ _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>]>>;
2254
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2255
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2256
+ 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">>;
2257
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2258
+ 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">>>;
2259
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2260
+ value: z.ZodOptional<z.ZodNumber>;
2261
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2262
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2263
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2264
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2265
+ 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>;
2266
+ 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>>;
2267
+ }, "strip", z.ZodTypeAny, {
2268
+ start: Date;
2269
+ end?: Date | undefined;
2270
+ }, {
2271
+ start: string | Date;
2272
+ end?: string | Date | undefined;
2273
+ }>, {
2274
+ start: Date;
2275
+ end?: Date | undefined;
2276
+ }, {
2277
+ start: string | Date;
2278
+ end?: string | Date | undefined;
2279
+ }>>;
2280
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2281
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2282
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2283
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2284
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2285
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2286
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2287
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2288
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2289
+ }, "strip", z.ZodTypeAny, {
2290
+ name?: string | undefined;
2291
+ }, {
2292
+ name?: string | undefined;
2293
+ }>>>;
2294
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2295
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2296
+ _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>]>>;
2297
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2298
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2299
+ 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>]>>;
2300
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2301
+ 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">>>;
2302
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2303
+ value: z.ZodOptional<z.ZodNumber>;
2304
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2305
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2306
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2307
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2308
+ 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>;
2309
+ 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>>;
2310
+ }, "strip", z.ZodTypeAny, {
2311
+ start: Date;
2312
+ end?: Date | undefined;
2313
+ }, {
2314
+ start: string | Date;
2315
+ end?: string | Date | undefined;
2316
+ }>, {
2317
+ start: Date;
2318
+ end?: Date | undefined;
2319
+ }, {
2320
+ start: string | Date;
2321
+ end?: string | Date | undefined;
2322
+ }>>;
2323
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2324
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2325
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2326
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2327
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2328
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2329
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2330
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2331
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2332
+ }, "strip", z.ZodTypeAny, {
2333
+ name?: string | undefined;
2334
+ }, {
2335
+ name?: string | undefined;
2336
+ }>>>;
2337
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2338
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2339
+ _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>]>>;
2340
+ }, z.ZodTypeAny, "passthrough">>, "many">;
2341
+ }, "strip", z.ZodTypeAny, {
2342
+ documents: (z.objectInputType<{
2343
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2344
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2345
+ value: z.ZodOptional<z.ZodNumber>;
2346
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2347
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2348
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2349
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2350
+ 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>;
2351
+ 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>>;
2352
+ }, "strip", z.ZodTypeAny, {
2353
+ start: Date;
2354
+ end?: Date | undefined;
2355
+ }, {
2356
+ start: string | Date;
2357
+ end?: string | Date | undefined;
2358
+ }>, {
2359
+ start: Date;
2360
+ end?: Date | undefined;
2361
+ }, {
2362
+ start: string | Date;
2363
+ end?: string | Date | undefined;
2364
+ }>>;
2365
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2366
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2367
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2368
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2369
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2370
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2371
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2372
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2373
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2374
+ }, "strip", z.ZodTypeAny, {
2375
+ name?: string | undefined;
2376
+ }, {
2377
+ name?: string | undefined;
2378
+ }>>>;
2379
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2380
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2381
+ _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>]>>;
2382
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2383
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2384
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2385
+ 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>]>>;
2386
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2387
+ _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>]>>;
2388
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2389
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2390
+ 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>]>>;
2391
+ 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>]>>;
2392
+ 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>]>>;
2393
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2394
+ value: z.ZodOptional<z.ZodNumber>;
2395
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2396
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2397
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2398
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2399
+ 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>;
2400
+ 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>>;
2401
+ }, "strip", z.ZodTypeAny, {
2402
+ start: Date;
2403
+ end?: Date | undefined;
2404
+ }, {
2405
+ start: string | Date;
2406
+ end?: string | Date | undefined;
2407
+ }>, {
2408
+ start: Date;
2409
+ end?: Date | undefined;
2410
+ }, {
2411
+ start: string | Date;
2412
+ end?: string | Date | undefined;
2413
+ }>>;
2414
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2415
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2416
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2417
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2418
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2419
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2420
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2421
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2422
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2423
+ }, "strip", z.ZodTypeAny, {
2424
+ name?: string | undefined;
2425
+ }, {
2426
+ name?: string | undefined;
2427
+ }>>>;
2428
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2429
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2430
+ _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>]>>;
2431
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2432
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2433
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2434
+ 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">>>;
2435
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2436
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2437
+ value: z.ZodOptional<z.ZodNumber>;
2438
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2439
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2440
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2441
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2442
+ 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>;
2443
+ 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>>;
2444
+ }, "strip", z.ZodTypeAny, {
2445
+ start: Date;
2446
+ end?: Date | undefined;
2447
+ }, {
2448
+ start: string | Date;
2449
+ end?: string | Date | undefined;
2450
+ }>, {
2451
+ start: Date;
2452
+ end?: Date | undefined;
2453
+ }, {
2454
+ start: string | Date;
2455
+ end?: string | Date | undefined;
2456
+ }>>;
2457
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2458
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2459
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2460
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2461
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2462
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2463
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2464
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2465
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2466
+ }, "strip", z.ZodTypeAny, {
2467
+ name?: string | undefined;
2468
+ }, {
2469
+ name?: string | undefined;
2470
+ }>>>;
2471
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2472
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2473
+ _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>]>>;
2474
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2475
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2476
+ 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">>;
2477
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2478
+ 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">>>;
2479
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2480
+ value: z.ZodOptional<z.ZodNumber>;
2481
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2482
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2483
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2484
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2485
+ 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>;
2486
+ 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>>;
2487
+ }, "strip", z.ZodTypeAny, {
2488
+ start: Date;
2489
+ end?: Date | undefined;
2490
+ }, {
2491
+ start: string | Date;
2492
+ end?: string | Date | undefined;
2493
+ }>, {
2494
+ start: Date;
2495
+ end?: Date | undefined;
2496
+ }, {
2497
+ start: string | Date;
2498
+ end?: string | Date | undefined;
2499
+ }>>;
2500
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2501
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2502
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2503
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2504
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2505
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2506
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2507
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2508
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2509
+ }, "strip", z.ZodTypeAny, {
2510
+ name?: string | undefined;
2511
+ }, {
2512
+ name?: string | undefined;
2513
+ }>>>;
2514
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2515
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2516
+ _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>]>>;
2517
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2518
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2519
+ 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>]>>;
2520
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2521
+ 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">>>;
2522
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2523
+ value: z.ZodOptional<z.ZodNumber>;
2524
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2525
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2526
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2527
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2528
+ 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>;
2529
+ 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>>;
2530
+ }, "strip", z.ZodTypeAny, {
2531
+ start: Date;
2532
+ end?: Date | undefined;
2533
+ }, {
2534
+ start: string | Date;
2535
+ end?: string | Date | undefined;
2536
+ }>, {
2537
+ start: Date;
2538
+ end?: Date | undefined;
2539
+ }, {
2540
+ start: string | Date;
2541
+ end?: string | Date | undefined;
2542
+ }>>;
2543
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2544
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2545
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2546
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2547
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2548
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2549
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2550
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2551
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2552
+ }, "strip", z.ZodTypeAny, {
2553
+ name?: string | undefined;
2554
+ }, {
2555
+ name?: string | undefined;
2556
+ }>>>;
2557
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2558
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2559
+ _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>]>>;
2560
+ }, z.ZodTypeAny, "passthrough">)[];
2561
+ metadata?: {
2562
+ page: number;
2563
+ size: number;
2564
+ totalElements: number;
2565
+ totalPages: number;
2566
+ } | undefined;
2567
+ }, {
2568
+ documents: (z.objectInputType<{
2569
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2570
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2571
+ value: z.ZodOptional<z.ZodNumber>;
2572
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2573
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2574
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2575
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2576
+ 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>;
2577
+ 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>>;
2578
+ }, "strip", z.ZodTypeAny, {
2579
+ start: Date;
2580
+ end?: Date | undefined;
2581
+ }, {
2582
+ start: string | Date;
2583
+ end?: string | Date | undefined;
2584
+ }>, {
2585
+ start: Date;
2586
+ end?: Date | undefined;
2587
+ }, {
2588
+ start: string | Date;
2589
+ end?: string | Date | undefined;
2590
+ }>>;
2591
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2592
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2593
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2594
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2595
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2596
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2597
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2598
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2599
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2600
+ }, "strip", z.ZodTypeAny, {
2601
+ name?: string | undefined;
2602
+ }, {
2603
+ name?: string | undefined;
2604
+ }>>>;
2605
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2606
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2607
+ _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>]>>;
2608
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2609
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2610
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2611
+ 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>]>>;
2612
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2613
+ _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>]>>;
2614
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2615
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2616
+ 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>]>>;
2617
+ 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>]>>;
2618
+ 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>]>>;
2619
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2620
+ value: z.ZodOptional<z.ZodNumber>;
2621
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2622
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2623
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2624
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2625
+ 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>;
2626
+ 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>>;
2627
+ }, "strip", z.ZodTypeAny, {
2628
+ start: Date;
2629
+ end?: Date | undefined;
2630
+ }, {
2631
+ start: string | Date;
2632
+ end?: string | Date | undefined;
2633
+ }>, {
2634
+ start: Date;
2635
+ end?: Date | undefined;
2636
+ }, {
2637
+ start: string | Date;
2638
+ end?: string | Date | undefined;
2639
+ }>>;
2640
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2641
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2642
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2643
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2644
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2645
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2646
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2647
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2648
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2649
+ }, "strip", z.ZodTypeAny, {
2650
+ name?: string | undefined;
2651
+ }, {
2652
+ name?: string | undefined;
2653
+ }>>>;
2654
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2655
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2656
+ _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>]>>;
2657
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2658
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2659
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2660
+ 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">>>;
2661
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2662
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2663
+ value: z.ZodOptional<z.ZodNumber>;
2664
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2665
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2666
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2667
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2668
+ 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>;
2669
+ 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>>;
2670
+ }, "strip", z.ZodTypeAny, {
2671
+ start: Date;
2672
+ end?: Date | undefined;
2673
+ }, {
2674
+ start: string | Date;
2675
+ end?: string | Date | undefined;
2676
+ }>, {
2677
+ start: Date;
2678
+ end?: Date | undefined;
2679
+ }, {
2680
+ start: string | Date;
2681
+ end?: string | Date | undefined;
2682
+ }>>;
2683
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2684
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2685
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2686
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2687
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2688
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2689
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2690
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2691
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2692
+ }, "strip", z.ZodTypeAny, {
2693
+ name?: string | undefined;
2694
+ }, {
2695
+ name?: string | undefined;
2696
+ }>>>;
2697
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2698
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2699
+ _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>]>>;
2700
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2701
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2702
+ 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">>;
2703
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2704
+ 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">>>;
2705
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2706
+ value: z.ZodOptional<z.ZodNumber>;
2707
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2708
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2709
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2710
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2711
+ 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>;
2712
+ 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>>;
2713
+ }, "strip", z.ZodTypeAny, {
2714
+ start: Date;
2715
+ end?: Date | undefined;
2716
+ }, {
2717
+ start: string | Date;
2718
+ end?: string | Date | undefined;
2719
+ }>, {
2720
+ start: Date;
2721
+ end?: Date | undefined;
2722
+ }, {
2723
+ start: string | Date;
2724
+ end?: string | Date | undefined;
2725
+ }>>;
2726
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2727
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2728
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2729
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2730
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2731
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2732
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2733
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2734
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2735
+ }, "strip", z.ZodTypeAny, {
2736
+ name?: string | undefined;
2737
+ }, {
2738
+ name?: string | undefined;
2739
+ }>>>;
2740
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2741
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2742
+ _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>]>>;
2743
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2744
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2745
+ 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>]>>;
2746
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2747
+ 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">>>;
2748
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2749
+ value: z.ZodOptional<z.ZodNumber>;
2750
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2751
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2752
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2753
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2754
+ 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>;
2755
+ 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>>;
2756
+ }, "strip", z.ZodTypeAny, {
2757
+ start: Date;
2758
+ end?: Date | undefined;
2759
+ }, {
2760
+ start: string | Date;
2761
+ end?: string | Date | undefined;
2762
+ }>, {
2763
+ start: Date;
2764
+ end?: Date | undefined;
2765
+ }, {
2766
+ start: string | Date;
2767
+ end?: string | Date | undefined;
2768
+ }>>;
2769
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2770
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2771
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2772
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2773
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2774
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2775
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2776
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2777
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2778
+ }, "strip", z.ZodTypeAny, {
2779
+ name?: string | undefined;
2780
+ }, {
2781
+ name?: string | undefined;
2782
+ }>>>;
2783
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2784
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
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">)[];
2787
+ metadata?: {
2788
+ page: number;
2789
+ size: number;
2790
+ totalElements: number;
2791
+ totalPages: number;
2792
+ } | undefined;
2793
+ }>, z.ZodType<z.objectInputType<{
2794
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2795
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2796
+ value: z.ZodOptional<z.ZodNumber>;
2797
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2798
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2799
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2800
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2801
+ 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>;
2802
+ 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>>;
2803
+ }, "strip", z.ZodTypeAny, {
2804
+ start: Date;
2805
+ end?: Date | undefined;
2806
+ }, {
2807
+ start: string | Date;
2808
+ end?: string | Date | undefined;
2809
+ }>, {
2810
+ start: Date;
2811
+ end?: Date | undefined;
2812
+ }, {
2813
+ start: string | Date;
2814
+ end?: string | Date | undefined;
2815
+ }>>;
2816
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2817
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2818
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2819
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2820
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2821
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2822
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2823
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2824
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2825
+ }, "strip", z.ZodTypeAny, {
2826
+ name?: string | undefined;
2827
+ }, {
2828
+ name?: string | undefined;
2829
+ }>>>;
2830
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2831
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2832
+ _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>]>>;
2833
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2834
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2835
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2836
+ 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>]>>;
2837
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2838
+ _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>]>>;
2839
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2840
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2841
+ 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>]>>;
2842
+ 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>]>>;
2843
+ 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>]>>;
2844
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2845
+ value: z.ZodOptional<z.ZodNumber>;
2846
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2847
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2848
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2849
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2850
+ 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>;
2851
+ 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>>;
2852
+ }, "strip", z.ZodTypeAny, {
2853
+ start: Date;
2854
+ end?: Date | undefined;
2855
+ }, {
2856
+ start: string | Date;
2857
+ end?: string | Date | undefined;
2858
+ }>, {
2859
+ start: Date;
2860
+ end?: Date | undefined;
2861
+ }, {
2862
+ start: string | Date;
2863
+ end?: string | Date | undefined;
2864
+ }>>;
2865
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2866
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2867
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2868
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2869
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2870
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2871
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2872
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2873
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2874
+ }, "strip", z.ZodTypeAny, {
2875
+ name?: string | undefined;
2876
+ }, {
2877
+ name?: string | undefined;
2878
+ }>>>;
2879
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2880
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2881
+ _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>]>>;
2882
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2883
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2884
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2885
+ 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">>>;
2886
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2887
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2888
+ value: z.ZodOptional<z.ZodNumber>;
2889
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2890
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2891
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2892
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2893
+ 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>;
2894
+ 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>>;
2895
+ }, "strip", z.ZodTypeAny, {
2896
+ start: Date;
2897
+ end?: Date | undefined;
2898
+ }, {
2899
+ start: string | Date;
2900
+ end?: string | Date | undefined;
2901
+ }>, {
2902
+ start: Date;
2903
+ end?: Date | undefined;
2904
+ }, {
2905
+ start: string | Date;
2906
+ end?: string | Date | undefined;
2907
+ }>>;
2908
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2909
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2910
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2911
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2912
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2913
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2914
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2915
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2916
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2917
+ }, "strip", z.ZodTypeAny, {
2918
+ name?: string | undefined;
2919
+ }, {
2920
+ name?: string | undefined;
2921
+ }>>>;
2922
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2923
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2924
+ _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>]>>;
2925
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2926
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2927
+ 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">>;
2928
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2929
+ 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">>>;
2930
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2931
+ value: z.ZodOptional<z.ZodNumber>;
2932
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2933
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2934
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2935
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2936
+ 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>;
2937
+ 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>>;
2938
+ }, "strip", z.ZodTypeAny, {
2939
+ start: Date;
2940
+ end?: Date | undefined;
2941
+ }, {
2942
+ start: string | Date;
2943
+ end?: string | Date | undefined;
2944
+ }>, {
2945
+ start: Date;
2946
+ end?: Date | undefined;
2947
+ }, {
2948
+ start: string | Date;
2949
+ end?: string | Date | undefined;
2950
+ }>>;
2951
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2952
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2953
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2954
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2955
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2956
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2957
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2958
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2959
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2960
+ }, "strip", z.ZodTypeAny, {
2961
+ name?: string | undefined;
2962
+ }, {
2963
+ name?: string | undefined;
2964
+ }>>>;
2965
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2966
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2967
+ _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>]>>;
2968
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2969
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2970
+ 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>]>>;
2971
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2972
+ 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">>>;
2973
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2974
+ value: z.ZodOptional<z.ZodNumber>;
2975
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2976
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2977
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2978
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2979
+ 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>;
2980
+ 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>>;
2981
+ }, "strip", z.ZodTypeAny, {
2982
+ start: Date;
2983
+ end?: Date | undefined;
2984
+ }, {
2985
+ start: string | Date;
2986
+ end?: string | Date | undefined;
2987
+ }>, {
2988
+ start: Date;
2989
+ end?: Date | undefined;
2990
+ }, {
2991
+ start: string | Date;
2992
+ end?: string | Date | undefined;
2993
+ }>>;
2994
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2995
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2996
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2997
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2998
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2999
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3000
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3001
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3002
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3003
+ }, "strip", z.ZodTypeAny, {
3004
+ name?: string | undefined;
3005
+ }, {
3006
+ name?: string | undefined;
3007
+ }>>>;
3008
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3009
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3010
+ _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>]>>;
3011
+ }, z.ZodTypeAny, "passthrough">, z.ZodTypeDef, z.objectInputType<{
3012
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3013
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3014
+ value: z.ZodOptional<z.ZodNumber>;
3015
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3016
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3017
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3018
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3019
+ 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>;
3020
+ 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>>;
3021
+ }, "strip", z.ZodTypeAny, {
3022
+ start: Date;
3023
+ end?: Date | undefined;
3024
+ }, {
3025
+ start: string | Date;
3026
+ end?: string | Date | undefined;
3027
+ }>, {
3028
+ start: Date;
3029
+ end?: Date | undefined;
3030
+ }, {
3031
+ start: string | Date;
3032
+ end?: string | Date | undefined;
3033
+ }>>;
3034
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3035
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3036
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3037
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3038
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3039
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3040
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3041
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3042
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3043
+ }, "strip", z.ZodTypeAny, {
3044
+ name?: string | undefined;
3045
+ }, {
3046
+ name?: string | undefined;
3047
+ }>>>;
3048
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3049
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3050
+ _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>]>>;
3051
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3052
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3053
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3054
+ 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>]>>;
3055
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3056
+ _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>]>>;
3057
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3058
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3059
+ 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>]>>;
3060
+ 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>]>>;
3061
+ 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>]>>;
3062
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3063
+ value: z.ZodOptional<z.ZodNumber>;
3064
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3065
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3066
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3067
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3068
+ 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>;
3069
+ 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>>;
3070
+ }, "strip", z.ZodTypeAny, {
3071
+ start: Date;
3072
+ end?: Date | undefined;
3073
+ }, {
3074
+ start: string | Date;
3075
+ end?: string | Date | undefined;
3076
+ }>, {
3077
+ start: Date;
3078
+ end?: Date | undefined;
3079
+ }, {
3080
+ start: string | Date;
3081
+ end?: string | Date | undefined;
3082
+ }>>;
3083
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3084
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3085
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3086
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3087
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3088
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3089
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3090
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3091
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3092
+ }, "strip", z.ZodTypeAny, {
3093
+ name?: string | undefined;
3094
+ }, {
3095
+ name?: string | undefined;
3096
+ }>>>;
3097
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3098
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3099
+ _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>]>>;
3100
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3101
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3102
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3103
+ 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">>>;
3104
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3105
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3106
+ value: z.ZodOptional<z.ZodNumber>;
3107
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3108
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3109
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3110
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3111
+ 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>;
3112
+ 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>>;
3113
+ }, "strip", z.ZodTypeAny, {
3114
+ start: Date;
3115
+ end?: Date | undefined;
3116
+ }, {
3117
+ start: string | Date;
3118
+ end?: string | Date | undefined;
3119
+ }>, {
3120
+ start: Date;
3121
+ end?: Date | undefined;
3122
+ }, {
3123
+ start: string | Date;
3124
+ end?: string | Date | undefined;
3125
+ }>>;
3126
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3127
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3128
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3129
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3130
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3131
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3132
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3133
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3134
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3135
+ }, "strip", z.ZodTypeAny, {
3136
+ name?: string | undefined;
3137
+ }, {
3138
+ name?: string | undefined;
3139
+ }>>>;
3140
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3141
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3142
+ _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>]>>;
3143
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3144
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
3145
+ 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">>;
3146
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3147
+ 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">>>;
3148
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3149
+ value: z.ZodOptional<z.ZodNumber>;
3150
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3151
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3152
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3153
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3154
+ 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>;
3155
+ 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>>;
3156
+ }, "strip", z.ZodTypeAny, {
3157
+ start: Date;
3158
+ end?: Date | undefined;
3159
+ }, {
3160
+ start: string | Date;
3161
+ end?: string | Date | undefined;
3162
+ }>, {
3163
+ start: Date;
3164
+ end?: Date | undefined;
3165
+ }, {
3166
+ start: string | Date;
3167
+ end?: string | Date | undefined;
3168
+ }>>;
3169
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3170
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3171
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3172
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3173
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3174
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3175
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3176
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3177
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3178
+ }, "strip", z.ZodTypeAny, {
3179
+ name?: string | undefined;
3180
+ }, {
3181
+ name?: string | undefined;
3182
+ }>>>;
3183
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3184
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3185
+ _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>]>>;
3186
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3187
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
3188
+ 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>]>>;
3189
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3190
+ 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">>>;
3191
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3192
+ value: z.ZodOptional<z.ZodNumber>;
3193
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3194
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3195
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3196
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3197
+ 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>;
3198
+ 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>>;
3199
+ }, "strip", z.ZodTypeAny, {
3200
+ start: Date;
3201
+ end?: Date | undefined;
3202
+ }, {
3203
+ start: string | Date;
3204
+ end?: string | Date | undefined;
3205
+ }>, {
3206
+ start: Date;
3207
+ end?: Date | undefined;
3208
+ }, {
3209
+ start: string | Date;
3210
+ end?: string | Date | undefined;
3211
+ }>>;
3212
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3213
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3214
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3215
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3216
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3217
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3218
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3219
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3220
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3221
+ }, "strip", z.ZodTypeAny, {
3222
+ name?: string | undefined;
3223
+ }, {
3224
+ name?: string | undefined;
3225
+ }>>>;
3226
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3227
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3228
+ _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>]>>;
3229
+ }, z.ZodTypeAny, "passthrough">>]>>;
3230
+ }, "strip", z.ZodTypeAny, {
3231
+ message: string;
3232
+ success: boolean;
3233
+ data?: z.objectInputType<{
3234
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3235
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3236
+ value: z.ZodOptional<z.ZodNumber>;
3237
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3238
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3239
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3240
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3241
+ 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>;
3242
+ 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>>;
3243
+ }, "strip", z.ZodTypeAny, {
3244
+ start: Date;
3245
+ end?: Date | undefined;
3246
+ }, {
3247
+ start: string | Date;
3248
+ end?: string | Date | undefined;
3249
+ }>, {
3250
+ start: Date;
3251
+ end?: Date | undefined;
3252
+ }, {
3253
+ start: string | Date;
3254
+ end?: string | Date | undefined;
3255
+ }>>;
3256
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3257
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3258
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3259
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3260
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3261
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3262
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3263
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3264
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3265
+ }, "strip", z.ZodTypeAny, {
3266
+ name?: string | undefined;
3267
+ }, {
3268
+ name?: string | undefined;
3269
+ }>>>;
3270
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3271
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3272
+ _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>]>>;
3273
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3274
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3275
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3276
+ 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>]>>;
3277
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3278
+ _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>]>>;
3279
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3280
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3281
+ 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>]>>;
3282
+ 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>]>>;
3283
+ 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>]>>;
3284
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3285
+ value: z.ZodOptional<z.ZodNumber>;
3286
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3287
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3288
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3289
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3290
+ 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>;
3291
+ 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>>;
3292
+ }, "strip", z.ZodTypeAny, {
3293
+ start: Date;
3294
+ end?: Date | undefined;
3295
+ }, {
3296
+ start: string | Date;
3297
+ end?: string | Date | undefined;
3298
+ }>, {
3299
+ start: Date;
3300
+ end?: Date | undefined;
3301
+ }, {
3302
+ start: string | Date;
3303
+ end?: string | Date | undefined;
3304
+ }>>;
3305
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3306
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3307
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3308
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3309
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3310
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3311
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3312
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3313
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3314
+ }, "strip", z.ZodTypeAny, {
3315
+ name?: string | undefined;
3316
+ }, {
3317
+ name?: string | undefined;
3318
+ }>>>;
3319
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3320
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3321
+ _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>]>>;
3322
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3323
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3324
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3325
+ 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">>>;
3326
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3327
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3328
+ value: z.ZodOptional<z.ZodNumber>;
3329
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3330
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3331
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3332
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3333
+ 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>;
3334
+ 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>>;
3335
+ }, "strip", z.ZodTypeAny, {
3336
+ start: Date;
3337
+ end?: Date | undefined;
3338
+ }, {
3339
+ start: string | Date;
3340
+ end?: string | Date | undefined;
3341
+ }>, {
3342
+ start: Date;
3343
+ end?: Date | undefined;
3344
+ }, {
3345
+ start: string | Date;
3346
+ end?: string | Date | undefined;
3347
+ }>>;
3348
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3349
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3350
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3351
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3352
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3353
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3354
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3355
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3356
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3357
+ }, "strip", z.ZodTypeAny, {
3358
+ name?: string | undefined;
3359
+ }, {
3360
+ name?: string | undefined;
3361
+ }>>>;
3362
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3363
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3364
+ _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>]>>;
3365
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3366
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
3367
+ 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">>;
3368
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3369
+ 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">>>;
3370
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3371
+ value: z.ZodOptional<z.ZodNumber>;
3372
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3373
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3374
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3375
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3376
+ 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>;
3377
+ 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>>;
3378
+ }, "strip", z.ZodTypeAny, {
3379
+ start: Date;
3380
+ end?: Date | undefined;
3381
+ }, {
3382
+ start: string | Date;
3383
+ end?: string | Date | undefined;
3384
+ }>, {
3385
+ start: Date;
3386
+ end?: Date | undefined;
3387
+ }, {
3388
+ start: string | Date;
3389
+ end?: string | Date | undefined;
3390
+ }>>;
3391
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3392
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3393
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3394
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3395
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3396
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3397
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3398
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3399
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3400
+ }, "strip", z.ZodTypeAny, {
3401
+ name?: string | undefined;
3402
+ }, {
3403
+ name?: string | undefined;
3404
+ }>>>;
3405
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3406
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3407
+ _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>]>>;
3408
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3409
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
3410
+ 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>]>>;
3411
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3412
+ 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">>>;
3413
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3414
+ value: z.ZodOptional<z.ZodNumber>;
3415
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3416
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3417
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3418
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3419
+ 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>;
3420
+ 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>>;
3421
+ }, "strip", z.ZodTypeAny, {
3422
+ start: Date;
3423
+ end?: Date | undefined;
3424
+ }, {
3425
+ start: string | Date;
3426
+ end?: string | Date | undefined;
3427
+ }>, {
3428
+ start: Date;
3429
+ end?: Date | undefined;
3430
+ }, {
3431
+ start: string | Date;
3432
+ end?: string | Date | undefined;
3433
+ }>>;
3434
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3435
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3436
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3437
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3438
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3439
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3440
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3441
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3442
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3443
+ }, "strip", z.ZodTypeAny, {
3444
+ name?: string | undefined;
3445
+ }, {
3446
+ name?: string | undefined;
3447
+ }>>>;
3448
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3449
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3450
+ _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>]>>;
3451
+ }, z.ZodTypeAny, "passthrough"> | {
3452
+ documents: (z.objectInputType<{
3453
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3454
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3455
+ value: z.ZodOptional<z.ZodNumber>;
3456
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3457
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3458
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3459
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3460
+ 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>;
3461
+ 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>>;
3462
+ }, "strip", z.ZodTypeAny, {
3463
+ start: Date;
3464
+ end?: Date | undefined;
3465
+ }, {
3466
+ start: string | Date;
3467
+ end?: string | Date | undefined;
3468
+ }>, {
3469
+ start: Date;
3470
+ end?: Date | undefined;
3471
+ }, {
3472
+ start: string | Date;
3473
+ end?: string | Date | undefined;
3474
+ }>>;
3475
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3476
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3477
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3478
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3479
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3480
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3481
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3482
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3483
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3484
+ }, "strip", z.ZodTypeAny, {
3485
+ name?: string | undefined;
3486
+ }, {
3487
+ name?: string | undefined;
3488
+ }>>>;
3489
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3490
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3491
+ _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>]>>;
3492
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3493
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3494
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3495
+ 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>]>>;
3496
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3497
+ _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>]>>;
3498
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3499
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3500
+ 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>]>>;
3501
+ 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>]>>;
3502
+ 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>]>>;
3503
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3504
+ value: z.ZodOptional<z.ZodNumber>;
3505
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3506
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3507
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3508
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3509
+ 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>;
3510
+ 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>>;
3511
+ }, "strip", z.ZodTypeAny, {
3512
+ start: Date;
3513
+ end?: Date | undefined;
3514
+ }, {
3515
+ start: string | Date;
3516
+ end?: string | Date | undefined;
3517
+ }>, {
3518
+ start: Date;
3519
+ end?: Date | undefined;
3520
+ }, {
3521
+ start: string | Date;
3522
+ end?: string | Date | undefined;
3523
+ }>>;
3524
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3525
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3526
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3527
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3528
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3529
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3530
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3531
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3532
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3533
+ }, "strip", z.ZodTypeAny, {
3534
+ name?: string | undefined;
3535
+ }, {
3536
+ name?: string | undefined;
3537
+ }>>>;
3538
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3539
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3540
+ _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>]>>;
3541
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3542
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3543
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3544
+ 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">>>;
3545
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3546
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3547
+ value: z.ZodOptional<z.ZodNumber>;
3548
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3549
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3550
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3551
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3552
+ 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>;
3553
+ 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>>;
3554
+ }, "strip", z.ZodTypeAny, {
3555
+ start: Date;
3556
+ end?: Date | undefined;
3557
+ }, {
3558
+ start: string | Date;
3559
+ end?: string | Date | undefined;
3560
+ }>, {
3561
+ start: Date;
3562
+ end?: Date | undefined;
3563
+ }, {
3564
+ start: string | Date;
3565
+ end?: string | Date | undefined;
3566
+ }>>;
3567
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3568
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3569
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3570
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3571
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3572
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3573
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3574
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3575
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3576
+ }, "strip", z.ZodTypeAny, {
3577
+ name?: string | undefined;
3578
+ }, {
3579
+ name?: string | undefined;
3580
+ }>>>;
3581
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3582
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3583
+ _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>]>>;
3584
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3585
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
3586
+ 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">>;
3587
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3588
+ 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">>>;
3589
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3590
+ value: z.ZodOptional<z.ZodNumber>;
3591
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3592
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3593
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3594
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3595
+ 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>;
3596
+ 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>>;
3597
+ }, "strip", z.ZodTypeAny, {
3598
+ start: Date;
3599
+ end?: Date | undefined;
3600
+ }, {
3601
+ start: string | Date;
3602
+ end?: string | Date | undefined;
3603
+ }>, {
3604
+ start: Date;
3605
+ end?: Date | undefined;
3606
+ }, {
3607
+ start: string | Date;
3608
+ end?: string | Date | undefined;
3609
+ }>>;
3610
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3611
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3612
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3613
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3614
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3615
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3616
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3617
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3618
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3619
+ }, "strip", z.ZodTypeAny, {
3620
+ name?: string | undefined;
3621
+ }, {
3622
+ name?: string | undefined;
3623
+ }>>>;
3624
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3625
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3626
+ _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>]>>;
3627
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3628
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
3629
+ 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>]>>;
3630
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3631
+ 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">>>;
3632
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3633
+ value: z.ZodOptional<z.ZodNumber>;
3634
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3635
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3636
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3637
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3638
+ 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>;
3639
+ 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>>;
3640
+ }, "strip", z.ZodTypeAny, {
3641
+ start: Date;
3642
+ end?: Date | undefined;
3643
+ }, {
3644
+ start: string | Date;
3645
+ end?: string | Date | undefined;
3646
+ }>, {
3647
+ start: Date;
3648
+ end?: Date | undefined;
3649
+ }, {
3650
+ start: string | Date;
3651
+ end?: string | Date | undefined;
3652
+ }>>;
3653
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3654
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3655
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3656
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3657
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3658
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3659
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3660
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3661
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3662
+ }, "strip", z.ZodTypeAny, {
3663
+ name?: string | undefined;
3664
+ }, {
3665
+ name?: string | undefined;
3666
+ }>>>;
3667
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3668
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3669
+ _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>]>>;
3670
+ }, z.ZodTypeAny, "passthrough">)[];
3671
+ metadata?: {
3672
+ page: number;
3673
+ size: number;
3674
+ totalElements: number;
3675
+ totalPages: number;
3676
+ } | undefined;
3677
+ } | undefined;
3678
+ }, {
3679
+ message: string;
3680
+ success: boolean;
3681
+ data?: z.objectInputType<{
3682
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3683
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3684
+ value: z.ZodOptional<z.ZodNumber>;
3685
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3686
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3687
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3688
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3689
+ 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>;
3690
+ 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>>;
3691
+ }, "strip", z.ZodTypeAny, {
3692
+ start: Date;
3693
+ end?: Date | undefined;
3694
+ }, {
3695
+ start: string | Date;
3696
+ end?: string | Date | undefined;
3697
+ }>, {
3698
+ start: Date;
3699
+ end?: Date | undefined;
3700
+ }, {
3701
+ start: string | Date;
3702
+ end?: string | Date | undefined;
3703
+ }>>;
3704
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3705
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3706
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3707
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3708
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3709
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3710
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3711
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3712
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3713
+ }, "strip", z.ZodTypeAny, {
3714
+ name?: string | undefined;
3715
+ }, {
3716
+ name?: string | undefined;
3717
+ }>>>;
3718
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3719
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3720
+ _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>]>>;
3721
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3722
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3723
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3724
+ 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>]>>;
3725
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3726
+ _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>]>>;
3727
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3728
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3729
+ 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>]>>;
3730
+ 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>]>>;
3731
+ 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>]>>;
3732
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3733
+ value: z.ZodOptional<z.ZodNumber>;
3734
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3735
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3736
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3737
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3738
+ 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>;
3739
+ 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>>;
3740
+ }, "strip", z.ZodTypeAny, {
3741
+ start: Date;
3742
+ end?: Date | undefined;
3743
+ }, {
3744
+ start: string | Date;
3745
+ end?: string | Date | undefined;
3746
+ }>, {
3747
+ start: Date;
3748
+ end?: Date | undefined;
3749
+ }, {
3750
+ start: string | Date;
3751
+ end?: string | Date | undefined;
3752
+ }>>;
3753
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3754
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3755
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3756
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3757
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3758
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3759
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3760
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3761
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3762
+ }, "strip", z.ZodTypeAny, {
3763
+ name?: string | undefined;
3764
+ }, {
3765
+ name?: string | undefined;
3766
+ }>>>;
3767
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3768
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3769
+ _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>]>>;
3770
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3771
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3772
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3773
+ 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">>>;
3774
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3775
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3776
+ value: z.ZodOptional<z.ZodNumber>;
3777
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3778
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3779
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3780
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3781
+ 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>;
3782
+ 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>>;
3783
+ }, "strip", z.ZodTypeAny, {
3784
+ start: Date;
3785
+ end?: Date | undefined;
3786
+ }, {
3787
+ start: string | Date;
3788
+ end?: string | Date | undefined;
3789
+ }>, {
3790
+ start: Date;
3791
+ end?: Date | undefined;
3792
+ }, {
3793
+ start: string | Date;
3794
+ end?: string | Date | undefined;
3795
+ }>>;
3796
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3797
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3798
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3799
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3800
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3801
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3802
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3803
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3804
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3805
+ }, "strip", z.ZodTypeAny, {
3806
+ name?: string | undefined;
3807
+ }, {
3808
+ name?: string | undefined;
3809
+ }>>>;
3810
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3811
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3812
+ _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>]>>;
3813
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3814
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
3815
+ 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">>;
3816
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3817
+ 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">>>;
3818
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3819
+ value: z.ZodOptional<z.ZodNumber>;
3820
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3821
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3822
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3823
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3824
+ 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>;
3825
+ 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>>;
3826
+ }, "strip", z.ZodTypeAny, {
3827
+ start: Date;
3828
+ end?: Date | undefined;
3829
+ }, {
3830
+ start: string | Date;
3831
+ end?: string | Date | undefined;
3832
+ }>, {
3833
+ start: Date;
3834
+ end?: Date | undefined;
3835
+ }, {
3836
+ start: string | Date;
3837
+ end?: string | Date | undefined;
3838
+ }>>;
3839
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3840
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3841
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3842
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3843
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3844
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3845
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3846
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3847
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3848
+ }, "strip", z.ZodTypeAny, {
3849
+ name?: string | undefined;
3850
+ }, {
3851
+ name?: string | undefined;
3852
+ }>>>;
3853
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3854
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3855
+ _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>]>>;
3856
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3857
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
3858
+ 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>]>>;
3859
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3860
+ 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">>>;
3861
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3862
+ value: z.ZodOptional<z.ZodNumber>;
3863
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3864
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3865
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3866
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3867
+ 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>;
3868
+ 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>>;
3869
+ }, "strip", z.ZodTypeAny, {
3870
+ start: Date;
3871
+ end?: Date | undefined;
3872
+ }, {
3873
+ start: string | Date;
3874
+ end?: string | Date | undefined;
3875
+ }>, {
3876
+ start: Date;
3877
+ end?: Date | undefined;
3878
+ }, {
3879
+ start: string | Date;
3880
+ end?: string | Date | undefined;
3881
+ }>>;
3882
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3883
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3884
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3885
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3886
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3887
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3888
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3889
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3890
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3891
+ }, "strip", z.ZodTypeAny, {
3892
+ name?: string | undefined;
3893
+ }, {
3894
+ name?: string | undefined;
3895
+ }>>>;
3896
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3897
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3898
+ _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>]>>;
3899
+ }, z.ZodTypeAny, "passthrough"> | {
3900
+ documents: (z.objectInputType<{
3901
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
3902
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3903
+ value: z.ZodOptional<z.ZodNumber>;
3904
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3905
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3906
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3907
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3908
+ 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>;
3909
+ 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>>;
3910
+ }, "strip", z.ZodTypeAny, {
3911
+ start: Date;
3912
+ end?: Date | undefined;
3913
+ }, {
3914
+ start: string | Date;
3915
+ end?: string | Date | undefined;
3916
+ }>, {
3917
+ start: Date;
3918
+ end?: Date | undefined;
3919
+ }, {
3920
+ start: string | Date;
3921
+ end?: string | Date | undefined;
3922
+ }>>;
3923
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3924
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3925
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3926
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3927
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3928
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3929
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3930
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3931
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3932
+ }, "strip", z.ZodTypeAny, {
3933
+ name?: string | undefined;
3934
+ }, {
3935
+ name?: string | undefined;
3936
+ }>>>;
3937
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3938
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3939
+ _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>]>>;
3940
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3941
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
3942
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
3943
+ 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>]>>;
3944
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3945
+ _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>]>>;
3946
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3947
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
3948
+ 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>]>>;
3949
+ 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>]>>;
3950
+ 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>]>>;
3951
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3952
+ value: z.ZodOptional<z.ZodNumber>;
3953
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3954
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3955
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3956
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
3957
+ 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>;
3958
+ 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>>;
3959
+ }, "strip", z.ZodTypeAny, {
3960
+ start: Date;
3961
+ end?: Date | undefined;
3962
+ }, {
3963
+ start: string | Date;
3964
+ end?: string | Date | undefined;
3965
+ }>, {
3966
+ start: Date;
3967
+ end?: Date | undefined;
3968
+ }, {
3969
+ start: string | Date;
3970
+ end?: string | Date | undefined;
3971
+ }>>;
3972
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3973
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3974
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
3975
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3976
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
3977
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
3978
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
3979
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
3980
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3981
+ }, "strip", z.ZodTypeAny, {
3982
+ name?: string | undefined;
3983
+ }, {
3984
+ name?: string | undefined;
3985
+ }>>>;
3986
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3987
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3988
+ _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>]>>;
3989
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
3990
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
3991
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
3992
+ 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">>>;
3993
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3994
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
3995
+ value: z.ZodOptional<z.ZodNumber>;
3996
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3997
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
3998
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3999
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4000
+ 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>;
4001
+ 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>>;
4002
+ }, "strip", z.ZodTypeAny, {
4003
+ start: Date;
4004
+ end?: Date | undefined;
4005
+ }, {
4006
+ start: string | Date;
4007
+ end?: string | Date | undefined;
4008
+ }>, {
4009
+ start: Date;
4010
+ end?: Date | undefined;
4011
+ }, {
4012
+ start: string | Date;
4013
+ end?: string | Date | undefined;
4014
+ }>>;
4015
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4016
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4017
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4018
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4019
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4020
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4021
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4022
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4023
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4024
+ }, "strip", z.ZodTypeAny, {
4025
+ name?: string | undefined;
4026
+ }, {
4027
+ name?: string | undefined;
4028
+ }>>>;
4029
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4030
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4031
+ _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>]>>;
4032
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4033
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
4034
+ 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">>;
4035
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
4036
+ 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">>>;
4037
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4038
+ value: z.ZodOptional<z.ZodNumber>;
4039
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4040
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4041
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4042
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4043
+ 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>;
4044
+ 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>>;
4045
+ }, "strip", z.ZodTypeAny, {
4046
+ start: Date;
4047
+ end?: Date | undefined;
4048
+ }, {
4049
+ start: string | Date;
4050
+ end?: string | Date | undefined;
4051
+ }>, {
4052
+ start: Date;
4053
+ end?: Date | undefined;
4054
+ }, {
4055
+ start: string | Date;
4056
+ end?: string | Date | undefined;
4057
+ }>>;
4058
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4059
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4060
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4061
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4062
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4063
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4064
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4065
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4066
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4067
+ }, "strip", z.ZodTypeAny, {
4068
+ name?: string | undefined;
4069
+ }, {
4070
+ name?: string | undefined;
4071
+ }>>>;
4072
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4073
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4074
+ _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>]>>;
4075
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
4076
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
4077
+ 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>]>>;
4078
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
4079
+ 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">>>;
4080
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
4081
+ value: z.ZodOptional<z.ZodNumber>;
4082
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4083
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4084
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4085
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4086
+ 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>;
4087
+ 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>>;
4088
+ }, "strip", z.ZodTypeAny, {
4089
+ start: Date;
4090
+ end?: Date | undefined;
4091
+ }, {
4092
+ start: string | Date;
4093
+ end?: string | Date | undefined;
4094
+ }>, {
4095
+ start: Date;
4096
+ end?: Date | undefined;
4097
+ }, {
4098
+ start: string | Date;
4099
+ end?: string | Date | undefined;
4100
+ }>>;
4101
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4102
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4103
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
4104
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4105
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
4106
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
4107
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
4108
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
4109
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4110
+ }, "strip", z.ZodTypeAny, {
4111
+ name?: string | undefined;
4112
+ }, {
4113
+ name?: string | undefined;
4114
+ }>>>;
4115
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4116
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
4117
+ _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>]>>;
4118
+ }, z.ZodTypeAny, "passthrough">)[];
4119
+ metadata?: {
4120
+ page: number;
4121
+ size: number;
4122
+ totalElements: number;
4123
+ totalPages: number;
4124
+ } | undefined;
4125
+ } | undefined;
4126
+ }>;
4127
+ export type AllCouponsDTO = z.infer<typeof AllCouponsSchema>;
4128
+ export type AllCouponsValidationDTO = z.infer<typeof AllCouponsValidationSchema>;
4129
+ export type AllCouponsUpdateDTO = z.infer<typeof AllCouponsUpdateSchema>;
4130
+ //# sourceMappingURL=all-coupons.validation.d.ts.map