@lyxa.ai/marketing 1.0.42 → 1.0.43

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 (184) hide show
  1. package/dist/lib/event/event-initializations.d.ts.map +1 -1
  2. package/dist/lib/event/event-initializations.js +1 -0
  3. package/dist/lib/event/event-initializations.js.map +1 -1
  4. package/dist/lib/event/event-listeners/event-listeners.d.ts +1 -0
  5. package/dist/lib/event/event-listeners/event-listeners.d.ts.map +1 -1
  6. package/dist/lib/event/event-listeners/event-listeners.js +52 -0
  7. package/dist/lib/event/event-listeners/event-listeners.js.map +1 -1
  8. package/dist/lib/event/events/marketing-product-seed.event.d.ts +17 -0
  9. package/dist/lib/event/events/marketing-product-seed.event.d.ts.map +1 -0
  10. package/dist/lib/event/events/marketing-product-seed.event.js +12 -0
  11. package/dist/lib/event/events/marketing-product-seed.event.js.map +1 -0
  12. package/dist/lib/index.d.ts +165 -83
  13. package/dist/lib/index.d.ts.map +1 -1
  14. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +116 -0
  15. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  16. package/dist/lib/modules/coupon/routers/coupon.router.js +33 -1
  17. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
  18. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts +32 -0
  19. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -0
  20. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js +503 -0
  21. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js.map +1 -0
  22. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +407 -1
  23. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  24. package/dist/lib/modules/coupon/validations/coupon.validation.js +39 -1
  25. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
  26. package/dist/lib/modules/coupon/validations/create-coupon.validation.d.ts +1118 -0
  27. package/dist/lib/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -0
  28. package/dist/lib/modules/coupon/validations/create-coupon.validation.js +13 -0
  29. package/dist/lib/modules/coupon/validations/create-coupon.validation.js.map +1 -0
  30. package/dist/lib/modules/coupon/validations/index.d.ts +1 -0
  31. package/dist/lib/modules/coupon/validations/index.d.ts.map +1 -1
  32. package/dist/lib/modules/coupon/validations/index.js +1 -0
  33. package/dist/lib/modules/coupon/validations/index.js.map +1 -1
  34. package/dist/lib/modules/limited-time-offer/campaign/campaign.router.d.ts +29 -72
  35. package/dist/lib/modules/limited-time-offer/campaign/campaign.router.d.ts.map +1 -1
  36. package/dist/lib/modules/limited-time-offer/campaign/campaign.router.js +3 -16
  37. package/dist/lib/modules/limited-time-offer/campaign/campaign.router.js.map +1 -1
  38. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts +36 -0
  39. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts.map +1 -0
  40. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.js +48 -0
  41. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.js.map +1 -0
  42. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts +22 -0
  43. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts.map +1 -0
  44. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.js +131 -0
  45. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.js.map +1 -0
  46. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +78 -78
  47. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +1 -2
  48. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts.map +1 -1
  49. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.js +6 -11
  50. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.js.map +1 -1
  51. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts +16 -51
  52. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts.map +1 -1
  53. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.js +33 -156
  54. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.js.map +1 -1
  55. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.builder.d.ts +8 -0
  56. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.builder.d.ts.map +1 -0
  57. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.builder.js +13 -0
  58. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.builder.js.map +1 -0
  59. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.repository.d.ts +14 -0
  60. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.repository.d.ts.map +1 -0
  61. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.repository.js +77 -0
  62. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.repository.js.map +1 -0
  63. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.service.d.ts +1 -2
  64. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.service.d.ts.map +1 -1
  65. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.service.js +19 -26
  66. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.service.js.map +1 -1
  67. package/dist/lib/modules/limited-time-offer/config/limited-time-offer.router.d.ts.map +1 -1
  68. package/dist/lib/modules/limited-time-offer/config/limited-time-offer.router.js.map +1 -1
  69. package/dist/lib/modules/limited-time-offer/limited-time-offer.router.d.ts +35 -78
  70. package/dist/lib/modules/limited-time-offer/limited-time-offer.router.d.ts.map +1 -1
  71. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +53 -0
  72. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts.map +1 -0
  73. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js +55 -0
  74. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js.map +1 -0
  75. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts +18 -0
  76. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts.map +1 -0
  77. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.js +126 -0
  78. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.js.map +1 -0
  79. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts +6 -6
  80. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts.map +1 -1
  81. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.js +1 -2
  82. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.js.map +1 -1
  83. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts +1 -0
  84. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts.map +1 -0
  85. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.js +2 -0
  86. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.js.map +1 -0
  87. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +24 -24
  88. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts +3 -1
  89. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts.map +1 -1
  90. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.js +13 -38
  91. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.js.map +1 -1
  92. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +19 -8
  93. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts.map +1 -1
  94. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.js +19 -27
  95. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.js.map +1 -1
  96. package/dist/lib/modules/marketing/routers/marketing.router.d.ts +12 -3
  97. package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  98. package/dist/lib/modules/marketing/routers/marketing.router.js +7 -0
  99. package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -1
  100. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
  101. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js +11 -9
  102. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js.map +1 -1
  103. package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
  104. package/dist/lib/modules/marketing/services/discount-marketing.service.js +15 -13
  105. package/dist/lib/modules/marketing/services/discount-marketing.service.js.map +1 -1
  106. package/dist/lib/modules/marketing/services/marketing.service.d.ts +1 -0
  107. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
  108. package/dist/lib/modules/marketing/services/marketing.service.js +57 -7
  109. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
  110. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts +11 -0
  111. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  112. package/dist/lib/modules/marketing/services/product-marketing.service.js +23 -0
  113. package/dist/lib/modules/marketing/services/product-marketing.service.js.map +1 -1
  114. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -1
  115. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js +6 -31
  116. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js.map +1 -1
  117. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +2 -2
  118. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
  119. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +2 -2
  120. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +4 -4
  121. package/dist/types/event/event-initializations.d.ts.map +1 -1
  122. package/dist/types/event/event-listeners/event-listeners.d.ts +1 -0
  123. package/dist/types/event/event-listeners/event-listeners.d.ts.map +1 -1
  124. package/dist/types/event/events/marketing-product-seed.event.d.ts +17 -0
  125. package/dist/types/event/events/marketing-product-seed.event.d.ts.map +1 -0
  126. package/dist/types/index.d.ts +165 -83
  127. package/dist/types/index.d.ts.map +1 -1
  128. package/dist/types/modules/coupon/routers/coupon.router.d.ts +116 -0
  129. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  130. package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts +32 -0
  131. package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -0
  132. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +407 -1
  133. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  134. package/dist/types/modules/coupon/validations/create-coupon.validation.d.ts +1118 -0
  135. package/dist/types/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -0
  136. package/dist/types/modules/coupon/validations/index.d.ts +1 -0
  137. package/dist/types/modules/coupon/validations/index.d.ts.map +1 -1
  138. package/dist/types/modules/limited-time-offer/campaign/campaign.router.d.ts +29 -72
  139. package/dist/types/modules/limited-time-offer/campaign/campaign.router.d.ts.map +1 -1
  140. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts +36 -0
  141. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts.map +1 -0
  142. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts +22 -0
  143. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts.map +1 -0
  144. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +78 -78
  145. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +1 -2
  146. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts.map +1 -1
  147. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts +16 -51
  148. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts.map +1 -1
  149. package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.builder.d.ts +8 -0
  150. package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.builder.d.ts.map +1 -0
  151. package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.repository.d.ts +14 -0
  152. package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.repository.d.ts.map +1 -0
  153. package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.service.d.ts +1 -2
  154. package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.service.d.ts.map +1 -1
  155. package/dist/types/modules/limited-time-offer/config/limited-time-offer.router.d.ts.map +1 -1
  156. package/dist/types/modules/limited-time-offer/limited-time-offer.router.d.ts +35 -78
  157. package/dist/types/modules/limited-time-offer/limited-time-offer.router.d.ts.map +1 -1
  158. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +53 -0
  159. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts.map +1 -0
  160. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts +18 -0
  161. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts.map +1 -0
  162. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts +6 -6
  163. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts.map +1 -1
  164. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +24 -24
  165. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts +3 -1
  166. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts.map +1 -1
  167. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +19 -8
  168. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts.map +1 -1
  169. package/dist/types/modules/marketing/routers/marketing.router.d.ts +12 -3
  170. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  171. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
  172. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
  173. package/dist/types/modules/marketing/services/marketing.service.d.ts +1 -0
  174. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  175. package/dist/types/modules/marketing/services/product-marketing.service.d.ts +11 -0
  176. package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  177. package/dist/types/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -1
  178. package/dist/types/modules/marketing/validations/marketing.validation.d.ts +2 -2
  179. package/dist/types/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
  180. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +2 -2
  181. package/dist/types/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +4 -4
  182. package/package.json +2 -2
  183. package/dist/types/events/event-initializations.d.ts +0 -2
  184. package/dist/types/events/event-initializations.d.ts.map +0 -1
