@lyxa.ai/marketing 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/dist/lib/events/event-initializations.d.ts +2 -0
  2. package/dist/lib/events/event-initializations.d.ts.map +1 -0
  3. package/dist/lib/events/event-initializations.js +5 -0
  4. package/dist/lib/events/event-initializations.js.map +1 -0
  5. package/dist/lib/index.d.ts +4436 -0
  6. package/dist/lib/index.d.ts.map +1 -0
  7. package/dist/lib/index.js.map +1 -0
  8. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +3063 -0
  9. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -0
  10. package/dist/lib/modules/coupon/routers/coupon.router.js +106 -0
  11. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -0
  12. package/dist/lib/modules/coupon/routers/index.d.ts +2 -0
  13. package/dist/lib/modules/coupon/routers/index.d.ts.map +1 -0
  14. package/dist/lib/modules/coupon/routers/index.js +18 -0
  15. package/dist/lib/modules/coupon/routers/index.js.map +1 -0
  16. package/dist/lib/modules/coupon/services/coupon.service.d.ts +42 -0
  17. package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -0
  18. package/dist/lib/modules/coupon/services/coupon.service.js +686 -0
  19. package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -0
  20. package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts +12 -0
  21. package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts.map +1 -0
  22. package/dist/lib/modules/coupon/services/custom-coupon.service.js +103 -0
  23. package/dist/lib/modules/coupon/services/custom-coupon.service.js.map +1 -0
  24. package/dist/lib/modules/coupon/services/global-coupon.service.d.ts +12 -0
  25. package/dist/lib/modules/coupon/services/global-coupon.service.d.ts.map +1 -0
  26. package/dist/lib/modules/coupon/services/global-coupon.service.js +120 -0
  27. package/dist/lib/modules/coupon/services/global-coupon.service.js.map +1 -0
  28. package/dist/lib/modules/coupon/services/index.d.ts +8 -0
  29. package/dist/lib/modules/coupon/services/index.d.ts.map +1 -0
  30. package/dist/lib/modules/coupon/services/index.js +24 -0
  31. package/dist/lib/modules/coupon/services/index.js.map +1 -0
  32. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts +13 -0
  33. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -0
  34. package/dist/lib/modules/coupon/services/individual-store-coupon.service.js +120 -0
  35. package/dist/lib/modules/coupon/services/individual-store-coupon.service.js.map +1 -0
  36. package/dist/lib/modules/coupon/services/individual-user-coupon.service.d.ts +12 -0
  37. package/dist/lib/modules/coupon/services/individual-user-coupon.service.d.ts.map +1 -0
  38. package/dist/lib/modules/coupon/services/individual-user-coupon.service.js +111 -0
  39. package/dist/lib/modules/coupon/services/individual-user-coupon.service.js.map +1 -0
  40. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts +12 -0
  41. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -0
  42. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +313 -0
  43. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -0
  44. package/dist/lib/modules/coupon/services/referral-code-coupon.service.d.ts +19 -0
  45. package/dist/lib/modules/coupon/services/referral-code-coupon.service.d.ts.map +1 -0
  46. package/dist/lib/modules/coupon/services/referral-code-coupon.service.js +179 -0
  47. package/dist/lib/modules/coupon/services/referral-code-coupon.service.js.map +1 -0
  48. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts +19 -0
  49. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -0
  50. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js +186 -0
  51. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js.map +1 -0
  52. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts +233 -0
  53. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -0
  54. package/dist/lib/modules/coupon/transformers/coupon.transformer.js +7 -0
  55. package/dist/lib/modules/coupon/transformers/coupon.transformer.js.map +1 -0
  56. package/dist/lib/modules/coupon/transformers/index.d.ts +2 -0
  57. package/dist/lib/modules/coupon/transformers/index.d.ts.map +1 -0
  58. package/dist/lib/modules/coupon/transformers/index.js +18 -0
  59. package/dist/lib/modules/coupon/transformers/index.js.map +1 -0
  60. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +4382 -0
  61. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -0
  62. package/dist/lib/modules/coupon/validations/all-coupons.validation.js +28 -0
  63. package/dist/lib/modules/coupon/validations/all-coupons.validation.js.map +1 -0
  64. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +1297 -0
  65. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -0
  66. package/dist/lib/modules/coupon/validations/coupon.validation.js +107 -0
  67. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -0
  68. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts +385 -0
  69. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts.map +1 -0
  70. package/dist/lib/modules/coupon/validations/custom-coupon.validation.js +21 -0
  71. package/dist/lib/modules/coupon/validations/custom-coupon.validation.js.map +1 -0
  72. package/dist/lib/modules/coupon/validations/global-coupon.validation.d.ts +358 -0
  73. package/dist/lib/modules/coupon/validations/global-coupon.validation.d.ts.map +1 -0
  74. package/dist/lib/modules/coupon/validations/global-coupon.validation.js +18 -0
  75. package/dist/lib/modules/coupon/validations/global-coupon.validation.js.map +1 -0
  76. package/dist/lib/modules/coupon/validations/index.d.ts +9 -0
  77. package/dist/lib/modules/coupon/validations/index.d.ts.map +1 -0
  78. package/dist/lib/modules/coupon/validations/index.js +25 -0
  79. package/dist/lib/modules/coupon/validations/index.js.map +1 -0
  80. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts +385 -0
  81. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -0
  82. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.js +21 -0
  83. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.js.map +1 -0
  84. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts +385 -0
  85. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts.map +1 -0
  86. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.js +21 -0
  87. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.js.map +1 -0
  88. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.d.ts +95 -0
  89. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.d.ts.map +1 -0
  90. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.js +24 -0
  91. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.js.map +1 -0
  92. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts +385 -0
  93. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts.map +1 -0
  94. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.js +21 -0
  95. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.js.map +1 -0
  96. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts +214 -0
  97. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -0
  98. package/dist/lib/modules/deal-setting/routers/deal-setting.router.js +52 -0
  99. package/dist/lib/modules/deal-setting/routers/deal-setting.router.js.map +1 -0
  100. package/dist/lib/modules/deal-setting/routers/index.d.ts +2 -0
  101. package/dist/lib/modules/deal-setting/routers/index.d.ts.map +1 -0
  102. package/dist/lib/modules/deal-setting/routers/index.js +18 -0
  103. package/dist/lib/modules/deal-setting/routers/index.js.map +1 -0
  104. package/dist/lib/modules/deal-setting/services/deal-setting.service.d.ts +17 -0
  105. package/dist/lib/modules/deal-setting/services/deal-setting.service.d.ts.map +1 -0
  106. package/dist/lib/modules/deal-setting/services/deal-setting.service.js +181 -0
  107. package/dist/lib/modules/deal-setting/services/deal-setting.service.js.map +1 -0
  108. package/dist/lib/modules/deal-setting/services/index.d.ts +2 -0
  109. package/dist/lib/modules/deal-setting/services/index.d.ts.map +1 -0
  110. package/dist/lib/modules/deal-setting/services/index.js +18 -0
  111. package/dist/lib/modules/deal-setting/services/index.js.map +1 -0
  112. package/dist/lib/modules/deal-setting/transformers/deal-setting.transformer.d.ts +11 -0
  113. package/dist/lib/modules/deal-setting/transformers/deal-setting.transformer.d.ts.map +1 -0
  114. package/dist/lib/modules/deal-setting/transformers/deal-setting.transformer.js +7 -0
  115. package/dist/lib/modules/deal-setting/transformers/deal-setting.transformer.js.map +1 -0
  116. package/dist/lib/modules/deal-setting/transformers/index.d.ts +2 -0
  117. package/dist/lib/modules/deal-setting/transformers/index.d.ts.map +1 -0
  118. package/dist/lib/modules/deal-setting/transformers/index.js +18 -0
  119. package/dist/lib/modules/deal-setting/transformers/index.js.map +1 -0
  120. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.d.ts +227 -0
  121. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.d.ts.map +1 -0
  122. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.js +22 -0
  123. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.js.map +1 -0
  124. package/dist/lib/modules/deal-setting/validations/index.d.ts +2 -0
  125. package/dist/lib/modules/deal-setting/validations/index.d.ts.map +1 -0
  126. package/dist/lib/modules/deal-setting/validations/index.js +18 -0
  127. package/dist/lib/modules/deal-setting/validations/index.js.map +1 -0
  128. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts +302 -0
  129. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -0
  130. package/dist/lib/modules/featured-setting/routers/featured-setting.router.js +52 -0
  131. package/dist/lib/modules/featured-setting/routers/featured-setting.router.js.map +1 -0
  132. package/dist/lib/modules/featured-setting/routers/index.d.ts +2 -0
  133. package/dist/lib/modules/featured-setting/routers/index.d.ts.map +1 -0
  134. package/dist/lib/modules/featured-setting/routers/index.js +18 -0
  135. package/dist/lib/modules/featured-setting/routers/index.js.map +1 -0
  136. package/dist/lib/modules/featured-setting/services/featured-setting.service.d.ts +17 -0
  137. package/dist/lib/modules/featured-setting/services/featured-setting.service.d.ts.map +1 -0
  138. package/dist/lib/modules/featured-setting/services/featured-setting.service.js +181 -0
  139. package/dist/lib/modules/featured-setting/services/featured-setting.service.js.map +1 -0
  140. package/dist/lib/modules/featured-setting/services/index.d.ts +2 -0
  141. package/dist/lib/modules/featured-setting/services/index.d.ts.map +1 -0
  142. package/dist/lib/modules/featured-setting/services/index.js +18 -0
  143. package/dist/lib/modules/featured-setting/services/index.js.map +1 -0
  144. package/dist/lib/modules/featured-setting/transformers/featured-setting.transformer.d.ts +19 -0
  145. package/dist/lib/modules/featured-setting/transformers/featured-setting.transformer.d.ts.map +1 -0
  146. package/dist/lib/modules/featured-setting/transformers/featured-setting.transformer.js +7 -0
  147. package/dist/lib/modules/featured-setting/transformers/featured-setting.transformer.js.map +1 -0
  148. package/dist/lib/modules/featured-setting/transformers/index.d.ts +2 -0
  149. package/dist/lib/modules/featured-setting/transformers/index.d.ts.map +1 -0
  150. package/dist/lib/modules/featured-setting/transformers/index.js +18 -0
  151. package/dist/lib/modules/featured-setting/transformers/index.js.map +1 -0
  152. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.d.ts +363 -0
  153. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.d.ts.map +1 -0
  154. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.js +24 -0
  155. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.js.map +1 -0
  156. package/dist/lib/modules/featured-setting/validations/index.d.ts +2 -0
  157. package/dist/lib/modules/featured-setting/validations/index.d.ts.map +1 -0
  158. package/dist/lib/modules/featured-setting/validations/index.js +18 -0
  159. package/dist/lib/modules/featured-setting/validations/index.js.map +1 -0
  160. package/dist/lib/modules/loyalty-point-setting/routers/index.d.ts +2 -0
  161. package/dist/lib/modules/loyalty-point-setting/routers/index.d.ts.map +1 -0
  162. package/dist/lib/modules/loyalty-point-setting/routers/index.js +18 -0
  163. package/dist/lib/modules/loyalty-point-setting/routers/index.js.map +1 -0
  164. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts +321 -0
  165. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts.map +1 -0
  166. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.js +82 -0
  167. package/dist/lib/modules/loyalty-point-setting/routers/loyalty-point-setting.router.js.map +1 -0
  168. package/dist/lib/modules/loyalty-point-setting/services/index.d.ts +3 -0
  169. package/dist/lib/modules/loyalty-point-setting/services/index.d.ts.map +1 -0
  170. package/dist/lib/modules/loyalty-point-setting/services/index.js +19 -0
  171. package/dist/lib/modules/loyalty-point-setting/services/index.js.map +1 -0
  172. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts +16 -0
  173. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts.map +1 -0
  174. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.js +133 -0
  175. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-category.service.js.map +1 -0
  176. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts +16 -0
  177. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts.map +1 -0
  178. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.js +156 -0
  179. package/dist/lib/modules/loyalty-point-setting/services/loyalty-point-setting.service.js.map +1 -0
  180. package/dist/lib/modules/loyalty-point-setting/transformers/index.d.ts +3 -0
  181. package/dist/lib/modules/loyalty-point-setting/transformers/index.d.ts.map +1 -0
  182. package/dist/lib/modules/loyalty-point-setting/transformers/index.js +19 -0
  183. package/dist/lib/modules/loyalty-point-setting/transformers/index.js.map +1 -0
  184. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts +8 -0
  185. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts.map +1 -0
  186. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.js +7 -0
  187. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.js.map +1 -0
  188. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts +9 -0
  189. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts.map +1 -0
  190. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.js +7 -0
  191. package/dist/lib/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.js.map +1 -0
  192. package/dist/lib/modules/loyalty-point-setting/validations/index.d.ts +3 -0
  193. package/dist/lib/modules/loyalty-point-setting/validations/index.d.ts.map +1 -0
  194. package/dist/lib/modules/loyalty-point-setting/validations/index.js +19 -0
  195. package/dist/lib/modules/loyalty-point-setting/validations/index.js.map +1 -0
  196. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts +170 -0
  197. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts.map +1 -0
  198. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.js +19 -0
  199. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-category.validation.js.map +1 -0
  200. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts +188 -0
  201. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts.map +1 -0
  202. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.js +19 -0
  203. package/dist/lib/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.js.map +1 -0
  204. package/dist/lib/modules/marketing/routers/index.d.ts +2 -0
  205. package/dist/lib/modules/marketing/routers/index.d.ts.map +1 -0
  206. package/dist/lib/modules/marketing/routers/index.js +18 -0
  207. package/dist/lib/modules/marketing/routers/index.js.map +1 -0
  208. package/dist/lib/modules/marketing/routers/marketing.router.d.ts +78 -0
  209. package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -0
  210. package/dist/lib/modules/marketing/routers/marketing.router.js +53 -0
  211. package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -0
  212. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts +13 -0
  213. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -0
  214. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js +165 -0
  215. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js.map +1 -0
  216. package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts +14 -0
  217. package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts.map +1 -0
  218. package/dist/lib/modules/marketing/services/discount-marketing.service.js +227 -0
  219. package/dist/lib/modules/marketing/services/discount-marketing.service.js.map +1 -0
  220. package/dist/lib/modules/marketing/services/featured-marketing.service.d.ts +11 -0
  221. package/dist/lib/modules/marketing/services/featured-marketing.service.d.ts.map +1 -0
  222. package/dist/lib/modules/marketing/services/featured-marketing.service.js +80 -0
  223. package/dist/lib/modules/marketing/services/featured-marketing.service.js.map +1 -0
  224. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.d.ts +12 -0
  225. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.d.ts.map +1 -0
  226. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.js +95 -0
  227. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.js.map +1 -0
  228. package/dist/lib/modules/marketing/services/index.d.ts +8 -0
  229. package/dist/lib/modules/marketing/services/index.d.ts.map +1 -0
  230. package/dist/lib/modules/marketing/services/index.js +24 -0
  231. package/dist/lib/modules/marketing/services/index.js.map +1 -0
  232. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.d.ts +12 -0
  233. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.d.ts.map +1 -0
  234. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.js +149 -0
  235. package/dist/lib/modules/marketing/services/loyalty-point-marketing.service.js.map +1 -0
  236. package/dist/lib/modules/marketing/services/marketing.service.d.ts +17 -0
  237. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -0
  238. package/dist/lib/modules/marketing/services/marketing.service.js +275 -0
  239. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -0
  240. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts +18 -0
  241. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts.map +1 -0
  242. package/dist/lib/modules/marketing/services/product-marketing.service.js +151 -0
  243. package/dist/lib/modules/marketing/services/product-marketing.service.js.map +1 -0
  244. package/dist/lib/modules/marketing/services/punch-marketing.service.d.ts +11 -0
  245. package/dist/lib/modules/marketing/services/punch-marketing.service.d.ts.map +1 -0
  246. package/dist/lib/modules/marketing/services/punch-marketing.service.js +80 -0
  247. package/dist/lib/modules/marketing/services/punch-marketing.service.js.map +1 -0
  248. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +43 -0
  249. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts.map +1 -0
  250. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.js +7 -0
  251. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.js.map +1 -0
  252. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.d.ts +48 -0
  253. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.d.ts.map +1 -0
  254. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.js +7 -0
  255. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.js.map +1 -0
  256. package/dist/lib/modules/marketing/transformers/featured-marketing.transformer.d.ts +21 -0
  257. package/dist/lib/modules/marketing/transformers/featured-marketing.transformer.d.ts.map +1 -0
  258. package/dist/lib/modules/marketing/transformers/featured-marketing.transformer.js +7 -0
  259. package/dist/lib/modules/marketing/transformers/featured-marketing.transformer.js.map +1 -0
  260. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.d.ts +21 -0
  261. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.d.ts.map +1 -0
  262. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.js +7 -0
  263. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.js.map +1 -0
  264. package/dist/lib/modules/marketing/transformers/index.d.ts +8 -0
  265. package/dist/lib/modules/marketing/transformers/index.d.ts.map +1 -0
  266. package/dist/lib/modules/marketing/transformers/index.js +24 -0
  267. package/dist/lib/modules/marketing/transformers/index.js.map +1 -0
  268. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts +47 -0
  269. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts.map +1 -0
  270. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.js +7 -0
  271. package/dist/lib/modules/marketing/transformers/loyalty-point-marketing.transformer.js.map +1 -0
  272. package/dist/lib/modules/marketing/transformers/marketing.transformer.d.ts +3 -0
  273. package/dist/lib/modules/marketing/transformers/marketing.transformer.d.ts.map +1 -0
  274. package/dist/lib/modules/marketing/transformers/marketing.transformer.js +7 -0
  275. package/dist/lib/modules/marketing/transformers/marketing.transformer.js.map +1 -0
  276. package/dist/lib/modules/marketing/transformers/product-marketing.transformer.d.ts +10 -0
  277. package/dist/lib/modules/marketing/transformers/product-marketing.transformer.d.ts.map +1 -0
  278. package/dist/lib/modules/marketing/transformers/product-marketing.transformer.js +7 -0
  279. package/dist/lib/modules/marketing/transformers/product-marketing.transformer.js.map +1 -0
  280. package/dist/lib/modules/marketing/transformers/punch-marketing.transformer.d.ts +26 -0
  281. package/dist/lib/modules/marketing/transformers/punch-marketing.transformer.d.ts.map +1 -0
  282. package/dist/lib/modules/marketing/transformers/punch-marketing.transformer.js +7 -0
  283. package/dist/lib/modules/marketing/transformers/punch-marketing.transformer.js.map +1 -0
  284. package/dist/lib/modules/marketing/validations/all-marketings.validation.d.ts +54 -0
  285. package/dist/lib/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -0
  286. package/dist/lib/modules/marketing/validations/all-marketings.validation.js +29 -0
  287. package/dist/lib/modules/marketing/validations/all-marketings.validation.js.map +1 -0
  288. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +460 -0
  289. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts.map +1 -0
  290. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.js +40 -0
  291. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.js.map +1 -0
  292. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +530 -0
  293. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts.map +1 -0
  294. package/dist/lib/modules/marketing/validations/discount-marketing.validation.js +61 -0
  295. package/dist/lib/modules/marketing/validations/discount-marketing.validation.js.map +1 -0
  296. package/dist/lib/modules/marketing/validations/featured-marketing.validation.d.ts +224 -0
  297. package/dist/lib/modules/marketing/validations/featured-marketing.validation.d.ts.map +1 -0
  298. package/dist/lib/modules/marketing/validations/featured-marketing.validation.js +42 -0
  299. package/dist/lib/modules/marketing/validations/featured-marketing.validation.js.map +1 -0
  300. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.d.ts +162 -0
  301. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.d.ts.map +1 -0
  302. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.js +19 -0
  303. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.js.map +1 -0
  304. package/dist/lib/modules/marketing/validations/index.d.ts +9 -0
  305. package/dist/lib/modules/marketing/validations/index.d.ts.map +1 -0
  306. package/dist/lib/modules/marketing/validations/index.js +25 -0
  307. package/dist/lib/modules/marketing/validations/index.js.map +1 -0
  308. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.d.ts +504 -0
  309. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.d.ts.map +1 -0
  310. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.js +34 -0
  311. package/dist/lib/modules/marketing/validations/loyalty-point-marketing.validation.js.map +1 -0
  312. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +170 -0
  313. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -0
  314. package/dist/lib/modules/marketing/validations/marketing.validation.js +21 -0
  315. package/dist/lib/modules/marketing/validations/marketing.validation.js.map +1 -0
  316. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +150 -0
  317. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts.map +1 -0
  318. package/dist/lib/modules/marketing/validations/product-marketing.validation.js +36 -0
  319. package/dist/lib/modules/marketing/validations/product-marketing.validation.js.map +1 -0
  320. package/dist/lib/modules/marketing/validations/punch-marketing.validation.d.ts +207 -0
  321. package/dist/lib/modules/marketing/validations/punch-marketing.validation.d.ts.map +1 -0
  322. package/dist/lib/modules/marketing/validations/punch-marketing.validation.js +24 -0
  323. package/dist/lib/modules/marketing/validations/punch-marketing.validation.js.map +1 -0
  324. package/dist/lib/modules/punch-marketing-history/routers/index.d.ts +2 -0
  325. package/dist/lib/modules/punch-marketing-history/routers/index.d.ts.map +1 -0
  326. package/dist/lib/modules/punch-marketing-history/routers/index.js +18 -0
  327. package/dist/lib/modules/punch-marketing-history/routers/index.js.map +1 -0
  328. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +414 -0
  329. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -0
  330. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.js +69 -0
  331. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.js.map +1 -0
  332. package/dist/lib/modules/punch-marketing-history/services/index.d.ts +2 -0
  333. package/dist/lib/modules/punch-marketing-history/services/index.d.ts.map +1 -0
  334. package/dist/lib/modules/punch-marketing-history/services/index.js +18 -0
  335. package/dist/lib/modules/punch-marketing-history/services/index.js.map +1 -0
  336. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.d.ts +24 -0
  337. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.d.ts.map +1 -0
  338. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js +306 -0
  339. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js.map +1 -0
  340. package/dist/lib/modules/punch-marketing-history/transformers/index.d.ts +2 -0
  341. package/dist/lib/modules/punch-marketing-history/transformers/index.d.ts.map +1 -0
  342. package/dist/lib/modules/punch-marketing-history/transformers/index.js +18 -0
  343. package/dist/lib/modules/punch-marketing-history/transformers/index.js.map +1 -0
  344. package/dist/lib/modules/punch-marketing-history/transformers/punch-marketing-history.transformer.d.ts +19 -0
  345. package/dist/lib/modules/punch-marketing-history/transformers/punch-marketing-history.transformer.d.ts.map +1 -0
  346. package/dist/lib/modules/punch-marketing-history/transformers/punch-marketing-history.transformer.js +7 -0
  347. package/dist/lib/modules/punch-marketing-history/transformers/punch-marketing-history.transformer.js.map +1 -0
  348. package/dist/lib/modules/punch-marketing-history/validations/index.d.ts +2 -0
  349. package/dist/lib/modules/punch-marketing-history/validations/index.d.ts.map +1 -0
  350. package/dist/lib/modules/punch-marketing-history/validations/index.js +18 -0
  351. package/dist/lib/modules/punch-marketing-history/validations/index.js.map +1 -0
  352. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +400 -0
  353. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts.map +1 -0
  354. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.js +39 -0
  355. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.js.map +1 -0
  356. package/dist/lib/modules/referral-setting/routers/index.d.ts +2 -0
  357. package/dist/lib/modules/referral-setting/routers/index.d.ts.map +1 -0
  358. package/dist/lib/modules/referral-setting/routers/index.js +18 -0
  359. package/dist/lib/modules/referral-setting/routers/index.js.map +1 -0
  360. package/dist/lib/modules/referral-setting/routers/referral-setting.router.d.ts +354 -0
  361. package/dist/lib/modules/referral-setting/routers/referral-setting.router.d.ts.map +1 -0
  362. package/dist/lib/modules/referral-setting/routers/referral-setting.router.js +42 -0
  363. package/dist/lib/modules/referral-setting/routers/referral-setting.router.js.map +1 -0
  364. package/dist/lib/modules/referral-setting/services/index.d.ts +2 -0
  365. package/dist/lib/modules/referral-setting/services/index.d.ts.map +1 -0
  366. package/dist/lib/modules/referral-setting/services/index.js +18 -0
  367. package/dist/lib/modules/referral-setting/services/index.js.map +1 -0
  368. package/dist/lib/modules/referral-setting/services/referral-setting.service.d.ts +15 -0
  369. package/dist/lib/modules/referral-setting/services/referral-setting.service.d.ts.map +1 -0
  370. package/dist/lib/modules/referral-setting/services/referral-setting.service.js +154 -0
  371. package/dist/lib/modules/referral-setting/services/referral-setting.service.js.map +1 -0
  372. package/dist/lib/modules/referral-setting/transformers/index.d.ts +2 -0
  373. package/dist/lib/modules/referral-setting/transformers/index.d.ts.map +1 -0
  374. package/dist/lib/modules/referral-setting/transformers/index.js +18 -0
  375. package/dist/lib/modules/referral-setting/transformers/index.js.map +1 -0
  376. package/dist/lib/modules/referral-setting/transformers/referral-setting.transformer.d.ts +31 -0
  377. package/dist/lib/modules/referral-setting/transformers/referral-setting.transformer.d.ts.map +1 -0
  378. package/dist/lib/modules/referral-setting/transformers/referral-setting.transformer.js +7 -0
  379. package/dist/lib/modules/referral-setting/transformers/referral-setting.transformer.js.map +1 -0
  380. package/dist/lib/modules/referral-setting/validations/index.d.ts +2 -0
  381. package/dist/lib/modules/referral-setting/validations/index.d.ts.map +1 -0
  382. package/dist/lib/modules/referral-setting/validations/index.js +18 -0
  383. package/dist/lib/modules/referral-setting/validations/index.js.map +1 -0
  384. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.d.ts +575 -0
  385. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.d.ts.map +1 -0
  386. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.js +24 -0
  387. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.js.map +1 -0
  388. package/dist/types/index.d.ts +402 -12
  389. package/dist/types/index.d.ts.map +1 -1
  390. package/dist/types/modules/coupon/routers/coupon.router.d.ts +402 -12
  391. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  392. package/dist/types/modules/coupon/services/coupon.service.d.ts +3 -3
  393. package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
  394. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts +1 -0
  395. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  396. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts +13 -1
  397. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
  398. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +273 -21
  399. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  400. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +52 -0
  401. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  402. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts +18 -0
  403. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts.map +1 -1
  404. package/dist/types/modules/coupon/validations/global-coupon.validation.d.ts +18 -0
  405. package/dist/types/modules/coupon/validations/global-coupon.validation.d.ts.map +1 -1
  406. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts +27 -9
  407. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -1
  408. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts +18 -0
  409. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts.map +1 -1
  410. package/dist/types/modules/coupon/validations/referral-code-coupon.validation.d.ts +18 -0
  411. package/dist/types/modules/coupon/validations/referral-code-coupon.validation.d.ts.map +1 -1
  412. package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts +18 -0
  413. package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts.map +1 -1
  414. package/dist/types/modules/loyalty-point-setting/routers/index.d.ts +2 -0
  415. package/dist/types/modules/loyalty-point-setting/routers/index.d.ts.map +1 -0
  416. package/dist/types/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts +321 -0
  417. package/dist/types/modules/loyalty-point-setting/routers/loyalty-point-setting.router.d.ts.map +1 -0
  418. package/dist/types/modules/loyalty-point-setting/services/index.d.ts +3 -0
  419. package/dist/types/modules/loyalty-point-setting/services/index.d.ts.map +1 -0
  420. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts +37 -0
  421. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-category.service.d.ts.map +1 -0
  422. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts +34 -0
  423. package/dist/types/modules/loyalty-point-setting/services/loyalty-point-setting.service.d.ts.map +1 -0
  424. package/dist/types/modules/loyalty-point-setting/transformers/index.d.ts +3 -0
  425. package/dist/types/modules/loyalty-point-setting/transformers/index.d.ts.map +1 -0
  426. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts +8 -0
  427. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-category.transformer.d.ts.map +1 -0
  428. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts +9 -0
  429. package/dist/types/modules/loyalty-point-setting/transformers/loyalty-point-setting.transformer.d.ts.map +1 -0
  430. package/dist/types/modules/loyalty-point-setting/validations/index.d.ts +3 -0
  431. package/dist/types/modules/loyalty-point-setting/validations/index.d.ts.map +1 -0
  432. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts +179 -0
  433. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-category.validation.d.ts.map +1 -0
  434. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts +197 -0
  435. package/dist/types/modules/loyalty-point-setting/validations/loyalty-point-setting.validation.d.ts.map +1 -0
  436. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  437. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts +1 -0
  438. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
  439. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts +2 -0
  440. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
  441. package/dist/types/modules/marketing/services/loyalty-point-marketing.service.d.ts +21 -0
  442. package/dist/types/modules/marketing/services/loyalty-point-marketing.service.d.ts.map +1 -0
  443. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  444. package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  445. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +1 -0
  446. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts.map +1 -1
  447. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts +3 -0
  448. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts.map +1 -1
  449. package/dist/types/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts +47 -0
  450. package/dist/types/modules/marketing/transformers/loyalty-point-marketing.transformer.d.ts.map +1 -0
  451. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +45 -31
  452. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts.map +1 -1
  453. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +42 -0
  454. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts.map +1 -1
  455. package/dist/types/modules/marketing/validations/loyalty-point-marketing.validation.d.ts +513 -0
  456. package/dist/types/modules/marketing/validations/loyalty-point-marketing.validation.d.ts.map +1 -0
  457. package/package.json +4 -5
