@lyxa.ai/marketing 1.0.14 → 1.0.15

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