@@ -0,0 +1,1118 @@
1
+ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodObject<{
2
+ couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>;
3
+ valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
4
+ value: import("zod").ZodNumber;
5
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
6
+ maxDiscountLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
7
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
8
+ isMaxDiscountLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
9
+ duration: import("zod").ZodEffects<import("zod").ZodObject<{
10
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
11
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
12
+ }, "strip", import("zod").ZodTypeAny, {
13
+ start: Date;
14
+ end?: Date | undefined;
15
+ }, {
16
+ start: string | Date;
17
+ end?: string | Date | undefined;
18
+ }>, {
19
+ start: Date;
20
+ end?: Date | undefined;
21
+ }, {
22
+ start: string | Date;
23
+ end?: string | Date | undefined;
24
+ }>;
25
+ spendLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
26
+ isSpendLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
27
+ totalOrderLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
28
+ isTotalOrderLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
29
+ minOrderValue: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>;
30
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodNumber>;
31
+ isMinOrderValueEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
32
+ forNewUserOnly: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
33
+ status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
34
+ expirationReason: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
35
+ referringUser: import("zod").ZodOptional<import("zod").ZodObject<{
36
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
37
+ }, "strip", import("zod").ZodTypeAny, {
38
+ name?: string | undefined;
39
+ }, {
40
+ name?: string | undefined;
41
+ }>>;
42
+ code: import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
43
+ orderLimitPerUser: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
44
+ isOrderLimitPerUserEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
45
+ createdBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
46
+ isExpired: import("zod").ZodOptional<import("zod").ZodBoolean>;
47
+ }, "strict", import("zod").ZodTypeAny, {
48
+ code: string;
49
+ value: number;
50
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
51
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
52
+ maxDiscountLimit: number | null;
53
+ isMaxDiscountLimitEnabled: boolean;
54
+ duration: {
55
+ start: Date;
56
+ end?: Date | undefined;
57
+ };
58
+ spendLimit: number | null;
59
+ isSpendLimitEnabled: boolean;
60
+ totalOrderLimit: number | null;
61
+ isTotalOrderLimitEnabled: boolean;
62
+ minOrderValue: number | null;
63
+ isMinOrderValueEnabled: boolean;
64
+ forNewUserOnly: boolean;
65
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
66
+ orderLimitPerUser: number | null;
67
+ isOrderLimitPerUserEnabled: boolean;
68
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
69
+ secondaryCurrencyValue?: number | undefined;
70
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
71
+ secondaryCurrencyMinOrderValue?: number | undefined;
72
+ referringUser?: {
73
+ name?: string | undefined;
74
+ } | undefined;
75
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
76
+ isExpired?: boolean | undefined;
77
+ }, {
78
+ code: string;
79
+ value: number;
80
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
81
+ duration: {
82
+ start: string | Date;
83
+ end?: string | Date | undefined;
84
+ };
85
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
86
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
87
+ secondaryCurrencyValue?: number | undefined;
88
+ maxDiscountLimit?: number | null | undefined;
89
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
90
+ isMaxDiscountLimitEnabled?: boolean | undefined;
91
+ spendLimit?: number | null | undefined;
92
+ isSpendLimitEnabled?: boolean | undefined;
93
+ totalOrderLimit?: number | null | undefined;
94
+ isTotalOrderLimitEnabled?: boolean | undefined;
95
+ minOrderValue?: number | null | undefined;
96
+ secondaryCurrencyMinOrderValue?: number | undefined;
97
+ isMinOrderValueEnabled?: boolean | undefined;
98
+ forNewUserOnly?: boolean | undefined;
99
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
100
+ referringUser?: {
101
+ name?: string | undefined;
102
+ } | undefined;
103
+ orderLimitPerUser?: number | null | undefined;
104
+ isOrderLimitPerUserEnabled?: boolean | undefined;
105
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
106
+ isExpired?: boolean | undefined;
107
+ }>, import("zod").ZodObject<{
108
+ couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>;
109
+ orderLimitPerUser: import("zod").ZodLiteral<1>;
110
+ referralUser: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
111
+ code: import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
112
+ isOrderLimitPerUserEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
113
+ createdBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
114
+ isExpired: import("zod").ZodOptional<import("zod").ZodBoolean>;
115
+ }, "strict", import("zod").ZodTypeAny, {
116
+ code: string;
117
+ orderLimitPerUser: 1;
118
+ isOrderLimitPerUserEnabled: boolean;
119
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
120
+ referralUser: import("mongoose").Types.ObjectId;
121
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
122
+ isExpired?: boolean | undefined;
123
+ }, {
124
+ code: string;
125
+ orderLimitPerUser: 1;
126
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
127
+ referralUser: string | import("mongoose").Types.ObjectId;
128
+ isOrderLimitPerUserEnabled?: boolean | undefined;
129
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
130
+ isExpired?: boolean | undefined;
131
+ }>, import("zod").ZodObject<{
132
+ couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>;
133
+ user: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
134
+ referralCodeUsedBy: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
135
+ referralCodeUsedOnOrder: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
136
+ valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
137
+ value: import("zod").ZodNumber;
138
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
139
+ maxDiscountLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
140
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
141
+ isMaxDiscountLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
142
+ duration: import("zod").ZodEffects<import("zod").ZodObject<{
143
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
144
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
145
+ }, "strip", import("zod").ZodTypeAny, {
146
+ start: Date;
147
+ end?: Date | undefined;
148
+ }, {
149
+ start: string | Date;
150
+ end?: string | Date | undefined;
151
+ }>, {
152
+ start: Date;
153
+ end?: Date | undefined;
154
+ }, {
155
+ start: string | Date;
156
+ end?: string | Date | undefined;
157
+ }>;
158
+ spendLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
159
+ isSpendLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
160
+ totalOrderLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
161
+ isTotalOrderLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
162
+ minOrderValue: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>;
163
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodNumber>;
164
+ isMinOrderValueEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
165
+ forNewUserOnly: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
166
+ status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
167
+ expirationReason: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
168
+ referringUser: import("zod").ZodOptional<import("zod").ZodObject<{
169
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
170
+ }, "strip", import("zod").ZodTypeAny, {
171
+ name?: string | undefined;
172
+ }, {
173
+ name?: string | undefined;
174
+ }>>;
175
+ code: import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
176
+ orderLimitPerUser: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
177
+ isOrderLimitPerUserEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
178
+ createdBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
179
+ isExpired: import("zod").ZodOptional<import("zod").ZodBoolean>;
180
+ }, "strict", import("zod").ZodTypeAny, {
181
+ code: string;
182
+ value: number;
183
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
184
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
185
+ maxDiscountLimit: number | null;
186
+ isMaxDiscountLimitEnabled: boolean;
187
+ duration: {
188
+ start: Date;
189
+ end?: Date | undefined;
190
+ };
191
+ spendLimit: number | null;
192
+ isSpendLimitEnabled: boolean;
193
+ totalOrderLimit: number | null;
194
+ isTotalOrderLimitEnabled: boolean;
195
+ minOrderValue: number | null;
196
+ isMinOrderValueEnabled: boolean;
197
+ forNewUserOnly: boolean;
198
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
199
+ orderLimitPerUser: number | null;
200
+ isOrderLimitPerUserEnabled: boolean;
201
+ user: import("mongoose").Types.ObjectId;
202
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
203
+ referralCodeUsedBy: import("mongoose").Types.ObjectId;
204
+ referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
205
+ secondaryCurrencyValue?: number | undefined;
206
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
207
+ secondaryCurrencyMinOrderValue?: number | undefined;
208
+ referringUser?: {
209
+ name?: string | undefined;
210
+ } | undefined;
211
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
212
+ isExpired?: boolean | undefined;
213
+ }, {
214
+ code: string;
215
+ value: number;
216
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
217
+ duration: {
218
+ start: string | Date;
219
+ end?: string | Date | undefined;
220
+ };
221
+ user: string | import("mongoose").Types.ObjectId;
222
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
223
+ referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
224
+ referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
225
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
226
+ secondaryCurrencyValue?: number | undefined;
227
+ maxDiscountLimit?: number | null | undefined;
228
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
229
+ isMaxDiscountLimitEnabled?: boolean | undefined;
230
+ spendLimit?: number | null | undefined;
231
+ isSpendLimitEnabled?: boolean | undefined;
232
+ totalOrderLimit?: number | null | undefined;
233
+ isTotalOrderLimitEnabled?: boolean | undefined;
234
+ minOrderValue?: number | null | undefined;
235
+ secondaryCurrencyMinOrderValue?: number | undefined;
236
+ isMinOrderValueEnabled?: boolean | undefined;
237
+ forNewUserOnly?: boolean | undefined;
238
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
239
+ referringUser?: {
240
+ name?: string | undefined;
241
+ } | undefined;
242
+ orderLimitPerUser?: number | null | undefined;
243
+ isOrderLimitPerUserEnabled?: boolean | undefined;
244
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
245
+ isExpired?: boolean | undefined;
246
+ }>, import("zod").ZodObject<{
247
+ couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>;
248
+ itemTypes: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
249
+ shops: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
250
+ isShopCoverExpenses: import("zod").ZodDefault<import("zod").ZodBoolean>;
251
+ firstOrderOnly: import("zod").ZodDefault<import("zod").ZodBoolean>;
252
+ valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
253
+ value: import("zod").ZodNumber;
254
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
255
+ maxDiscountLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
256
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
257
+ isMaxDiscountLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
258
+ duration: import("zod").ZodEffects<import("zod").ZodObject<{
259
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
260
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
261
+ }, "strip", import("zod").ZodTypeAny, {
262
+ start: Date;
263
+ end?: Date | undefined;
264
+ }, {
265
+ start: string | Date;
266
+ end?: string | Date | undefined;
267
+ }>, {
268
+ start: Date;
269
+ end?: Date | undefined;
270
+ }, {
271
+ start: string | Date;
272
+ end?: string | Date | undefined;
273
+ }>;
274
+ spendLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
275
+ isSpendLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
276
+ totalOrderLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
277
+ isTotalOrderLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
278
+ minOrderValue: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>;
279
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodNumber>;
280
+ isMinOrderValueEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
281
+ forNewUserOnly: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
282
+ status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
283
+ expirationReason: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
284
+ referringUser: import("zod").ZodOptional<import("zod").ZodObject<{
285
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
286
+ }, "strip", import("zod").ZodTypeAny, {
287
+ name?: string | undefined;
288
+ }, {
289
+ name?: string | undefined;
290
+ }>>;
291
+ code: import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
292
+ orderLimitPerUser: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
293
+ isOrderLimitPerUserEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
294
+ createdBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
295
+ isExpired: import("zod").ZodOptional<import("zod").ZodBoolean>;
296
+ }, "strict", import("zod").ZodTypeAny, {
297
+ code: string;
298
+ value: number;
299
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
300
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
301
+ maxDiscountLimit: number | null;
302
+ isMaxDiscountLimitEnabled: boolean;
303
+ duration: {
304
+ start: Date;
305
+ end?: Date | undefined;
306
+ };
307
+ spendLimit: number | null;
308
+ isSpendLimitEnabled: boolean;
309
+ totalOrderLimit: number | null;
310
+ isTotalOrderLimitEnabled: boolean;
311
+ minOrderValue: number | null;
312
+ isMinOrderValueEnabled: boolean;
313
+ forNewUserOnly: boolean;
314
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
315
+ orderLimitPerUser: number | null;
316
+ isOrderLimitPerUserEnabled: boolean;
317
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
318
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
319
+ shops: import("mongoose").Types.ObjectId[];
320
+ isShopCoverExpenses: boolean;
321
+ firstOrderOnly: boolean;
322
+ secondaryCurrencyValue?: number | undefined;
323
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
324
+ secondaryCurrencyMinOrderValue?: number | undefined;
325
+ referringUser?: {
326
+ name?: string | undefined;
327
+ } | undefined;
328
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
329
+ isExpired?: boolean | undefined;
330
+ }, {
331
+ code: string;
332
+ value: number;
333
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
334
+ duration: {
335
+ start: string | Date;
336
+ end?: string | Date | undefined;
337
+ };
338
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
339
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
340
+ secondaryCurrencyValue?: number | undefined;
341
+ maxDiscountLimit?: number | null | undefined;
342
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
343
+ isMaxDiscountLimitEnabled?: boolean | undefined;
344
+ spendLimit?: number | null | undefined;
345
+ isSpendLimitEnabled?: boolean | undefined;
346
+ totalOrderLimit?: number | null | undefined;
347
+ isTotalOrderLimitEnabled?: boolean | undefined;
348
+ minOrderValue?: number | null | undefined;
349
+ secondaryCurrencyMinOrderValue?: number | undefined;
350
+ isMinOrderValueEnabled?: boolean | undefined;
351
+ forNewUserOnly?: boolean | undefined;
352
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
353
+ referringUser?: {
354
+ name?: string | undefined;
355
+ } | undefined;
356
+ orderLimitPerUser?: number | null | undefined;
357
+ isOrderLimitPerUserEnabled?: boolean | undefined;
358
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
359
+ isExpired?: boolean | undefined;
360
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
361
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
362
+ isShopCoverExpenses?: boolean | undefined;
363
+ firstOrderOnly?: boolean | undefined;
364
+ }>, import("zod").ZodObject<{
365
+ couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>;
366
+ shop: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
367
+ isShopCoverExpenses: import("zod").ZodDefault<import("zod").ZodBoolean>;
368
+ firstOrderOnly: import("zod").ZodDefault<import("zod").ZodBoolean>;
369
+ valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
370
+ value: import("zod").ZodNumber;
371
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
372
+ maxDiscountLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
373
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
374
+ isMaxDiscountLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
375
+ duration: import("zod").ZodEffects<import("zod").ZodObject<{
376
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
377
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
378
+ }, "strip", import("zod").ZodTypeAny, {
379
+ start: Date;
380
+ end?: Date | undefined;
381
+ }, {
382
+ start: string | Date;
383
+ end?: string | Date | undefined;
384
+ }>, {
385
+ start: Date;
386
+ end?: Date | undefined;
387
+ }, {
388
+ start: string | Date;
389
+ end?: string | Date | undefined;
390
+ }>;
391
+ spendLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
392
+ isSpendLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
393
+ totalOrderLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
394
+ isTotalOrderLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
395
+ minOrderValue: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>;
396
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodNumber>;
397
+ isMinOrderValueEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
398
+ forNewUserOnly: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
399
+ status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
400
+ expirationReason: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
401
+ referringUser: import("zod").ZodOptional<import("zod").ZodObject<{
402
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
403
+ }, "strip", import("zod").ZodTypeAny, {
404
+ name?: string | undefined;
405
+ }, {
406
+ name?: string | undefined;
407
+ }>>;
408
+ code: import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
409
+ orderLimitPerUser: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
410
+ isOrderLimitPerUserEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
411
+ createdBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
412
+ isExpired: import("zod").ZodOptional<import("zod").ZodBoolean>;
413
+ }, "strict", import("zod").ZodTypeAny, {
414
+ code: string;
415
+ value: number;
416
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
417
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
418
+ maxDiscountLimit: number | null;
419
+ isMaxDiscountLimitEnabled: boolean;
420
+ duration: {
421
+ start: Date;
422
+ end?: Date | undefined;
423
+ };
424
+ spendLimit: number | null;
425
+ isSpendLimitEnabled: boolean;
426
+ totalOrderLimit: number | null;
427
+ isTotalOrderLimitEnabled: boolean;
428
+ minOrderValue: number | null;
429
+ isMinOrderValueEnabled: boolean;
430
+ forNewUserOnly: boolean;
431
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
432
+ orderLimitPerUser: number | null;
433
+ isOrderLimitPerUserEnabled: boolean;
434
+ shop: import("mongoose").Types.ObjectId;
435
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
436
+ isShopCoverExpenses: boolean;
437
+ firstOrderOnly: boolean;
438
+ secondaryCurrencyValue?: number | undefined;
439
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
440
+ secondaryCurrencyMinOrderValue?: number | undefined;
441
+ referringUser?: {
442
+ name?: string | undefined;
443
+ } | undefined;
444
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
445
+ isExpired?: boolean | undefined;
446
+ }, {
447
+ code: string;
448
+ value: number;
449
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
450
+ duration: {
451
+ start: string | Date;
452
+ end?: string | Date | undefined;
453
+ };
454
+ shop: string | import("mongoose").Types.ObjectId;
455
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
456
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
457
+ secondaryCurrencyValue?: number | undefined;
458
+ maxDiscountLimit?: number | null | undefined;
459
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
460
+ isMaxDiscountLimitEnabled?: boolean | undefined;
461
+ spendLimit?: number | null | undefined;
462
+ isSpendLimitEnabled?: boolean | undefined;
463
+ totalOrderLimit?: number | null | undefined;
464
+ isTotalOrderLimitEnabled?: boolean | undefined;
465
+ minOrderValue?: number | null | undefined;
466
+ secondaryCurrencyMinOrderValue?: number | undefined;
467
+ isMinOrderValueEnabled?: boolean | undefined;
468
+ forNewUserOnly?: boolean | undefined;
469
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
470
+ referringUser?: {
471
+ name?: string | undefined;
472
+ } | undefined;
473
+ orderLimitPerUser?: number | null | undefined;
474
+ isOrderLimitPerUserEnabled?: boolean | undefined;
475
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
476
+ isExpired?: boolean | undefined;
477
+ isShopCoverExpenses?: boolean | undefined;
478
+ firstOrderOnly?: boolean | undefined;
479
+ }>, import("zod").ZodObject<{
480
+ couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>;
481
+ users: import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">;
482
+ itemTypes: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
483
+ shops: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
484
+ valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
485
+ value: import("zod").ZodNumber;
486
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
487
+ maxDiscountLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
488
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
489
+ isMaxDiscountLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
490
+ duration: import("zod").ZodEffects<import("zod").ZodObject<{
491
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
492
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
493
+ }, "strip", import("zod").ZodTypeAny, {
494
+ start: Date;
495
+ end?: Date | undefined;
496
+ }, {
497
+ start: string | Date;
498
+ end?: string | Date | undefined;
499
+ }>, {
500
+ start: Date;
501
+ end?: Date | undefined;
502
+ }, {
503
+ start: string | Date;
504
+ end?: string | Date | undefined;
505
+ }>;
506
+ spendLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
507
+ isSpendLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
508
+ totalOrderLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
509
+ isTotalOrderLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
510
+ minOrderValue: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>;
511
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodNumber>;
512
+ isMinOrderValueEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
513
+ forNewUserOnly: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
514
+ status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
515
+ expirationReason: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
516
+ referringUser: import("zod").ZodOptional<import("zod").ZodObject<{
517
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
518
+ }, "strip", import("zod").ZodTypeAny, {
519
+ name?: string | undefined;
520
+ }, {
521
+ name?: string | undefined;
522
+ }>>;
523
+ code: import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
524
+ orderLimitPerUser: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
525
+ isOrderLimitPerUserEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
526
+ createdBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
527
+ isExpired: import("zod").ZodOptional<import("zod").ZodBoolean>;
528
+ }, "strict", import("zod").ZodTypeAny, {
529
+ code: string;
530
+ value: number;
531
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
532
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
533
+ maxDiscountLimit: number | null;
534
+ isMaxDiscountLimitEnabled: boolean;
535
+ duration: {
536
+ start: Date;
537
+ end?: Date | undefined;
538
+ };
539
+ spendLimit: number | null;
540
+ isSpendLimitEnabled: boolean;
541
+ totalOrderLimit: number | null;
542
+ isTotalOrderLimitEnabled: boolean;
543
+ minOrderValue: number | null;
544
+ isMinOrderValueEnabled: boolean;
545
+ forNewUserOnly: boolean;
546
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
547
+ orderLimitPerUser: number | null;
548
+ isOrderLimitPerUserEnabled: boolean;
549
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
550
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
551
+ shops: import("mongoose").Types.ObjectId[];
552
+ users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
553
+ secondaryCurrencyValue?: number | undefined;
554
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
555
+ secondaryCurrencyMinOrderValue?: number | undefined;
556
+ referringUser?: {
557
+ name?: string | undefined;
558
+ } | undefined;
559
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
560
+ isExpired?: boolean | undefined;
561
+ }, {
562
+ code: string;
563
+ value: number;
564
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
565
+ duration: {
566
+ start: string | Date;
567
+ end?: string | Date | undefined;
568
+ };
569
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
570
+ users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
571
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
572
+ secondaryCurrencyValue?: number | undefined;
573
+ maxDiscountLimit?: number | null | undefined;
574
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
575
+ isMaxDiscountLimitEnabled?: boolean | undefined;
576
+ spendLimit?: number | null | undefined;
577
+ isSpendLimitEnabled?: boolean | undefined;
578
+ totalOrderLimit?: number | null | undefined;
579
+ isTotalOrderLimitEnabled?: boolean | undefined;
580
+ minOrderValue?: number | null | undefined;
581
+ secondaryCurrencyMinOrderValue?: number | undefined;
582
+ isMinOrderValueEnabled?: boolean | undefined;
583
+ forNewUserOnly?: boolean | undefined;
584
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
585
+ referringUser?: {
586
+ name?: string | undefined;
587
+ } | undefined;
588
+ orderLimitPerUser?: number | null | undefined;
589
+ isOrderLimitPerUserEnabled?: boolean | undefined;
590
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
591
+ isExpired?: boolean | undefined;
592
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
593
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
594
+ }>, import("zod").ZodObject<{
595
+ couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>;
596
+ influencer: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
597
+ itemTypes: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
598
+ shops: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
599
+ valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
600
+ value: import("zod").ZodNumber;
601
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
602
+ maxDiscountLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
603
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
604
+ isMaxDiscountLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
605
+ duration: import("zod").ZodEffects<import("zod").ZodObject<{
606
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
607
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
608
+ }, "strip", import("zod").ZodTypeAny, {
609
+ start: Date;
610
+ end?: Date | undefined;
611
+ }, {
612
+ start: string | Date;
613
+ end?: string | Date | undefined;
614
+ }>, {
615
+ start: Date;
616
+ end?: Date | undefined;
617
+ }, {
618
+ start: string | Date;
619
+ end?: string | Date | undefined;
620
+ }>;
621
+ spendLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
622
+ isSpendLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
623
+ totalOrderLimit: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
624
+ isTotalOrderLimitEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
625
+ minOrderValue: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>;
626
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodNumber>;
627
+ isMinOrderValueEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
628
+ forNewUserOnly: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
629
+ status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
630
+ expirationReason: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
631
+ referringUser: import("zod").ZodOptional<import("zod").ZodObject<{
632
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
633
+ }, "strip", import("zod").ZodTypeAny, {
634
+ name?: string | undefined;
635
+ }, {
636
+ name?: string | undefined;
637
+ }>>;
638
+ code: import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>;
639
+ orderLimitPerUser: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>;
640
+ isOrderLimitPerUserEnabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
641
+ createdBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
642
+ isExpired: import("zod").ZodOptional<import("zod").ZodBoolean>;
643
+ }, "strict", import("zod").ZodTypeAny, {
644
+ code: string;
645
+ value: number;
646
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
647
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
648
+ maxDiscountLimit: number | null;
649
+ isMaxDiscountLimitEnabled: boolean;
650
+ duration: {
651
+ start: Date;
652
+ end?: Date | undefined;
653
+ };
654
+ spendLimit: number | null;
655
+ isSpendLimitEnabled: boolean;
656
+ totalOrderLimit: number | null;
657
+ isTotalOrderLimitEnabled: boolean;
658
+ minOrderValue: number | null;
659
+ isMinOrderValueEnabled: boolean;
660
+ forNewUserOnly: boolean;
661
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
662
+ orderLimitPerUser: number | null;
663
+ isOrderLimitPerUserEnabled: boolean;
664
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
665
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
666
+ shops: import("mongoose").Types.ObjectId[];
667
+ influencer: import("mongoose").Types.ObjectId;
668
+ secondaryCurrencyValue?: number | undefined;
669
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
670
+ secondaryCurrencyMinOrderValue?: number | undefined;
671
+ referringUser?: {
672
+ name?: string | undefined;
673
+ } | undefined;
674
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
675
+ isExpired?: boolean | undefined;
676
+ }, {
677
+ code: string;
678
+ value: number;
679
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
680
+ duration: {
681
+ start: string | Date;
682
+ end?: string | Date | undefined;
683
+ };
684
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
685
+ influencer: string | import("mongoose").Types.ObjectId;
686
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
687
+ secondaryCurrencyValue?: number | undefined;
688
+ maxDiscountLimit?: number | null | undefined;
689
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
690
+ isMaxDiscountLimitEnabled?: boolean | undefined;
691
+ spendLimit?: number | null | undefined;
692
+ isSpendLimitEnabled?: boolean | undefined;
693
+ totalOrderLimit?: number | null | undefined;
694
+ isTotalOrderLimitEnabled?: boolean | undefined;
695
+ minOrderValue?: number | null | undefined;
696
+ secondaryCurrencyMinOrderValue?: number | undefined;
697
+ isMinOrderValueEnabled?: boolean | undefined;
698
+ forNewUserOnly?: boolean | undefined;
699
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
700
+ referringUser?: {
701
+ name?: string | undefined;
702
+ } | undefined;
703
+ orderLimitPerUser?: number | null | undefined;
704
+ isOrderLimitPerUserEnabled?: boolean | undefined;
705
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
706
+ isExpired?: boolean | undefined;
707
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
708
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
709
+ }>]>, {
710
+ code: string;
711
+ value: number;
712
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
713
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
714
+ maxDiscountLimit: number | null;
715
+ isMaxDiscountLimitEnabled: boolean;
716
+ duration: {
717
+ start: Date;
718
+ end?: Date | undefined;
719
+ };
720
+ spendLimit: number | null;
721
+ isSpendLimitEnabled: boolean;
722
+ totalOrderLimit: number | null;
723
+ isTotalOrderLimitEnabled: boolean;
724
+ minOrderValue: number | null;
725
+ isMinOrderValueEnabled: boolean;
726
+ forNewUserOnly: boolean;
727
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
728
+ orderLimitPerUser: number | null;
729
+ isOrderLimitPerUserEnabled: boolean;
730
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
731
+ secondaryCurrencyValue?: number | undefined;
732
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
733
+ secondaryCurrencyMinOrderValue?: number | undefined;
734
+ referringUser?: {
735
+ name?: string | undefined;
736
+ } | undefined;
737
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
738
+ isExpired?: boolean | undefined;
739
+ } | {
740
+ code: string;
741
+ orderLimitPerUser: 1;
742
+ isOrderLimitPerUserEnabled: boolean;
743
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
744
+ referralUser: import("mongoose").Types.ObjectId;
745
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
746
+ isExpired?: boolean | undefined;
747
+ } | {
748
+ code: string;
749
+ value: number;
750
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
751
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
752
+ maxDiscountLimit: number | null;
753
+ isMaxDiscountLimitEnabled: boolean;
754
+ duration: {
755
+ start: Date;
756
+ end?: Date | undefined;
757
+ };
758
+ spendLimit: number | null;
759
+ isSpendLimitEnabled: boolean;
760
+ totalOrderLimit: number | null;
761
+ isTotalOrderLimitEnabled: boolean;
762
+ minOrderValue: number | null;
763
+ isMinOrderValueEnabled: boolean;
764
+ forNewUserOnly: boolean;
765
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
766
+ orderLimitPerUser: number | null;
767
+ isOrderLimitPerUserEnabled: boolean;
768
+ user: import("mongoose").Types.ObjectId;
769
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
770
+ referralCodeUsedBy: import("mongoose").Types.ObjectId;
771
+ referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
772
+ secondaryCurrencyValue?: number | undefined;
773
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
774
+ secondaryCurrencyMinOrderValue?: number | undefined;
775
+ referringUser?: {
776
+ name?: string | undefined;
777
+ } | undefined;
778
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
779
+ isExpired?: boolean | undefined;
780
+ } | {
781
+ code: string;
782
+ value: number;
783
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
784
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
785
+ maxDiscountLimit: number | null;
786
+ isMaxDiscountLimitEnabled: boolean;
787
+ duration: {
788
+ start: Date;
789
+ end?: Date | undefined;
790
+ };
791
+ spendLimit: number | null;
792
+ isSpendLimitEnabled: boolean;
793
+ totalOrderLimit: number | null;
794
+ isTotalOrderLimitEnabled: boolean;
795
+ minOrderValue: number | null;
796
+ isMinOrderValueEnabled: boolean;
797
+ forNewUserOnly: boolean;
798
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
799
+ orderLimitPerUser: number | null;
800
+ isOrderLimitPerUserEnabled: boolean;
801
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
802
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
803
+ shops: import("mongoose").Types.ObjectId[];
804
+ isShopCoverExpenses: boolean;
805
+ firstOrderOnly: boolean;
806
+ secondaryCurrencyValue?: number | undefined;
807
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
808
+ secondaryCurrencyMinOrderValue?: number | undefined;
809
+ referringUser?: {
810
+ name?: string | undefined;
811
+ } | undefined;
812
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
813
+ isExpired?: boolean | undefined;
814
+ } | {
815
+ code: string;
816
+ value: number;
817
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
818
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
819
+ maxDiscountLimit: number | null;
820
+ isMaxDiscountLimitEnabled: boolean;
821
+ duration: {
822
+ start: Date;
823
+ end?: Date | undefined;
824
+ };
825
+ spendLimit: number | null;
826
+ isSpendLimitEnabled: boolean;
827
+ totalOrderLimit: number | null;
828
+ isTotalOrderLimitEnabled: boolean;
829
+ minOrderValue: number | null;
830
+ isMinOrderValueEnabled: boolean;
831
+ forNewUserOnly: boolean;
832
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
833
+ orderLimitPerUser: number | null;
834
+ isOrderLimitPerUserEnabled: boolean;
835
+ shop: import("mongoose").Types.ObjectId;
836
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
837
+ isShopCoverExpenses: boolean;
838
+ firstOrderOnly: boolean;
839
+ secondaryCurrencyValue?: number | undefined;
840
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
841
+ secondaryCurrencyMinOrderValue?: number | undefined;
842
+ referringUser?: {
843
+ name?: string | undefined;
844
+ } | undefined;
845
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
846
+ isExpired?: boolean | undefined;
847
+ } | {
848
+ code: string;
849
+ value: number;
850
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
851
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
852
+ maxDiscountLimit: number | null;
853
+ isMaxDiscountLimitEnabled: boolean;
854
+ duration: {
855
+ start: Date;
856
+ end?: Date | undefined;
857
+ };
858
+ spendLimit: number | null;
859
+ isSpendLimitEnabled: boolean;
860
+ totalOrderLimit: number | null;
861
+ isTotalOrderLimitEnabled: boolean;
862
+ minOrderValue: number | null;
863
+ isMinOrderValueEnabled: boolean;
864
+ forNewUserOnly: boolean;
865
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
866
+ orderLimitPerUser: number | null;
867
+ isOrderLimitPerUserEnabled: boolean;
868
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
869
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
870
+ shops: import("mongoose").Types.ObjectId[];
871
+ users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
872
+ secondaryCurrencyValue?: number | undefined;
873
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
874
+ secondaryCurrencyMinOrderValue?: number | undefined;
875
+ referringUser?: {
876
+ name?: string | undefined;
877
+ } | undefined;
878
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
879
+ isExpired?: boolean | undefined;
880
+ } | {
881
+ code: string;
882
+ value: number;
883
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
884
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
885
+ maxDiscountLimit: number | null;
886
+ isMaxDiscountLimitEnabled: boolean;
887
+ duration: {
888
+ start: Date;
889
+ end?: Date | undefined;
890
+ };
891
+ spendLimit: number | null;
892
+ isSpendLimitEnabled: boolean;
893
+ totalOrderLimit: number | null;
894
+ isTotalOrderLimitEnabled: boolean;
895
+ minOrderValue: number | null;
896
+ isMinOrderValueEnabled: boolean;
897
+ forNewUserOnly: boolean;
898
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
899
+ orderLimitPerUser: number | null;
900
+ isOrderLimitPerUserEnabled: boolean;
901
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
902
+ itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
903
+ shops: import("mongoose").Types.ObjectId[];
904
+ influencer: import("mongoose").Types.ObjectId;
905
+ secondaryCurrencyValue?: number | undefined;
906
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
907
+ secondaryCurrencyMinOrderValue?: number | undefined;
908
+ referringUser?: {
909
+ name?: string | undefined;
910
+ } | undefined;
911
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
912
+ isExpired?: boolean | undefined;
913
+ }, {
914
+ code: string;
915
+ value: number;
916
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
917
+ duration: {
918
+ start: string | Date;
919
+ end?: string | Date | undefined;
920
+ };
921
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
922
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
923
+ secondaryCurrencyValue?: number | undefined;
924
+ maxDiscountLimit?: number | null | undefined;
925
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
926
+ isMaxDiscountLimitEnabled?: boolean | undefined;
927
+ spendLimit?: number | null | undefined;
928
+ isSpendLimitEnabled?: boolean | undefined;
929
+ totalOrderLimit?: number | null | undefined;
930
+ isTotalOrderLimitEnabled?: boolean | undefined;
931
+ minOrderValue?: number | null | undefined;
932
+ secondaryCurrencyMinOrderValue?: number | undefined;
933
+ isMinOrderValueEnabled?: boolean | undefined;
934
+ forNewUserOnly?: boolean | undefined;
935
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
936
+ referringUser?: {
937
+ name?: string | undefined;
938
+ } | undefined;
939
+ orderLimitPerUser?: number | null | undefined;
940
+ isOrderLimitPerUserEnabled?: boolean | undefined;
941
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
942
+ isExpired?: boolean | undefined;
943
+ } | {
944
+ code: string;
945
+ orderLimitPerUser: 1;
946
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE;
947
+ referralUser: string | import("mongoose").Types.ObjectId;
948
+ isOrderLimitPerUserEnabled?: boolean | undefined;
949
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
950
+ isExpired?: boolean | undefined;
951
+ } | {
952
+ code: string;
953
+ value: number;
954
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
955
+ duration: {
956
+ start: string | Date;
957
+ end?: string | Date | undefined;
958
+ };
959
+ user: string | import("mongoose").Types.ObjectId;
960
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
961
+ referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
962
+ referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
963
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
964
+ secondaryCurrencyValue?: number | undefined;
965
+ maxDiscountLimit?: number | null | undefined;
966
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
967
+ isMaxDiscountLimitEnabled?: boolean | undefined;
968
+ spendLimit?: number | null | undefined;
969
+ isSpendLimitEnabled?: boolean | undefined;
970
+ totalOrderLimit?: number | null | undefined;
971
+ isTotalOrderLimitEnabled?: boolean | undefined;
972
+ minOrderValue?: number | null | undefined;
973
+ secondaryCurrencyMinOrderValue?: number | undefined;
974
+ isMinOrderValueEnabled?: boolean | undefined;
975
+ forNewUserOnly?: boolean | undefined;
976
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
977
+ referringUser?: {
978
+ name?: string | undefined;
979
+ } | undefined;
980
+ orderLimitPerUser?: number | null | undefined;
981
+ isOrderLimitPerUserEnabled?: boolean | undefined;
982
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
983
+ isExpired?: boolean | undefined;
984
+ } | {
985
+ code: string;
986
+ value: number;
987
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
988
+ duration: {
989
+ start: string | Date;
990
+ end?: string | Date | undefined;
991
+ };
992
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
993
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
994
+ secondaryCurrencyValue?: number | undefined;
995
+ maxDiscountLimit?: number | null | undefined;
996
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
997
+ isMaxDiscountLimitEnabled?: boolean | undefined;
998
+ spendLimit?: number | null | undefined;
999
+ isSpendLimitEnabled?: boolean | undefined;
1000
+ totalOrderLimit?: number | null | undefined;
1001
+ isTotalOrderLimitEnabled?: boolean | undefined;
1002
+ minOrderValue?: number | null | undefined;
1003
+ secondaryCurrencyMinOrderValue?: number | undefined;
1004
+ isMinOrderValueEnabled?: boolean | undefined;
1005
+ forNewUserOnly?: boolean | undefined;
1006
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1007
+ referringUser?: {
1008
+ name?: string | undefined;
1009
+ } | undefined;
1010
+ orderLimitPerUser?: number | null | undefined;
1011
+ isOrderLimitPerUserEnabled?: boolean | undefined;
1012
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1013
+ isExpired?: boolean | undefined;
1014
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1015
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1016
+ isShopCoverExpenses?: boolean | undefined;
1017
+ firstOrderOnly?: boolean | undefined;
1018
+ } | {
1019
+ code: string;
1020
+ value: number;
1021
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1022
+ duration: {
1023
+ start: string | Date;
1024
+ end?: string | Date | undefined;
1025
+ };
1026
+ shop: string | import("mongoose").Types.ObjectId;
1027
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1028
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1029
+ secondaryCurrencyValue?: number | undefined;
1030
+ maxDiscountLimit?: number | null | undefined;
1031
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1032
+ isMaxDiscountLimitEnabled?: boolean | undefined;
1033
+ spendLimit?: number | null | undefined;
1034
+ isSpendLimitEnabled?: boolean | undefined;
1035
+ totalOrderLimit?: number | null | undefined;
1036
+ isTotalOrderLimitEnabled?: boolean | undefined;
1037
+ minOrderValue?: number | null | undefined;
1038
+ secondaryCurrencyMinOrderValue?: number | undefined;
1039
+ isMinOrderValueEnabled?: boolean | undefined;
1040
+ forNewUserOnly?: boolean | undefined;
1041
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1042
+ referringUser?: {
1043
+ name?: string | undefined;
1044
+ } | undefined;
1045
+ orderLimitPerUser?: number | null | undefined;
1046
+ isOrderLimitPerUserEnabled?: boolean | undefined;
1047
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1048
+ isExpired?: boolean | undefined;
1049
+ isShopCoverExpenses?: boolean | undefined;
1050
+ firstOrderOnly?: boolean | undefined;
1051
+ } | {
1052
+ code: string;
1053
+ value: number;
1054
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1055
+ duration: {
1056
+ start: string | Date;
1057
+ end?: string | Date | undefined;
1058
+ };
1059
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
1060
+ users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
1061
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1062
+ secondaryCurrencyValue?: number | undefined;
1063
+ maxDiscountLimit?: number | null | undefined;
1064
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1065
+ isMaxDiscountLimitEnabled?: boolean | undefined;
1066
+ spendLimit?: number | null | undefined;
1067
+ isSpendLimitEnabled?: boolean | undefined;
1068
+ totalOrderLimit?: number | null | undefined;
1069
+ isTotalOrderLimitEnabled?: boolean | undefined;
1070
+ minOrderValue?: number | null | undefined;
1071
+ secondaryCurrencyMinOrderValue?: number | undefined;
1072
+ isMinOrderValueEnabled?: boolean | undefined;
1073
+ forNewUserOnly?: boolean | undefined;
1074
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1075
+ referringUser?: {
1076
+ name?: string | undefined;
1077
+ } | undefined;
1078
+ orderLimitPerUser?: number | null | undefined;
1079
+ isOrderLimitPerUserEnabled?: boolean | undefined;
1080
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1081
+ isExpired?: boolean | undefined;
1082
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1083
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1084
+ } | {
1085
+ code: string;
1086
+ value: number;
1087
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
1088
+ duration: {
1089
+ start: string | Date;
1090
+ end?: string | Date | undefined;
1091
+ };
1092
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
1093
+ influencer: string | import("mongoose").Types.ObjectId;
1094
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1095
+ secondaryCurrencyValue?: number | undefined;
1096
+ maxDiscountLimit?: number | null | undefined;
1097
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
1098
+ isMaxDiscountLimitEnabled?: boolean | undefined;
1099
+ spendLimit?: number | null | undefined;
1100
+ isSpendLimitEnabled?: boolean | undefined;
1101
+ totalOrderLimit?: number | null | undefined;
1102
+ isTotalOrderLimitEnabled?: boolean | undefined;
1103
+ minOrderValue?: number | null | undefined;
1104
+ secondaryCurrencyMinOrderValue?: number | undefined;
1105
+ isMinOrderValueEnabled?: boolean | undefined;
1106
+ forNewUserOnly?: boolean | undefined;
1107
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
1108
+ referringUser?: {
1109
+ name?: string | undefined;
1110
+ } | undefined;
1111
+ orderLimitPerUser?: number | null | undefined;
1112
+ isOrderLimitPerUserEnabled?: boolean | undefined;
1113
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1114
+ isExpired?: boolean | undefined;
1115
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1116
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1117
+ }>;
1118
+ //# sourceMappingURL=create-coupon.validation.d.ts.map