@@ -0,0 +1,3063 @@
1
+ import { mongoose } from '@typegoose/typegoose';
2
+ import { z } from 'zod';
3
+ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
4
+ ctx: import("@lyxa.ai/core/dist/libraries/trpc/context").LyxaHTTPContext;
5
+ meta: object;
6
+ errorShape: {
7
+ message: string;
8
+ data: {
9
+ stack: undefined;
10
+ path: undefined;
11
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
12
+ httpStatus: number;
13
+ };
14
+ stack: undefined;
15
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
16
+ };
17
+ transformer: false;
18
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
19
+ create: import("@trpc/server").TRPCMutationProcedure<{
20
+ input: {
21
+ value: number;
22
+ code: string;
23
+ duration: {
24
+ start: string | Date;
25
+ end?: string | Date | undefined;
26
+ };
27
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
28
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
29
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
30
+ spendLimit?: number | null | undefined;
31
+ secondaryCurrencyValue?: number | undefined;
32
+ maxDiscountLimit?: number | null | undefined;
33
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
34
+ totalOrderLimit?: number | null | undefined;
35
+ minOrderValue?: number | null | undefined;
36
+ secondaryCurrencyMinOrderValue?: number | undefined;
37
+ forNewUserOnly?: boolean | undefined;
38
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
39
+ referringUser?: {
40
+ name?: string | undefined;
41
+ } | undefined;
42
+ orderLimitPerUser?: number | null | undefined;
43
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
44
+ isExpired?: boolean | undefined;
45
+ } | {
46
+ code: string;
47
+ orderLimitPerUser: 1;
48
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
49
+ referralUser: string | mongoose.Types.ObjectId;
50
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
51
+ isExpired?: boolean | undefined;
52
+ } | {
53
+ value: number;
54
+ code: string;
55
+ duration: {
56
+ start: string | Date;
57
+ end?: string | Date | undefined;
58
+ };
59
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
60
+ user: string | mongoose.Types.ObjectId;
61
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
62
+ referralCodeUsedBy: string | mongoose.Types.ObjectId;
63
+ referralCodeUsedOnOrder: string | mongoose.Types.ObjectId;
64
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
65
+ spendLimit?: number | null | undefined;
66
+ secondaryCurrencyValue?: number | undefined;
67
+ maxDiscountLimit?: number | null | undefined;
68
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
69
+ totalOrderLimit?: number | null | undefined;
70
+ minOrderValue?: number | null | undefined;
71
+ secondaryCurrencyMinOrderValue?: number | undefined;
72
+ forNewUserOnly?: boolean | undefined;
73
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
74
+ referringUser?: {
75
+ name?: string | undefined;
76
+ } | undefined;
77
+ orderLimitPerUser?: number | null | undefined;
78
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
79
+ isExpired?: boolean | undefined;
80
+ } | {
81
+ value: number;
82
+ code: string;
83
+ duration: {
84
+ start: string | Date;
85
+ end?: string | Date | undefined;
86
+ };
87
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
88
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
89
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
90
+ spendLimit?: number | null | undefined;
91
+ secondaryCurrencyValue?: number | undefined;
92
+ maxDiscountLimit?: number | null | undefined;
93
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
94
+ totalOrderLimit?: number | null | undefined;
95
+ minOrderValue?: number | null | undefined;
96
+ secondaryCurrencyMinOrderValue?: number | undefined;
97
+ forNewUserOnly?: boolean | undefined;
98
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
99
+ referringUser?: {
100
+ name?: string | undefined;
101
+ } | undefined;
102
+ orderLimitPerUser?: number | null | undefined;
103
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
104
+ isExpired?: boolean | undefined;
105
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
106
+ shops?: (string | mongoose.Types.ObjectId)[] | undefined;
107
+ isShopCoverExpenses?: boolean | undefined;
108
+ } | {
109
+ value: number;
110
+ code: string;
111
+ duration: {
112
+ start: string | Date;
113
+ end?: string | Date | undefined;
114
+ };
115
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
116
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
117
+ users: [string | mongoose.Types.ObjectId, ...(string | mongoose.Types.ObjectId)[]];
118
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
119
+ spendLimit?: number | null | undefined;
120
+ secondaryCurrencyValue?: number | undefined;
121
+ maxDiscountLimit?: number | null | undefined;
122
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
123
+ totalOrderLimit?: number | null | undefined;
124
+ minOrderValue?: number | null | undefined;
125
+ secondaryCurrencyMinOrderValue?: number | undefined;
126
+ forNewUserOnly?: boolean | undefined;
127
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
128
+ referringUser?: {
129
+ name?: string | undefined;
130
+ } | undefined;
131
+ orderLimitPerUser?: number | null | undefined;
132
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
133
+ isExpired?: boolean | undefined;
134
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
135
+ shops?: (string | mongoose.Types.ObjectId)[] | undefined;
136
+ } | {
137
+ value: number;
138
+ code: string;
139
+ duration: {
140
+ start: string | Date;
141
+ end?: string | Date | undefined;
142
+ };
143
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
144
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
145
+ influencer: string | mongoose.Types.ObjectId;
146
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
147
+ spendLimit?: number | null | undefined;
148
+ secondaryCurrencyValue?: number | undefined;
149
+ maxDiscountLimit?: number | null | undefined;
150
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
151
+ totalOrderLimit?: number | null | undefined;
152
+ minOrderValue?: number | null | undefined;
153
+ secondaryCurrencyMinOrderValue?: number | undefined;
154
+ forNewUserOnly?: boolean | undefined;
155
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
156
+ referringUser?: {
157
+ name?: string | undefined;
158
+ } | undefined;
159
+ orderLimitPerUser?: number | null | undefined;
160
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
161
+ isExpired?: boolean | undefined;
162
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
163
+ shops?: (string | mongoose.Types.ObjectId)[] | undefined;
164
+ };
165
+ output: {
166
+ message: string;
167
+ success: boolean;
168
+ data?: z.objectInputType<{
169
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
170
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
171
+ value: z.ZodOptional<z.ZodNumber>;
172
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
173
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
174
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
175
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
176
+ 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>;
177
+ 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>>;
178
+ }, "strip", z.ZodTypeAny, {
179
+ start: Date;
180
+ end?: Date | undefined;
181
+ }, {
182
+ start: string | Date;
183
+ end?: string | Date | undefined;
184
+ }>, {
185
+ start: Date;
186
+ end?: Date | undefined;
187
+ }, {
188
+ start: string | Date;
189
+ end?: string | Date | undefined;
190
+ }>>;
191
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
192
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
193
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
194
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
195
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
196
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
197
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
198
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
199
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ name?: string | undefined;
202
+ }, {
203
+ name?: string | undefined;
204
+ }>>>;
205
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
206
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
207
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
208
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
209
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
210
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
211
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
212
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
213
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
214
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
215
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
216
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
217
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
218
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
219
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
220
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
221
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
222
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
223
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
224
+ value: z.ZodOptional<z.ZodNumber>;
225
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
226
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
227
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
228
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
229
+ 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>;
230
+ 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>>;
231
+ }, "strip", z.ZodTypeAny, {
232
+ start: Date;
233
+ end?: Date | undefined;
234
+ }, {
235
+ start: string | Date;
236
+ end?: string | Date | undefined;
237
+ }>, {
238
+ start: Date;
239
+ end?: Date | undefined;
240
+ }, {
241
+ start: string | Date;
242
+ end?: string | Date | undefined;
243
+ }>>;
244
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
245
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
246
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
247
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
248
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
249
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
250
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
251
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
252
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
253
+ }, "strip", z.ZodTypeAny, {
254
+ name?: string | undefined;
255
+ }, {
256
+ name?: string | undefined;
257
+ }>>>;
258
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
259
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
260
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
261
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
262
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
263
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
264
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
265
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
266
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
267
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
268
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
269
+ value: z.ZodOptional<z.ZodNumber>;
270
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
271
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
272
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
273
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
274
+ 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>;
275
+ 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>>;
276
+ }, "strip", z.ZodTypeAny, {
277
+ start: Date;
278
+ end?: Date | undefined;
279
+ }, {
280
+ start: string | Date;
281
+ end?: string | Date | undefined;
282
+ }>, {
283
+ start: Date;
284
+ end?: Date | undefined;
285
+ }, {
286
+ start: string | Date;
287
+ end?: string | Date | undefined;
288
+ }>>;
289
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
290
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
291
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
292
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
293
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
294
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
295
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
296
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
297
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
298
+ }, "strip", z.ZodTypeAny, {
299
+ name?: string | undefined;
300
+ }, {
301
+ name?: string | undefined;
302
+ }>>>;
303
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
304
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
305
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
306
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
307
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
308
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
309
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
310
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
311
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
312
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
313
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
314
+ value: z.ZodOptional<z.ZodNumber>;
315
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
316
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
317
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
318
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
319
+ 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>;
320
+ 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>>;
321
+ }, "strip", z.ZodTypeAny, {
322
+ start: Date;
323
+ end?: Date | undefined;
324
+ }, {
325
+ start: string | Date;
326
+ end?: string | Date | undefined;
327
+ }>, {
328
+ start: Date;
329
+ end?: Date | undefined;
330
+ }, {
331
+ start: string | Date;
332
+ end?: string | Date | undefined;
333
+ }>>;
334
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
335
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
336
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
337
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
338
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
339
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
340
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
341
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
342
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
343
+ }, "strip", z.ZodTypeAny, {
344
+ name?: string | undefined;
345
+ }, {
346
+ name?: string | undefined;
347
+ }>>>;
348
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
349
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
350
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
351
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
352
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
353
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
354
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
355
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
356
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
357
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
358
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
359
+ value: z.ZodOptional<z.ZodNumber>;
360
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
361
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
362
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
363
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
364
+ 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>;
365
+ 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>>;
366
+ }, "strip", z.ZodTypeAny, {
367
+ start: Date;
368
+ end?: Date | undefined;
369
+ }, {
370
+ start: string | Date;
371
+ end?: string | Date | undefined;
372
+ }>, {
373
+ start: Date;
374
+ end?: Date | undefined;
375
+ }, {
376
+ start: string | Date;
377
+ end?: string | Date | undefined;
378
+ }>>;
379
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
380
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
381
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
382
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
383
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
384
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
385
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
386
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
387
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
388
+ }, "strip", z.ZodTypeAny, {
389
+ name?: string | undefined;
390
+ }, {
391
+ name?: string | undefined;
392
+ }>>>;
393
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
394
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
395
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
396
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
397
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
398
+ }, z.ZodTypeAny, "passthrough"> | {
399
+ documents: (z.objectInputType<{
400
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
401
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
402
+ value: z.ZodOptional<z.ZodNumber>;
403
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
404
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
405
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
406
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
407
+ 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>;
408
+ 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>>;
409
+ }, "strip", z.ZodTypeAny, {
410
+ start: Date;
411
+ end?: Date | undefined;
412
+ }, {
413
+ start: string | Date;
414
+ end?: string | Date | undefined;
415
+ }>, {
416
+ start: Date;
417
+ end?: Date | undefined;
418
+ }, {
419
+ start: string | Date;
420
+ end?: string | Date | undefined;
421
+ }>>;
422
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
423
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
424
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
425
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
426
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
427
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
428
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
429
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
430
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
431
+ }, "strip", z.ZodTypeAny, {
432
+ name?: string | undefined;
433
+ }, {
434
+ name?: string | undefined;
435
+ }>>>;
436
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
437
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
438
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
439
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
440
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
441
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
442
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
443
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
444
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
445
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
446
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
447
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
448
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
449
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
450
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
451
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
452
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
453
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
454
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
455
+ value: z.ZodOptional<z.ZodNumber>;
456
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
457
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
458
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
459
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
460
+ 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>;
461
+ 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>>;
462
+ }, "strip", z.ZodTypeAny, {
463
+ start: Date;
464
+ end?: Date | undefined;
465
+ }, {
466
+ start: string | Date;
467
+ end?: string | Date | undefined;
468
+ }>, {
469
+ start: Date;
470
+ end?: Date | undefined;
471
+ }, {
472
+ start: string | Date;
473
+ end?: string | Date | undefined;
474
+ }>>;
475
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
476
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
477
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
478
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
479
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
480
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
481
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
482
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
483
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
484
+ }, "strip", z.ZodTypeAny, {
485
+ name?: string | undefined;
486
+ }, {
487
+ name?: string | undefined;
488
+ }>>>;
489
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
490
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
491
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
492
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
493
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
494
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
495
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
496
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
497
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
498
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
499
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
500
+ value: z.ZodOptional<z.ZodNumber>;
501
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
502
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
503
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
504
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
505
+ 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>;
506
+ 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>>;
507
+ }, "strip", z.ZodTypeAny, {
508
+ start: Date;
509
+ end?: Date | undefined;
510
+ }, {
511
+ start: string | Date;
512
+ end?: string | Date | undefined;
513
+ }>, {
514
+ start: Date;
515
+ end?: Date | undefined;
516
+ }, {
517
+ start: string | Date;
518
+ end?: string | Date | undefined;
519
+ }>>;
520
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
521
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
522
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
523
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
524
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
525
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
526
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
527
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
528
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
529
+ }, "strip", z.ZodTypeAny, {
530
+ name?: string | undefined;
531
+ }, {
532
+ name?: string | undefined;
533
+ }>>>;
534
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
535
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
536
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
537
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
538
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
539
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
540
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
541
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
542
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
543
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
544
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
545
+ value: z.ZodOptional<z.ZodNumber>;
546
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
547
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
548
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
549
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
550
+ 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>;
551
+ 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>>;
552
+ }, "strip", z.ZodTypeAny, {
553
+ start: Date;
554
+ end?: Date | undefined;
555
+ }, {
556
+ start: string | Date;
557
+ end?: string | Date | undefined;
558
+ }>, {
559
+ start: Date;
560
+ end?: Date | undefined;
561
+ }, {
562
+ start: string | Date;
563
+ end?: string | Date | undefined;
564
+ }>>;
565
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
566
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
567
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
568
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
569
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
570
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
571
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
572
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
573
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
574
+ }, "strip", z.ZodTypeAny, {
575
+ name?: string | undefined;
576
+ }, {
577
+ name?: string | undefined;
578
+ }>>>;
579
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
580
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
581
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
582
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
583
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
584
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
585
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
586
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
587
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
588
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
589
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
590
+ value: z.ZodOptional<z.ZodNumber>;
591
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
592
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
593
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
594
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
595
+ 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>;
596
+ 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>>;
597
+ }, "strip", z.ZodTypeAny, {
598
+ start: Date;
599
+ end?: Date | undefined;
600
+ }, {
601
+ start: string | Date;
602
+ end?: string | Date | undefined;
603
+ }>, {
604
+ start: Date;
605
+ end?: Date | undefined;
606
+ }, {
607
+ start: string | Date;
608
+ end?: string | Date | undefined;
609
+ }>>;
610
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
611
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
612
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
613
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
614
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
615
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
616
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
617
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
618
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
619
+ }, "strip", z.ZodTypeAny, {
620
+ name?: string | undefined;
621
+ }, {
622
+ name?: string | undefined;
623
+ }>>>;
624
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
625
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
626
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
627
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
628
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
629
+ }, z.ZodTypeAny, "passthrough">)[];
630
+ metadata?: {
631
+ page: number;
632
+ size: number;
633
+ totalElements: number;
634
+ totalPages: number;
635
+ } | undefined;
636
+ } | undefined;
637
+ };
638
+ meta: object;
639
+ }>;
640
+ getById: import("@trpc/server").TRPCQueryProcedure<{
641
+ input: string | mongoose.Types.ObjectId;
642
+ output: {
643
+ message: string;
644
+ success: boolean;
645
+ data?: z.objectInputType<{
646
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
647
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
648
+ value: z.ZodOptional<z.ZodNumber>;
649
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
650
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
651
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
652
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
653
+ 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>;
654
+ 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>>;
655
+ }, "strip", z.ZodTypeAny, {
656
+ start: Date;
657
+ end?: Date | undefined;
658
+ }, {
659
+ start: string | Date;
660
+ end?: string | Date | undefined;
661
+ }>, {
662
+ start: Date;
663
+ end?: Date | undefined;
664
+ }, {
665
+ start: string | Date;
666
+ end?: string | Date | undefined;
667
+ }>>;
668
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
669
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
670
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
671
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
672
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
673
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
674
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
675
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
676
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
677
+ }, "strip", z.ZodTypeAny, {
678
+ name?: string | undefined;
679
+ }, {
680
+ name?: string | undefined;
681
+ }>>>;
682
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
683
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
684
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
685
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
686
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
687
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
688
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
689
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
690
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
691
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
692
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
693
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
694
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
695
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
696
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
697
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
698
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
699
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
700
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
701
+ value: z.ZodOptional<z.ZodNumber>;
702
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
703
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
704
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
705
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
706
+ 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>;
707
+ 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>>;
708
+ }, "strip", z.ZodTypeAny, {
709
+ start: Date;
710
+ end?: Date | undefined;
711
+ }, {
712
+ start: string | Date;
713
+ end?: string | Date | undefined;
714
+ }>, {
715
+ start: Date;
716
+ end?: Date | undefined;
717
+ }, {
718
+ start: string | Date;
719
+ end?: string | Date | undefined;
720
+ }>>;
721
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
722
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
723
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
724
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
725
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
726
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
727
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
728
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
729
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
730
+ }, "strip", z.ZodTypeAny, {
731
+ name?: string | undefined;
732
+ }, {
733
+ name?: string | undefined;
734
+ }>>>;
735
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
736
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
737
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
738
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
739
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
740
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
741
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
742
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
743
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
744
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
745
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
746
+ value: z.ZodOptional<z.ZodNumber>;
747
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
748
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
749
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
750
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
751
+ 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>;
752
+ 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>>;
753
+ }, "strip", z.ZodTypeAny, {
754
+ start: Date;
755
+ end?: Date | undefined;
756
+ }, {
757
+ start: string | Date;
758
+ end?: string | Date | undefined;
759
+ }>, {
760
+ start: Date;
761
+ end?: Date | undefined;
762
+ }, {
763
+ start: string | Date;
764
+ end?: string | Date | undefined;
765
+ }>>;
766
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
767
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
768
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
769
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
770
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
771
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
772
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
773
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
774
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
775
+ }, "strip", z.ZodTypeAny, {
776
+ name?: string | undefined;
777
+ }, {
778
+ name?: string | undefined;
779
+ }>>>;
780
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
781
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
782
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
783
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
784
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
785
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
786
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
787
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
788
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
789
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
790
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
791
+ value: z.ZodOptional<z.ZodNumber>;
792
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
793
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
794
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
795
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
796
+ 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>;
797
+ 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>>;
798
+ }, "strip", z.ZodTypeAny, {
799
+ start: Date;
800
+ end?: Date | undefined;
801
+ }, {
802
+ start: string | Date;
803
+ end?: string | Date | undefined;
804
+ }>, {
805
+ start: Date;
806
+ end?: Date | undefined;
807
+ }, {
808
+ start: string | Date;
809
+ end?: string | Date | undefined;
810
+ }>>;
811
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
812
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
813
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
814
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
815
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
816
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
817
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
818
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
819
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
820
+ }, "strip", z.ZodTypeAny, {
821
+ name?: string | undefined;
822
+ }, {
823
+ name?: string | undefined;
824
+ }>>>;
825
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
826
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
827
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
828
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
829
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
830
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
831
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
832
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
833
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
834
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
835
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
836
+ value: z.ZodOptional<z.ZodNumber>;
837
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
838
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
839
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
840
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
841
+ 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>;
842
+ 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>>;
843
+ }, "strip", z.ZodTypeAny, {
844
+ start: Date;
845
+ end?: Date | undefined;
846
+ }, {
847
+ start: string | Date;
848
+ end?: string | Date | undefined;
849
+ }>, {
850
+ start: Date;
851
+ end?: Date | undefined;
852
+ }, {
853
+ start: string | Date;
854
+ end?: string | Date | undefined;
855
+ }>>;
856
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
857
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
858
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
859
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
860
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
861
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
862
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
863
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
864
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
865
+ }, "strip", z.ZodTypeAny, {
866
+ name?: string | undefined;
867
+ }, {
868
+ name?: string | undefined;
869
+ }>>>;
870
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
871
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
872
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
873
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
874
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
875
+ }, z.ZodTypeAny, "passthrough"> | {
876
+ documents: (z.objectInputType<{
877
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
878
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
879
+ value: z.ZodOptional<z.ZodNumber>;
880
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
881
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
882
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
883
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
884
+ 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>;
885
+ 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>>;
886
+ }, "strip", z.ZodTypeAny, {
887
+ start: Date;
888
+ end?: Date | undefined;
889
+ }, {
890
+ start: string | Date;
891
+ end?: string | Date | undefined;
892
+ }>, {
893
+ start: Date;
894
+ end?: Date | undefined;
895
+ }, {
896
+ start: string | Date;
897
+ end?: string | Date | undefined;
898
+ }>>;
899
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
900
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
901
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
902
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
903
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
904
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
905
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
906
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
907
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
908
+ }, "strip", z.ZodTypeAny, {
909
+ name?: string | undefined;
910
+ }, {
911
+ name?: string | undefined;
912
+ }>>>;
913
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
914
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
915
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
916
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
917
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
918
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
919
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
920
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
921
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
922
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
923
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
924
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
925
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
926
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
927
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
928
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
929
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
930
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
931
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
932
+ value: z.ZodOptional<z.ZodNumber>;
933
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
934
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
935
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
936
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
937
+ 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>;
938
+ 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>>;
939
+ }, "strip", z.ZodTypeAny, {
940
+ start: Date;
941
+ end?: Date | undefined;
942
+ }, {
943
+ start: string | Date;
944
+ end?: string | Date | undefined;
945
+ }>, {
946
+ start: Date;
947
+ end?: Date | undefined;
948
+ }, {
949
+ start: string | Date;
950
+ end?: string | Date | undefined;
951
+ }>>;
952
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
953
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
954
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
955
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
956
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
957
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
958
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
959
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
960
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
961
+ }, "strip", z.ZodTypeAny, {
962
+ name?: string | undefined;
963
+ }, {
964
+ name?: string | undefined;
965
+ }>>>;
966
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
967
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
968
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
969
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
970
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
971
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
972
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
973
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
974
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
975
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
976
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
977
+ value: z.ZodOptional<z.ZodNumber>;
978
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
979
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
980
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
981
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
982
+ 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>;
983
+ 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>>;
984
+ }, "strip", z.ZodTypeAny, {
985
+ start: Date;
986
+ end?: Date | undefined;
987
+ }, {
988
+ start: string | Date;
989
+ end?: string | Date | undefined;
990
+ }>, {
991
+ start: Date;
992
+ end?: Date | undefined;
993
+ }, {
994
+ start: string | Date;
995
+ end?: string | Date | undefined;
996
+ }>>;
997
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
998
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
999
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1000
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1001
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1002
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1003
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1004
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1005
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1006
+ }, "strip", z.ZodTypeAny, {
1007
+ name?: string | undefined;
1008
+ }, {
1009
+ name?: string | undefined;
1010
+ }>>>;
1011
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1012
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1013
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1014
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1015
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1016
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1017
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1018
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
1019
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1020
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1021
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1022
+ value: z.ZodOptional<z.ZodNumber>;
1023
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1024
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1025
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1026
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1027
+ 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>;
1028
+ 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>>;
1029
+ }, "strip", z.ZodTypeAny, {
1030
+ start: Date;
1031
+ end?: Date | undefined;
1032
+ }, {
1033
+ start: string | Date;
1034
+ end?: string | Date | undefined;
1035
+ }>, {
1036
+ start: Date;
1037
+ end?: Date | undefined;
1038
+ }, {
1039
+ start: string | Date;
1040
+ end?: string | Date | undefined;
1041
+ }>>;
1042
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1043
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1044
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1045
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1046
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1047
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1048
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1049
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1050
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1051
+ }, "strip", z.ZodTypeAny, {
1052
+ name?: string | undefined;
1053
+ }, {
1054
+ name?: string | undefined;
1055
+ }>>>;
1056
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1057
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1058
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1059
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1060
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1061
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1062
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1063
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1064
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1065
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1066
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1067
+ value: z.ZodOptional<z.ZodNumber>;
1068
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1069
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1070
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1071
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1072
+ 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>;
1073
+ 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>>;
1074
+ }, "strip", z.ZodTypeAny, {
1075
+ start: Date;
1076
+ end?: Date | undefined;
1077
+ }, {
1078
+ start: string | Date;
1079
+ end?: string | Date | undefined;
1080
+ }>, {
1081
+ start: Date;
1082
+ end?: Date | undefined;
1083
+ }, {
1084
+ start: string | Date;
1085
+ end?: string | Date | undefined;
1086
+ }>>;
1087
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1088
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1089
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1090
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1091
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1092
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1093
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1094
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1095
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1096
+ }, "strip", z.ZodTypeAny, {
1097
+ name?: string | undefined;
1098
+ }, {
1099
+ name?: string | undefined;
1100
+ }>>>;
1101
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1102
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1103
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1104
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1105
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1106
+ }, z.ZodTypeAny, "passthrough">)[];
1107
+ metadata?: {
1108
+ page: number;
1109
+ size: number;
1110
+ totalElements: number;
1111
+ totalPages: number;
1112
+ } | undefined;
1113
+ } | undefined;
1114
+ };
1115
+ meta: object;
1116
+ }>;
1117
+ get: import("@trpc/server").TRPCQueryProcedure<{
1118
+ input: {
1119
+ search?: {
1120
+ searchKey: string;
1121
+ searchFields?: string[] | undefined;
1122
+ } | undefined;
1123
+ sort?: Record<string, 1 | -1> | undefined;
1124
+ page?: number | undefined;
1125
+ select?: Record<string, 0 | 1> | undefined;
1126
+ size?: number | undefined;
1127
+ populate?: any;
1128
+ query?: Record<string, any> | undefined;
1129
+ } | undefined;
1130
+ output: {
1131
+ message: string;
1132
+ success: boolean;
1133
+ data?: z.objectInputType<{
1134
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
1135
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1136
+ value: z.ZodOptional<z.ZodNumber>;
1137
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1138
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1139
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1140
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1141
+ 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>;
1142
+ 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>>;
1143
+ }, "strip", z.ZodTypeAny, {
1144
+ start: Date;
1145
+ end?: Date | undefined;
1146
+ }, {
1147
+ start: string | Date;
1148
+ end?: string | Date | undefined;
1149
+ }>, {
1150
+ start: Date;
1151
+ end?: Date | undefined;
1152
+ }, {
1153
+ start: string | Date;
1154
+ end?: string | Date | undefined;
1155
+ }>>;
1156
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1157
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1158
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1159
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1160
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1161
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1162
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1163
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1164
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1165
+ }, "strip", z.ZodTypeAny, {
1166
+ name?: string | undefined;
1167
+ }, {
1168
+ name?: string | undefined;
1169
+ }>>>;
1170
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1171
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1172
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1173
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1174
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1175
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1176
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
1177
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
1178
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1179
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1180
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1181
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1182
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1183
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1184
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
1185
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1186
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1187
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1188
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1189
+ value: z.ZodOptional<z.ZodNumber>;
1190
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1191
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1192
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1193
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1194
+ 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>;
1195
+ 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>>;
1196
+ }, "strip", z.ZodTypeAny, {
1197
+ start: Date;
1198
+ end?: Date | undefined;
1199
+ }, {
1200
+ start: string | Date;
1201
+ end?: string | Date | undefined;
1202
+ }>, {
1203
+ start: Date;
1204
+ end?: Date | undefined;
1205
+ }, {
1206
+ start: string | Date;
1207
+ end?: string | Date | undefined;
1208
+ }>>;
1209
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1210
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1211
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1212
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1213
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1214
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1215
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1216
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1217
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1218
+ }, "strip", z.ZodTypeAny, {
1219
+ name?: string | undefined;
1220
+ }, {
1221
+ name?: string | undefined;
1222
+ }>>>;
1223
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1224
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1225
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1226
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1227
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1228
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1229
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1230
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1231
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1232
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1233
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1234
+ value: z.ZodOptional<z.ZodNumber>;
1235
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1236
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1237
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1238
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1239
+ 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>;
1240
+ 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>>;
1241
+ }, "strip", z.ZodTypeAny, {
1242
+ start: Date;
1243
+ end?: Date | undefined;
1244
+ }, {
1245
+ start: string | Date;
1246
+ end?: string | Date | undefined;
1247
+ }>, {
1248
+ start: Date;
1249
+ end?: Date | undefined;
1250
+ }, {
1251
+ start: string | Date;
1252
+ end?: string | Date | undefined;
1253
+ }>>;
1254
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1255
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1256
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1257
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1258
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1259
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1260
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1261
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1262
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1263
+ }, "strip", z.ZodTypeAny, {
1264
+ name?: string | undefined;
1265
+ }, {
1266
+ name?: string | undefined;
1267
+ }>>>;
1268
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1269
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1270
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1271
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1272
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1273
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1274
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1275
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
1276
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1277
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1278
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1279
+ value: z.ZodOptional<z.ZodNumber>;
1280
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1281
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1282
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1283
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1284
+ 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>;
1285
+ 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>>;
1286
+ }, "strip", z.ZodTypeAny, {
1287
+ start: Date;
1288
+ end?: Date | undefined;
1289
+ }, {
1290
+ start: string | Date;
1291
+ end?: string | Date | undefined;
1292
+ }>, {
1293
+ start: Date;
1294
+ end?: Date | undefined;
1295
+ }, {
1296
+ start: string | Date;
1297
+ end?: string | Date | undefined;
1298
+ }>>;
1299
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1300
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1301
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1302
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1303
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1304
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1305
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1306
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1307
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1308
+ }, "strip", z.ZodTypeAny, {
1309
+ name?: string | undefined;
1310
+ }, {
1311
+ name?: string | undefined;
1312
+ }>>>;
1313
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1314
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1315
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1316
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1317
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1318
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1319
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1320
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1321
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1322
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1323
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1324
+ value: z.ZodOptional<z.ZodNumber>;
1325
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1326
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1327
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1328
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1329
+ 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>;
1330
+ 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>>;
1331
+ }, "strip", z.ZodTypeAny, {
1332
+ start: Date;
1333
+ end?: Date | undefined;
1334
+ }, {
1335
+ start: string | Date;
1336
+ end?: string | Date | undefined;
1337
+ }>, {
1338
+ start: Date;
1339
+ end?: Date | undefined;
1340
+ }, {
1341
+ start: string | Date;
1342
+ end?: string | Date | undefined;
1343
+ }>>;
1344
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1345
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1346
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1347
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1348
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1349
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1350
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1351
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1352
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1353
+ }, "strip", z.ZodTypeAny, {
1354
+ name?: string | undefined;
1355
+ }, {
1356
+ name?: string | undefined;
1357
+ }>>>;
1358
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1359
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1360
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1361
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1362
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1363
+ }, z.ZodTypeAny, "passthrough"> | {
1364
+ documents: (z.objectInputType<{
1365
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
1366
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1367
+ value: z.ZodOptional<z.ZodNumber>;
1368
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1369
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1370
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1371
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1372
+ 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>;
1373
+ 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>>;
1374
+ }, "strip", z.ZodTypeAny, {
1375
+ start: Date;
1376
+ end?: Date | undefined;
1377
+ }, {
1378
+ start: string | Date;
1379
+ end?: string | Date | undefined;
1380
+ }>, {
1381
+ start: Date;
1382
+ end?: Date | undefined;
1383
+ }, {
1384
+ start: string | Date;
1385
+ end?: string | Date | undefined;
1386
+ }>>;
1387
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1388
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1389
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1390
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1391
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1392
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1393
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1394
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1395
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1396
+ }, "strip", z.ZodTypeAny, {
1397
+ name?: string | undefined;
1398
+ }, {
1399
+ name?: string | undefined;
1400
+ }>>>;
1401
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1402
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1403
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1404
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1405
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1406
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1407
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
1408
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
1409
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1410
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1411
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1412
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1413
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1414
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1415
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
1416
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1417
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1418
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1419
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1420
+ value: z.ZodOptional<z.ZodNumber>;
1421
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1422
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1423
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1424
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1425
+ 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>;
1426
+ 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>>;
1427
+ }, "strip", z.ZodTypeAny, {
1428
+ start: Date;
1429
+ end?: Date | undefined;
1430
+ }, {
1431
+ start: string | Date;
1432
+ end?: string | Date | undefined;
1433
+ }>, {
1434
+ start: Date;
1435
+ end?: Date | undefined;
1436
+ }, {
1437
+ start: string | Date;
1438
+ end?: string | Date | undefined;
1439
+ }>>;
1440
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1441
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1442
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1443
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1444
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1445
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1446
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1447
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1448
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1449
+ }, "strip", z.ZodTypeAny, {
1450
+ name?: string | undefined;
1451
+ }, {
1452
+ name?: string | undefined;
1453
+ }>>>;
1454
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1455
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1456
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1457
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1458
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1459
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1460
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1461
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1462
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1463
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1464
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1465
+ value: z.ZodOptional<z.ZodNumber>;
1466
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1467
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1468
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1469
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1470
+ 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>;
1471
+ 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>>;
1472
+ }, "strip", z.ZodTypeAny, {
1473
+ start: Date;
1474
+ end?: Date | undefined;
1475
+ }, {
1476
+ start: string | Date;
1477
+ end?: string | Date | undefined;
1478
+ }>, {
1479
+ start: Date;
1480
+ end?: Date | undefined;
1481
+ }, {
1482
+ start: string | Date;
1483
+ end?: string | Date | undefined;
1484
+ }>>;
1485
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1486
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1487
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1488
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1489
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1490
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1491
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1492
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1493
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1494
+ }, "strip", z.ZodTypeAny, {
1495
+ name?: string | undefined;
1496
+ }, {
1497
+ name?: string | undefined;
1498
+ }>>>;
1499
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1500
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1501
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1502
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1503
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1504
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1505
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1506
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
1507
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1508
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1509
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1510
+ value: z.ZodOptional<z.ZodNumber>;
1511
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1512
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1513
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1514
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1515
+ 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>;
1516
+ 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>>;
1517
+ }, "strip", z.ZodTypeAny, {
1518
+ start: Date;
1519
+ end?: Date | undefined;
1520
+ }, {
1521
+ start: string | Date;
1522
+ end?: string | Date | undefined;
1523
+ }>, {
1524
+ start: Date;
1525
+ end?: Date | undefined;
1526
+ }, {
1527
+ start: string | Date;
1528
+ end?: string | Date | undefined;
1529
+ }>>;
1530
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1531
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1532
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1533
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1534
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1535
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1536
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1537
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1538
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1539
+ }, "strip", z.ZodTypeAny, {
1540
+ name?: string | undefined;
1541
+ }, {
1542
+ name?: string | undefined;
1543
+ }>>>;
1544
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1545
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1546
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1547
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1548
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1549
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1550
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1551
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1552
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1553
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1554
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1555
+ value: z.ZodOptional<z.ZodNumber>;
1556
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1557
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1558
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1559
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1560
+ 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>;
1561
+ 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>>;
1562
+ }, "strip", z.ZodTypeAny, {
1563
+ start: Date;
1564
+ end?: Date | undefined;
1565
+ }, {
1566
+ start: string | Date;
1567
+ end?: string | Date | undefined;
1568
+ }>, {
1569
+ start: Date;
1570
+ end?: Date | undefined;
1571
+ }, {
1572
+ start: string | Date;
1573
+ end?: string | Date | undefined;
1574
+ }>>;
1575
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1576
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1577
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1578
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1579
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1580
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1581
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1582
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1583
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1584
+ }, "strip", z.ZodTypeAny, {
1585
+ name?: string | undefined;
1586
+ }, {
1587
+ name?: string | undefined;
1588
+ }>>>;
1589
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1590
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1591
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1592
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1593
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1594
+ }, z.ZodTypeAny, "passthrough">)[];
1595
+ metadata?: {
1596
+ page: number;
1597
+ size: number;
1598
+ totalElements: number;
1599
+ totalPages: number;
1600
+ } | undefined;
1601
+ } | undefined;
1602
+ };
1603
+ meta: object;
1604
+ }>;
1605
+ update: import("@trpc/server").TRPCMutationProcedure<{
1606
+ input: {
1607
+ _id: string | mongoose.Types.ObjectId;
1608
+ data: {
1609
+ value: number;
1610
+ code: string;
1611
+ duration: {
1612
+ start: string | Date;
1613
+ end?: string | Date | undefined;
1614
+ };
1615
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1616
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
1617
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1618
+ spendLimit?: number | null | undefined;
1619
+ secondaryCurrencyValue?: number | undefined;
1620
+ maxDiscountLimit?: number | null | undefined;
1621
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1622
+ totalOrderLimit?: number | null | undefined;
1623
+ minOrderValue?: number | null | undefined;
1624
+ secondaryCurrencyMinOrderValue?: number | undefined;
1625
+ forNewUserOnly?: boolean | undefined;
1626
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1627
+ referringUser?: {
1628
+ name?: string | undefined;
1629
+ } | undefined;
1630
+ orderLimitPerUser?: number | null | undefined;
1631
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
1632
+ isExpired?: boolean | undefined;
1633
+ } | {
1634
+ code: string;
1635
+ orderLimitPerUser: 1;
1636
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
1637
+ referralUser: string | mongoose.Types.ObjectId;
1638
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
1639
+ isExpired?: boolean | undefined;
1640
+ } | {
1641
+ value: number;
1642
+ code: string;
1643
+ duration: {
1644
+ start: string | Date;
1645
+ end?: string | Date | undefined;
1646
+ };
1647
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1648
+ user: string | mongoose.Types.ObjectId;
1649
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
1650
+ referralCodeUsedBy: string | mongoose.Types.ObjectId;
1651
+ referralCodeUsedOnOrder: string | mongoose.Types.ObjectId;
1652
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1653
+ spendLimit?: number | null | undefined;
1654
+ secondaryCurrencyValue?: number | undefined;
1655
+ maxDiscountLimit?: number | null | undefined;
1656
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1657
+ totalOrderLimit?: number | null | undefined;
1658
+ minOrderValue?: number | null | undefined;
1659
+ secondaryCurrencyMinOrderValue?: number | undefined;
1660
+ forNewUserOnly?: boolean | undefined;
1661
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1662
+ referringUser?: {
1663
+ name?: string | undefined;
1664
+ } | undefined;
1665
+ orderLimitPerUser?: number | null | undefined;
1666
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
1667
+ isExpired?: boolean | undefined;
1668
+ } | {
1669
+ value: number;
1670
+ code: string;
1671
+ duration: {
1672
+ start: string | Date;
1673
+ end?: string | Date | undefined;
1674
+ };
1675
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1676
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1677
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1678
+ spendLimit?: number | null | undefined;
1679
+ secondaryCurrencyValue?: number | undefined;
1680
+ maxDiscountLimit?: number | null | undefined;
1681
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1682
+ totalOrderLimit?: number | null | undefined;
1683
+ minOrderValue?: number | null | undefined;
1684
+ secondaryCurrencyMinOrderValue?: number | undefined;
1685
+ forNewUserOnly?: boolean | undefined;
1686
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1687
+ referringUser?: {
1688
+ name?: string | undefined;
1689
+ } | undefined;
1690
+ orderLimitPerUser?: number | null | undefined;
1691
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
1692
+ isExpired?: boolean | undefined;
1693
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1694
+ shops?: (string | mongoose.Types.ObjectId)[] | undefined;
1695
+ isShopCoverExpenses?: boolean | undefined;
1696
+ } | {
1697
+ value: number;
1698
+ code: string;
1699
+ duration: {
1700
+ start: string | Date;
1701
+ end?: string | Date | undefined;
1702
+ };
1703
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1704
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1705
+ users: [string | mongoose.Types.ObjectId, ...(string | mongoose.Types.ObjectId)[]];
1706
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1707
+ spendLimit?: number | null | undefined;
1708
+ secondaryCurrencyValue?: number | undefined;
1709
+ maxDiscountLimit?: number | null | undefined;
1710
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1711
+ totalOrderLimit?: number | null | undefined;
1712
+ minOrderValue?: number | null | undefined;
1713
+ secondaryCurrencyMinOrderValue?: number | undefined;
1714
+ forNewUserOnly?: boolean | undefined;
1715
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1716
+ referringUser?: {
1717
+ name?: string | undefined;
1718
+ } | undefined;
1719
+ orderLimitPerUser?: number | null | undefined;
1720
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
1721
+ isExpired?: boolean | undefined;
1722
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1723
+ shops?: (string | mongoose.Types.ObjectId)[] | undefined;
1724
+ } | {
1725
+ value: number;
1726
+ code: string;
1727
+ duration: {
1728
+ start: string | Date;
1729
+ end?: string | Date | undefined;
1730
+ };
1731
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1732
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1733
+ influencer: string | mongoose.Types.ObjectId;
1734
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1735
+ spendLimit?: number | null | undefined;
1736
+ secondaryCurrencyValue?: number | undefined;
1737
+ maxDiscountLimit?: number | null | undefined;
1738
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1739
+ totalOrderLimit?: number | null | undefined;
1740
+ minOrderValue?: number | null | undefined;
1741
+ secondaryCurrencyMinOrderValue?: number | undefined;
1742
+ forNewUserOnly?: boolean | undefined;
1743
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1744
+ referringUser?: {
1745
+ name?: string | undefined;
1746
+ } | undefined;
1747
+ orderLimitPerUser?: number | null | undefined;
1748
+ createdBy?: string | mongoose.Types.ObjectId | undefined;
1749
+ isExpired?: boolean | undefined;
1750
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1751
+ shops?: (string | mongoose.Types.ObjectId)[] | undefined;
1752
+ };
1753
+ };
1754
+ output: {
1755
+ message: string;
1756
+ success: boolean;
1757
+ data?: z.objectInputType<{
1758
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
1759
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1760
+ value: z.ZodOptional<z.ZodNumber>;
1761
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1762
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1763
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1764
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1765
+ 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>;
1766
+ 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>>;
1767
+ }, "strip", z.ZodTypeAny, {
1768
+ start: Date;
1769
+ end?: Date | undefined;
1770
+ }, {
1771
+ start: string | Date;
1772
+ end?: string | Date | undefined;
1773
+ }>, {
1774
+ start: Date;
1775
+ end?: Date | undefined;
1776
+ }, {
1777
+ start: string | Date;
1778
+ end?: string | Date | undefined;
1779
+ }>>;
1780
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1781
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1782
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1783
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1784
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1785
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1786
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1787
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1788
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1789
+ }, "strip", z.ZodTypeAny, {
1790
+ name?: string | undefined;
1791
+ }, {
1792
+ name?: string | undefined;
1793
+ }>>>;
1794
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1795
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1796
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1797
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1798
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1799
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1800
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
1801
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
1802
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1803
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1804
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1805
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1806
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1807
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1808
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
1809
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1810
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1811
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1812
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1813
+ value: z.ZodOptional<z.ZodNumber>;
1814
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1815
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1816
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1817
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1818
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
1819
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
1820
+ }, "strip", z.ZodTypeAny, {
1821
+ start: Date;
1822
+ end?: Date | undefined;
1823
+ }, {
1824
+ start: string | Date;
1825
+ end?: string | Date | undefined;
1826
+ }>, {
1827
+ start: Date;
1828
+ end?: Date | undefined;
1829
+ }, {
1830
+ start: string | Date;
1831
+ end?: string | Date | undefined;
1832
+ }>>;
1833
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1834
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1835
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1836
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1837
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1838
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1839
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1840
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1841
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1842
+ }, "strip", z.ZodTypeAny, {
1843
+ name?: string | undefined;
1844
+ }, {
1845
+ name?: string | undefined;
1846
+ }>>>;
1847
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1848
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1849
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1850
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1851
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1852
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1853
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1854
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1855
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1856
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1857
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1858
+ value: z.ZodOptional<z.ZodNumber>;
1859
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1860
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1861
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1862
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1863
+ 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>;
1864
+ 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>>;
1865
+ }, "strip", z.ZodTypeAny, {
1866
+ start: Date;
1867
+ end?: Date | undefined;
1868
+ }, {
1869
+ start: string | Date;
1870
+ end?: string | Date | undefined;
1871
+ }>, {
1872
+ start: Date;
1873
+ end?: Date | undefined;
1874
+ }, {
1875
+ start: string | Date;
1876
+ end?: string | Date | undefined;
1877
+ }>>;
1878
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1879
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1880
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1881
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1882
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1883
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1884
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1885
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1886
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1887
+ }, "strip", z.ZodTypeAny, {
1888
+ name?: string | undefined;
1889
+ }, {
1890
+ name?: string | undefined;
1891
+ }>>>;
1892
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1893
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1894
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1895
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1896
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1897
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1898
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1899
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
1900
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1901
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1902
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1903
+ value: z.ZodOptional<z.ZodNumber>;
1904
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1905
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1906
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1907
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1908
+ 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>;
1909
+ 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>>;
1910
+ }, "strip", z.ZodTypeAny, {
1911
+ start: Date;
1912
+ end?: Date | undefined;
1913
+ }, {
1914
+ start: string | Date;
1915
+ end?: string | Date | undefined;
1916
+ }>, {
1917
+ start: Date;
1918
+ end?: Date | undefined;
1919
+ }, {
1920
+ start: string | Date;
1921
+ end?: string | Date | undefined;
1922
+ }>>;
1923
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1924
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1925
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1926
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1927
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1928
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1929
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1930
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1931
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1932
+ }, "strip", z.ZodTypeAny, {
1933
+ name?: string | undefined;
1934
+ }, {
1935
+ name?: string | undefined;
1936
+ }>>>;
1937
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1938
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1939
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1940
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1941
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1942
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
1943
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1944
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1945
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1946
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
1947
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1948
+ value: z.ZodOptional<z.ZodNumber>;
1949
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1950
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1951
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1952
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1953
+ 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>;
1954
+ 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>>;
1955
+ }, "strip", z.ZodTypeAny, {
1956
+ start: Date;
1957
+ end?: Date | undefined;
1958
+ }, {
1959
+ start: string | Date;
1960
+ end?: string | Date | undefined;
1961
+ }>, {
1962
+ start: Date;
1963
+ end?: Date | undefined;
1964
+ }, {
1965
+ start: string | Date;
1966
+ end?: string | Date | undefined;
1967
+ }>>;
1968
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1969
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1970
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1971
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1972
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1973
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1974
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1975
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1976
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1977
+ }, "strip", z.ZodTypeAny, {
1978
+ name?: string | undefined;
1979
+ }, {
1980
+ name?: string | undefined;
1981
+ }>>>;
1982
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1983
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1984
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
1985
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1986
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
1987
+ }, z.ZodTypeAny, "passthrough"> | {
1988
+ documents: (z.objectInputType<{
1989
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
1990
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1991
+ value: z.ZodOptional<z.ZodNumber>;
1992
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1993
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
1994
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1995
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1996
+ 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>;
1997
+ 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>>;
1998
+ }, "strip", z.ZodTypeAny, {
1999
+ start: Date;
2000
+ end?: Date | undefined;
2001
+ }, {
2002
+ start: string | Date;
2003
+ end?: string | Date | undefined;
2004
+ }>, {
2005
+ start: Date;
2006
+ end?: Date | undefined;
2007
+ }, {
2008
+ start: string | Date;
2009
+ end?: string | Date | undefined;
2010
+ }>>;
2011
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2012
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2013
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2014
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2015
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2016
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2017
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2018
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2019
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2020
+ }, "strip", z.ZodTypeAny, {
2021
+ name?: string | undefined;
2022
+ }, {
2023
+ name?: string | undefined;
2024
+ }>>>;
2025
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2026
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2027
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2028
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2029
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2030
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2031
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2032
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2033
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2034
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2035
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2036
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2037
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2038
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2039
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2040
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2041
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2042
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2043
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2044
+ value: z.ZodOptional<z.ZodNumber>;
2045
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2046
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2047
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2048
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2049
+ 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>;
2050
+ 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>>;
2051
+ }, "strip", z.ZodTypeAny, {
2052
+ start: Date;
2053
+ end?: Date | undefined;
2054
+ }, {
2055
+ start: string | Date;
2056
+ end?: string | Date | undefined;
2057
+ }>, {
2058
+ start: Date;
2059
+ end?: Date | undefined;
2060
+ }, {
2061
+ start: string | Date;
2062
+ end?: string | Date | undefined;
2063
+ }>>;
2064
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2065
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2066
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2067
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2068
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2069
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2070
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2071
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2072
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2073
+ }, "strip", z.ZodTypeAny, {
2074
+ name?: string | undefined;
2075
+ }, {
2076
+ name?: string | undefined;
2077
+ }>>>;
2078
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2079
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2080
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2081
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2082
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2083
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2084
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2085
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2086
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2087
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2088
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2089
+ value: z.ZodOptional<z.ZodNumber>;
2090
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2091
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2092
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2093
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2094
+ 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>;
2095
+ 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>>;
2096
+ }, "strip", z.ZodTypeAny, {
2097
+ start: Date;
2098
+ end?: Date | undefined;
2099
+ }, {
2100
+ start: string | Date;
2101
+ end?: string | Date | undefined;
2102
+ }>, {
2103
+ start: Date;
2104
+ end?: Date | undefined;
2105
+ }, {
2106
+ start: string | Date;
2107
+ end?: string | Date | undefined;
2108
+ }>>;
2109
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2110
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2111
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2112
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2113
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2114
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2115
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2116
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2117
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2118
+ }, "strip", z.ZodTypeAny, {
2119
+ name?: string | undefined;
2120
+ }, {
2121
+ name?: string | undefined;
2122
+ }>>>;
2123
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2124
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2125
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2126
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2127
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2128
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2129
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2130
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
2131
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2132
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2133
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2134
+ value: z.ZodOptional<z.ZodNumber>;
2135
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2136
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2137
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2138
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2139
+ 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>;
2140
+ 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>>;
2141
+ }, "strip", z.ZodTypeAny, {
2142
+ start: Date;
2143
+ end?: Date | undefined;
2144
+ }, {
2145
+ start: string | Date;
2146
+ end?: string | Date | undefined;
2147
+ }>, {
2148
+ start: Date;
2149
+ end?: Date | undefined;
2150
+ }, {
2151
+ start: string | Date;
2152
+ end?: string | Date | undefined;
2153
+ }>>;
2154
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2155
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2156
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2157
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2158
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2159
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2160
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2161
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2162
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2163
+ }, "strip", z.ZodTypeAny, {
2164
+ name?: string | undefined;
2165
+ }, {
2166
+ name?: string | undefined;
2167
+ }>>>;
2168
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2169
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2170
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2171
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2172
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2173
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2174
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2175
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2176
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2177
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2178
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2179
+ value: z.ZodOptional<z.ZodNumber>;
2180
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2181
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2182
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2183
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2184
+ 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>;
2185
+ 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>>;
2186
+ }, "strip", z.ZodTypeAny, {
2187
+ start: Date;
2188
+ end?: Date | undefined;
2189
+ }, {
2190
+ start: string | Date;
2191
+ end?: string | Date | undefined;
2192
+ }>, {
2193
+ start: Date;
2194
+ end?: Date | undefined;
2195
+ }, {
2196
+ start: string | Date;
2197
+ end?: string | Date | undefined;
2198
+ }>>;
2199
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2200
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2201
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2202
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2203
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2204
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2205
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2206
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2207
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2208
+ }, "strip", z.ZodTypeAny, {
2209
+ name?: string | undefined;
2210
+ }, {
2211
+ name?: string | undefined;
2212
+ }>>>;
2213
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2214
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2215
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2216
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2217
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2218
+ }, z.ZodTypeAny, "passthrough">)[];
2219
+ metadata?: {
2220
+ page: number;
2221
+ size: number;
2222
+ totalElements: number;
2223
+ totalPages: number;
2224
+ } | undefined;
2225
+ } | undefined;
2226
+ };
2227
+ meta: object;
2228
+ }>;
2229
+ deleteById: import("@trpc/server").TRPCMutationProcedure<{
2230
+ input: {
2231
+ _id: string | mongoose.Types.ObjectId;
2232
+ softDelete?: boolean | undefined;
2233
+ };
2234
+ output: {
2235
+ message: string;
2236
+ success: boolean;
2237
+ data?: z.objectInputType<{
2238
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2239
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2240
+ value: z.ZodOptional<z.ZodNumber>;
2241
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2242
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2243
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2244
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2245
+ 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>;
2246
+ 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>>;
2247
+ }, "strip", z.ZodTypeAny, {
2248
+ start: Date;
2249
+ end?: Date | undefined;
2250
+ }, {
2251
+ start: string | Date;
2252
+ end?: string | Date | undefined;
2253
+ }>, {
2254
+ start: Date;
2255
+ end?: Date | undefined;
2256
+ }, {
2257
+ start: string | Date;
2258
+ end?: string | Date | undefined;
2259
+ }>>;
2260
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2261
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2262
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2263
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2264
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2265
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2266
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2267
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2268
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2269
+ }, "strip", z.ZodTypeAny, {
2270
+ name?: string | undefined;
2271
+ }, {
2272
+ name?: string | undefined;
2273
+ }>>>;
2274
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2275
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2276
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2277
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2278
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2279
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2280
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2281
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2282
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2283
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2284
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2285
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2286
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2287
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2288
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2289
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2290
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2291
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2292
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2293
+ value: z.ZodOptional<z.ZodNumber>;
2294
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2295
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2296
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2297
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2298
+ 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>;
2299
+ 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>>;
2300
+ }, "strip", z.ZodTypeAny, {
2301
+ start: Date;
2302
+ end?: Date | undefined;
2303
+ }, {
2304
+ start: string | Date;
2305
+ end?: string | Date | undefined;
2306
+ }>, {
2307
+ start: Date;
2308
+ end?: Date | undefined;
2309
+ }, {
2310
+ start: string | Date;
2311
+ end?: string | Date | undefined;
2312
+ }>>;
2313
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2314
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2315
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2316
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2317
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2318
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2319
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2320
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2321
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2322
+ }, "strip", z.ZodTypeAny, {
2323
+ name?: string | undefined;
2324
+ }, {
2325
+ name?: string | undefined;
2326
+ }>>>;
2327
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2328
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2329
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2330
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2331
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2332
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2333
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2334
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2335
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2336
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2337
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2338
+ value: z.ZodOptional<z.ZodNumber>;
2339
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2340
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2341
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2342
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2343
+ 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>;
2344
+ 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>>;
2345
+ }, "strip", z.ZodTypeAny, {
2346
+ start: Date;
2347
+ end?: Date | undefined;
2348
+ }, {
2349
+ start: string | Date;
2350
+ end?: string | Date | undefined;
2351
+ }>, {
2352
+ start: Date;
2353
+ end?: Date | undefined;
2354
+ }, {
2355
+ start: string | Date;
2356
+ end?: string | Date | undefined;
2357
+ }>>;
2358
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2359
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2360
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2361
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2362
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2363
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2364
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2365
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2366
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2367
+ }, "strip", z.ZodTypeAny, {
2368
+ name?: string | undefined;
2369
+ }, {
2370
+ name?: string | undefined;
2371
+ }>>>;
2372
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2373
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2374
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2375
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2376
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2377
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2378
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2379
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
2380
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2381
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2382
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2383
+ value: z.ZodOptional<z.ZodNumber>;
2384
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2385
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2386
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2387
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2388
+ 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>;
2389
+ 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>>;
2390
+ }, "strip", z.ZodTypeAny, {
2391
+ start: Date;
2392
+ end?: Date | undefined;
2393
+ }, {
2394
+ start: string | Date;
2395
+ end?: string | Date | undefined;
2396
+ }>, {
2397
+ start: Date;
2398
+ end?: Date | undefined;
2399
+ }, {
2400
+ start: string | Date;
2401
+ end?: string | Date | undefined;
2402
+ }>>;
2403
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2404
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2405
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2406
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2407
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2408
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2409
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2410
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2411
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2412
+ }, "strip", z.ZodTypeAny, {
2413
+ name?: string | undefined;
2414
+ }, {
2415
+ name?: string | undefined;
2416
+ }>>>;
2417
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2418
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2419
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2420
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2421
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2422
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2423
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2424
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2425
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2426
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2427
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2428
+ value: z.ZodOptional<z.ZodNumber>;
2429
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2430
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2431
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2432
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2433
+ 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>;
2434
+ 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>>;
2435
+ }, "strip", z.ZodTypeAny, {
2436
+ start: Date;
2437
+ end?: Date | undefined;
2438
+ }, {
2439
+ start: string | Date;
2440
+ end?: string | Date | undefined;
2441
+ }>, {
2442
+ start: Date;
2443
+ end?: Date | undefined;
2444
+ }, {
2445
+ start: string | Date;
2446
+ end?: string | Date | undefined;
2447
+ }>>;
2448
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2449
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2450
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2451
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2452
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2453
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2454
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2455
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2456
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2457
+ }, "strip", z.ZodTypeAny, {
2458
+ name?: string | undefined;
2459
+ }, {
2460
+ name?: string | undefined;
2461
+ }>>>;
2462
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2463
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2464
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2465
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2466
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2467
+ }, z.ZodTypeAny, "passthrough"> | {
2468
+ documents: (z.objectInputType<{
2469
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2470
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2471
+ value: z.ZodOptional<z.ZodNumber>;
2472
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2473
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2474
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2475
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2476
+ 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>;
2477
+ 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>>;
2478
+ }, "strip", z.ZodTypeAny, {
2479
+ start: Date;
2480
+ end?: Date | undefined;
2481
+ }, {
2482
+ start: string | Date;
2483
+ end?: string | Date | undefined;
2484
+ }>, {
2485
+ start: Date;
2486
+ end?: Date | undefined;
2487
+ }, {
2488
+ start: string | Date;
2489
+ end?: string | Date | undefined;
2490
+ }>>;
2491
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2492
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2493
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2494
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2495
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2496
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2497
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2498
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2499
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2500
+ }, "strip", z.ZodTypeAny, {
2501
+ name?: string | undefined;
2502
+ }, {
2503
+ name?: string | undefined;
2504
+ }>>>;
2505
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2506
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2507
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2508
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2509
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2510
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2511
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2512
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2513
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2514
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2515
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2516
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2517
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2518
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2519
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2520
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2521
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2522
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2523
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2524
+ value: z.ZodOptional<z.ZodNumber>;
2525
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2526
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2527
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2528
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2529
+ 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>;
2530
+ 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>>;
2531
+ }, "strip", z.ZodTypeAny, {
2532
+ start: Date;
2533
+ end?: Date | undefined;
2534
+ }, {
2535
+ start: string | Date;
2536
+ end?: string | Date | undefined;
2537
+ }>, {
2538
+ start: Date;
2539
+ end?: Date | undefined;
2540
+ }, {
2541
+ start: string | Date;
2542
+ end?: string | Date | undefined;
2543
+ }>>;
2544
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2545
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2546
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2547
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2548
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2549
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2550
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2551
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2552
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2553
+ }, "strip", z.ZodTypeAny, {
2554
+ name?: string | undefined;
2555
+ }, {
2556
+ name?: string | undefined;
2557
+ }>>>;
2558
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2559
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2560
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2561
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2562
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2563
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2564
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2565
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2566
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2567
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2568
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2569
+ value: z.ZodOptional<z.ZodNumber>;
2570
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2571
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2572
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2573
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2574
+ 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>;
2575
+ 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>>;
2576
+ }, "strip", z.ZodTypeAny, {
2577
+ start: Date;
2578
+ end?: Date | undefined;
2579
+ }, {
2580
+ start: string | Date;
2581
+ end?: string | Date | undefined;
2582
+ }>, {
2583
+ start: Date;
2584
+ end?: Date | undefined;
2585
+ }, {
2586
+ start: string | Date;
2587
+ end?: string | Date | undefined;
2588
+ }>>;
2589
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2590
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2591
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2592
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2593
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2594
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2595
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2596
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2597
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2598
+ }, "strip", z.ZodTypeAny, {
2599
+ name?: string | undefined;
2600
+ }, {
2601
+ name?: string | undefined;
2602
+ }>>>;
2603
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2604
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2605
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2606
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2607
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2608
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2609
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2610
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
2611
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2612
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2613
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2614
+ value: z.ZodOptional<z.ZodNumber>;
2615
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2616
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2617
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2618
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2619
+ 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>;
2620
+ 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>>;
2621
+ }, "strip", z.ZodTypeAny, {
2622
+ start: Date;
2623
+ end?: Date | undefined;
2624
+ }, {
2625
+ start: string | Date;
2626
+ end?: string | Date | undefined;
2627
+ }>, {
2628
+ start: Date;
2629
+ end?: Date | undefined;
2630
+ }, {
2631
+ start: string | Date;
2632
+ end?: string | Date | undefined;
2633
+ }>>;
2634
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2635
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2636
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2637
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2638
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2639
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2640
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2641
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2642
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2643
+ }, "strip", z.ZodTypeAny, {
2644
+ name?: string | undefined;
2645
+ }, {
2646
+ name?: string | undefined;
2647
+ }>>>;
2648
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2649
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2650
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2651
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2652
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2653
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
2654
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2655
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2656
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2657
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2658
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2659
+ value: z.ZodOptional<z.ZodNumber>;
2660
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2661
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2662
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2663
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2664
+ 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>;
2665
+ 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>>;
2666
+ }, "strip", z.ZodTypeAny, {
2667
+ start: Date;
2668
+ end?: Date | undefined;
2669
+ }, {
2670
+ start: string | Date;
2671
+ end?: string | Date | undefined;
2672
+ }>, {
2673
+ start: Date;
2674
+ end?: Date | undefined;
2675
+ }, {
2676
+ start: string | Date;
2677
+ end?: string | Date | undefined;
2678
+ }>>;
2679
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2680
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2681
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2682
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2683
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2684
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2685
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2686
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2687
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2688
+ }, "strip", z.ZodTypeAny, {
2689
+ name?: string | undefined;
2690
+ }, {
2691
+ name?: string | undefined;
2692
+ }>>>;
2693
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2694
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2695
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2696
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2697
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2698
+ }, z.ZodTypeAny, "passthrough">)[];
2699
+ metadata?: {
2700
+ page: number;
2701
+ size: number;
2702
+ totalElements: number;
2703
+ totalPages: number;
2704
+ } | undefined;
2705
+ } | undefined;
2706
+ };
2707
+ meta: object;
2708
+ }>;
2709
+ getUserCoupons: import("@trpc/server").TRPCQueryProcedure<{
2710
+ input: {
2711
+ user?: string | mongoose.Types.ObjectId | undefined;
2712
+ page?: number | undefined;
2713
+ size?: number | undefined;
2714
+ };
2715
+ output: {
2716
+ available: Array<import("@typegoose/typegoose").DocumentType<import("@lyxa.ai/core/dist/libraries/mongo/models").Coupon>>;
2717
+ used: Array<import("@typegoose/typegoose").DocumentType<import("@lyxa.ai/core/dist/libraries/mongo/models").Coupon>>;
2718
+ expired: Array<import("@typegoose/typegoose").DocumentType<import("@lyxa.ai/core/dist/libraries/mongo/models").Coupon>>;
2719
+ };
2720
+ meta: object;
2721
+ }>;
2722
+ getUserCouponList: import("@trpc/server").TRPCQueryProcedure<{
2723
+ input: {
2724
+ search?: {
2725
+ searchKey: string;
2726
+ searchFields?: string[] | undefined;
2727
+ } | undefined;
2728
+ sort?: Record<string, 1 | -1> | undefined;
2729
+ page?: number | undefined;
2730
+ select?: Record<string, 0 | 1> | undefined;
2731
+ size?: number | undefined;
2732
+ populate?: any;
2733
+ query?: Record<string, any> | undefined;
2734
+ } | undefined;
2735
+ output: import("@lyxa.ai/core/dist/utilities/validation").PaginatedResponse<z.objectOutputType<{
2736
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
2737
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2738
+ value: z.ZodOptional<z.ZodNumber>;
2739
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2740
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2741
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2742
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2743
+ 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>;
2744
+ 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>>;
2745
+ }, "strip", z.ZodTypeAny, {
2746
+ start: Date;
2747
+ end?: Date | undefined;
2748
+ }, {
2749
+ start: string | Date;
2750
+ end?: string | Date | undefined;
2751
+ }>, {
2752
+ start: Date;
2753
+ end?: Date | undefined;
2754
+ }, {
2755
+ start: string | Date;
2756
+ end?: string | Date | undefined;
2757
+ }>>;
2758
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2759
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2760
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2761
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2762
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2763
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2764
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2765
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2766
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2767
+ }, "strip", z.ZodTypeAny, {
2768
+ name?: string | undefined;
2769
+ }, {
2770
+ name?: string | undefined;
2771
+ }>>>;
2772
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2773
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2774
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2775
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2776
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2777
+ }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
2778
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
2779
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
2780
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2781
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2782
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2783
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2784
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2785
+ }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
2786
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
2787
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2788
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2789
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2790
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2791
+ value: z.ZodOptional<z.ZodNumber>;
2792
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2793
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2794
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2795
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2796
+ 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>;
2797
+ 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>>;
2798
+ }, "strip", z.ZodTypeAny, {
2799
+ start: Date;
2800
+ end?: Date | undefined;
2801
+ }, {
2802
+ start: string | Date;
2803
+ end?: string | Date | undefined;
2804
+ }>, {
2805
+ start: Date;
2806
+ end?: Date | undefined;
2807
+ }, {
2808
+ start: string | Date;
2809
+ end?: string | Date | undefined;
2810
+ }>>;
2811
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2812
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2813
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2814
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2815
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2816
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2817
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2818
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2819
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2820
+ }, "strip", z.ZodTypeAny, {
2821
+ name?: string | undefined;
2822
+ }, {
2823
+ name?: string | undefined;
2824
+ }>>>;
2825
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2826
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2827
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2828
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2829
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2830
+ }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
2831
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
2832
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2833
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2834
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2835
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2836
+ value: z.ZodOptional<z.ZodNumber>;
2837
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2838
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2839
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2840
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2841
+ 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>;
2842
+ 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>>;
2843
+ }, "strip", z.ZodTypeAny, {
2844
+ start: Date;
2845
+ end?: Date | undefined;
2846
+ }, {
2847
+ start: string | Date;
2848
+ end?: string | Date | undefined;
2849
+ }>, {
2850
+ start: Date;
2851
+ end?: Date | undefined;
2852
+ }, {
2853
+ start: string | Date;
2854
+ end?: string | Date | undefined;
2855
+ }>>;
2856
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2857
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2858
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2859
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2860
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2861
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2862
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2863
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2864
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2865
+ }, "strip", z.ZodTypeAny, {
2866
+ name?: string | undefined;
2867
+ }, {
2868
+ name?: string | undefined;
2869
+ }>>>;
2870
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2871
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2872
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2873
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2874
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2875
+ }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
2876
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
2877
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
2878
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2879
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2880
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2881
+ value: z.ZodOptional<z.ZodNumber>;
2882
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2883
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2884
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2885
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2886
+ 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>;
2887
+ 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>>;
2888
+ }, "strip", z.ZodTypeAny, {
2889
+ start: Date;
2890
+ end?: Date | undefined;
2891
+ }, {
2892
+ start: string | Date;
2893
+ end?: string | Date | undefined;
2894
+ }>, {
2895
+ start: Date;
2896
+ end?: Date | undefined;
2897
+ }, {
2898
+ start: string | Date;
2899
+ end?: string | Date | undefined;
2900
+ }>>;
2901
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2902
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2903
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2904
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2905
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2906
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2907
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2908
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2909
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2910
+ }, "strip", z.ZodTypeAny, {
2911
+ name?: string | undefined;
2912
+ }, {
2913
+ name?: string | undefined;
2914
+ }>>>;
2915
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2916
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2917
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2918
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2919
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2920
+ }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
2921
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
2922
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2923
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
2924
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
2925
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
2926
+ value: z.ZodOptional<z.ZodNumber>;
2927
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2928
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2929
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2930
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2931
+ 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>;
2932
+ 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>>;
2933
+ }, "strip", z.ZodTypeAny, {
2934
+ start: Date;
2935
+ end?: Date | undefined;
2936
+ }, {
2937
+ start: string | Date;
2938
+ end?: string | Date | undefined;
2939
+ }>, {
2940
+ start: Date;
2941
+ end?: Date | undefined;
2942
+ }, {
2943
+ start: string | Date;
2944
+ end?: string | Date | undefined;
2945
+ }>>;
2946
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2947
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2948
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2949
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2950
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
2951
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
2952
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
2953
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
2954
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2955
+ }, "strip", z.ZodTypeAny, {
2956
+ name?: string | undefined;
2957
+ }, {
2958
+ name?: string | undefined;
2959
+ }>>>;
2960
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2961
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
2962
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
2963
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2964
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
2965
+ }, z.ZodTypeAny, "passthrough">>;
2966
+ meta: object;
2967
+ }>;
2968
+ validateCoupon: import("@trpc/server").TRPCQueryProcedure<{
2969
+ input: {
2970
+ shop: string | mongoose.Types.ObjectId;
2971
+ user: string | mongoose.Types.ObjectId;
2972
+ amountBeforeCoupon: number;
2973
+ secondaryAmountBeforeCoupon: number;
2974
+ coupon?: string | undefined;
2975
+ };
2976
+ output: {
2977
+ message: string;
2978
+ success: boolean;
2979
+ data?: {
2980
+ isValid?: boolean | undefined;
2981
+ amountAfterCoupon?: number | undefined;
2982
+ secondaryAmountAfterCoupon?: number | undefined;
2983
+ discountAmount?: number | undefined;
2984
+ secondaryDiscountAmount?: number | undefined;
2985
+ discountCut?: {
2986
+ companyCut?: number | undefined;
2987
+ secondaryCompanyCut?: number | undefined;
2988
+ shopCut?: number | undefined;
2989
+ secondaryShopCut?: number | undefined;
2990
+ } | undefined;
2991
+ } | {
2992
+ documents: {
2993
+ isValid?: boolean | undefined;
2994
+ amountAfterCoupon?: number | undefined;
2995
+ secondaryAmountAfterCoupon?: number | undefined;
2996
+ discountAmount?: number | undefined;
2997
+ secondaryDiscountAmount?: number | undefined;
2998
+ discountCut?: {
2999
+ companyCut?: number | undefined;
3000
+ secondaryCompanyCut?: number | undefined;
3001
+ shopCut?: number | undefined;
3002
+ secondaryShopCut?: number | undefined;
3003
+ } | undefined;
3004
+ }[];
3005
+ metadata?: {
3006
+ page: number;
3007
+ size: number;
3008
+ totalElements: number;
3009
+ totalPages: number;
3010
+ } | undefined;
3011
+ } | undefined;
3012
+ };
3013
+ meta: object;
3014
+ }>;
3015
+ createReferralCodeForUser: import("@trpc/server").TRPCMutationProcedure<{
3016
+ input: {
3017
+ user?: string | mongoose.Types.ObjectId | undefined;
3018
+ page?: number | undefined;
3019
+ size?: number | undefined;
3020
+ };
3021
+ output: import("@typegoose/typegoose").DocumentType<import("@lyxa.ai/core/dist/libraries/mongo/models").ReferralCodeCoupon>;
3022
+ meta: object;
3023
+ }>;
3024
+ getReferralCodeCoupon: import("@trpc/server").TRPCQueryProcedure<{
3025
+ input: void;
3026
+ output: {
3027
+ code: string;
3028
+ text: string;
3029
+ };
3030
+ meta: object;
3031
+ }>;
3032
+ addCouponToUser: import("@trpc/server").TRPCMutationProcedure<{
3033
+ input: {
3034
+ couponCode: string;
3035
+ };
3036
+ output: import("@typegoose/typegoose").DocumentType<import("@lyxa.ai/core/dist/libraries/mongo/models").Coupon>;
3037
+ meta: object;
3038
+ }>;
3039
+ getShareableLink: import("@trpc/server").TRPCQueryProcedure<{
3040
+ input: string;
3041
+ output: {
3042
+ message: string;
3043
+ success: boolean;
3044
+ data?: {
3045
+ link: string;
3046
+ message: string;
3047
+ } | {
3048
+ documents: {
3049
+ link: string;
3050
+ message: string;
3051
+ }[];
3052
+ metadata?: {
3053
+ page: number;
3054
+ size: number;
3055
+ totalElements: number;
3056
+ totalPages: number;
3057
+ } | undefined;
3058
+ } | undefined;
3059
+ };
3060
+ meta: object;
3061
+ }>;
3062
+ }>>;
3063
+ //# sourceMappingURL=coupon.router.d.ts.map