@lyxa.ai/marketing 1.0.0

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