@lyxa.ai/marketing 1.0.29 → 1.0.31

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 (172) hide show
  1. package/dist/lib/event/event-initializations.d.ts +2 -0
  2. package/dist/lib/event/event-initializations.d.ts.map +1 -0
  3. package/dist/lib/event/event-initializations.js +8 -0
  4. package/dist/lib/event/event-initializations.js.map +1 -0
  5. package/dist/lib/event/event-listeners/event-listeners.d.ts +2 -0
  6. package/dist/lib/event/event-listeners/event-listeners.d.ts.map +1 -0
  7. package/dist/lib/event/event-listeners/event-listeners.js +12 -0
  8. package/dist/lib/event/event-listeners/event-listeners.js.map +1 -0
  9. package/dist/lib/index.d.ts +734 -78
  10. package/dist/lib/index.d.ts.map +1 -1
  11. package/dist/lib/index.js +17 -17
  12. package/dist/lib/index.js.map +1 -1
  13. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +710 -75
  14. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  15. package/dist/lib/modules/coupon/routers/coupon.router.js +4 -0
  16. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
  17. package/dist/lib/modules/coupon/services/coupon.service.d.ts +2 -1
  18. package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
  19. package/dist/lib/modules/coupon/services/coupon.service.js +42 -18
  20. package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
  21. package/dist/lib/modules/coupon/services/global-coupon.service.d.ts.map +1 -1
  22. package/dist/lib/modules/coupon/services/global-coupon.service.js +2 -1
  23. package/dist/lib/modules/coupon/services/global-coupon.service.js.map +1 -1
  24. package/dist/lib/modules/coupon/services/helper.service.js +1 -1
  25. package/dist/lib/modules/coupon/services/helper.service.js.map +1 -1
  26. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  27. package/dist/lib/modules/coupon/services/individual-store-coupon.service.js +4 -1
  28. package/dist/lib/modules/coupon/services/individual-store-coupon.service.js.map +1 -1
  29. package/dist/lib/modules/coupon/services/individual-user-coupon.service.d.ts.map +1 -1
  30. package/dist/lib/modules/coupon/services/individual-user-coupon.service.js +1 -0
  31. package/dist/lib/modules/coupon/services/individual-user-coupon.service.js.map +1 -1
  32. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts +1 -0
  33. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
  34. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +123 -5
  35. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -1
  36. package/dist/lib/modules/coupon/services/referral-code-coupon.service.d.ts.map +1 -1
  37. package/dist/lib/modules/coupon/services/referral-code-coupon.service.js +2 -0
  38. package/dist/lib/modules/coupon/services/referral-code-coupon.service.js.map +1 -1
  39. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
  40. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js +4 -1
  41. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js.map +1 -1
  42. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
  43. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.js +4 -1
  44. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.js.map +1 -1
  45. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +153 -153
  46. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  47. package/dist/lib/modules/coupon/validations/all-coupons.validation.js.map +1 -1
  48. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +33 -12
  49. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  50. package/dist/lib/modules/coupon/validations/coupon.validation.js +12 -5
  51. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
  52. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts +8 -8
  53. package/dist/lib/modules/coupon/validations/global-coupon.validation.d.ts +8 -8
  54. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts +10 -10
  55. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts +8 -8
  56. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts +9 -9
  57. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.d.ts +8 -8
  58. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.d.ts +1 -1
  59. package/dist/lib/modules/marketing/routers/marketing.router.d.ts +21 -0
  60. package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  61. package/dist/lib/modules/marketing/routers/marketing.router.js +19 -8
  62. package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -1
  63. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts +2 -1
  64. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
  65. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js +45 -102
  66. package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js.map +1 -1
  67. package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts +2 -1
  68. package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
  69. package/dist/lib/modules/marketing/services/discount-marketing.service.js +54 -163
  70. package/dist/lib/modules/marketing/services/discount-marketing.service.js.map +1 -1
  71. package/dist/lib/modules/marketing/services/featured-marketing.service.d.ts +2 -0
  72. package/dist/lib/modules/marketing/services/featured-marketing.service.d.ts.map +1 -1
  73. package/dist/lib/modules/marketing/services/featured-marketing.service.js +30 -2
  74. package/dist/lib/modules/marketing/services/featured-marketing.service.js.map +1 -1
  75. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.d.ts.map +1 -1
  76. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.js +6 -1
  77. package/dist/lib/modules/marketing/services/free-delivery-marketing.service.js.map +1 -1
  78. package/dist/lib/modules/marketing/services/index.d.ts +1 -0
  79. package/dist/lib/modules/marketing/services/index.d.ts.map +1 -1
  80. package/dist/lib/modules/marketing/services/index.js +1 -0
  81. package/dist/lib/modules/marketing/services/index.js.map +1 -1
  82. package/dist/lib/modules/marketing/services/marketing.service.d.ts +6 -0
  83. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
  84. package/dist/lib/modules/marketing/services/marketing.service.js +230 -8
  85. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
  86. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts +1 -0
  87. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  88. package/dist/lib/modules/marketing/services/product-marketing.service.js +21 -3
  89. package/dist/lib/modules/marketing/services/product-marketing.service.js.map +1 -1
  90. package/dist/lib/modules/marketing/services/punch-marketing.service.d.ts.map +1 -1
  91. package/dist/lib/modules/marketing/services/punch-marketing.service.js +6 -1
  92. package/dist/lib/modules/marketing/services/punch-marketing.service.js.map +1 -1
  93. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.d.ts +14 -0
  94. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -0
  95. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js +209 -0
  96. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js.map +1 -0
  97. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +2 -2
  98. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.d.ts +2 -2
  99. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +58 -58
  100. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +68 -68
  101. package/dist/lib/modules/marketing/validations/featured-marketing.validation.d.ts +21 -21
  102. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.d.ts +18 -18
  103. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +14 -7
  104. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
  105. package/dist/lib/modules/marketing/validations/marketing.validation.js +4 -1
  106. package/dist/lib/modules/marketing/validations/marketing.validation.js.map +1 -1
  107. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +4 -4
  108. package/dist/lib/modules/marketing/validations/punch-marketing.validation.d.ts +22 -22
  109. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +3 -3
  110. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js +2 -2
  111. package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js.map +1 -1
  112. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +6 -6
  113. package/dist/types/event/event-initializations.d.ts +2 -0
  114. package/dist/types/event/event-initializations.d.ts.map +1 -0
  115. package/dist/types/event/event-listeners/event-listeners.d.ts +2 -0
  116. package/dist/types/event/event-listeners/event-listeners.d.ts.map +1 -0
  117. package/dist/types/index.d.ts +734 -78
  118. package/dist/types/index.d.ts.map +1 -1
  119. package/dist/types/modules/coupon/routers/coupon.router.d.ts +710 -75
  120. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  121. package/dist/types/modules/coupon/services/coupon.service.d.ts +2 -1
  122. package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
  123. package/dist/types/modules/coupon/services/global-coupon.service.d.ts.map +1 -1
  124. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  125. package/dist/types/modules/coupon/services/individual-user-coupon.service.d.ts.map +1 -1
  126. package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts +1 -0
  127. package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
  128. package/dist/types/modules/coupon/services/referral-code-coupon.service.d.ts.map +1 -1
  129. package/dist/types/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
  130. package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
  131. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +153 -153
  132. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  133. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +33 -12
  134. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  135. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts +8 -8
  136. package/dist/types/modules/coupon/validations/global-coupon.validation.d.ts +8 -8
  137. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts +10 -10
  138. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts +8 -8
  139. package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts +9 -9
  140. package/dist/types/modules/coupon/validations/shops-categories-coupon.validation.d.ts +8 -8
  141. package/dist/types/modules/deal-setting/validations/deal-setting.validation.d.ts +1 -1
  142. package/dist/types/modules/marketing/routers/marketing.router.d.ts +21 -0
  143. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  144. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts +2 -1
  145. package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
  146. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts +2 -1
  147. package/dist/types/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
  148. package/dist/types/modules/marketing/services/featured-marketing.service.d.ts +2 -0
  149. package/dist/types/modules/marketing/services/featured-marketing.service.d.ts.map +1 -1
  150. package/dist/types/modules/marketing/services/free-delivery-marketing.service.d.ts.map +1 -1
  151. package/dist/types/modules/marketing/services/index.d.ts +1 -0
  152. package/dist/types/modules/marketing/services/index.d.ts.map +1 -1
  153. package/dist/types/modules/marketing/services/marketing.service.d.ts +6 -0
  154. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  155. package/dist/types/modules/marketing/services/product-marketing.service.d.ts +1 -0
  156. package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  157. package/dist/types/modules/marketing/services/punch-marketing.service.d.ts.map +1 -1
  158. package/dist/types/modules/marketing/services/synchronize-product-marketing.service.d.ts +14 -0
  159. package/dist/types/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -0
  160. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +2 -2
  161. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts +2 -2
  162. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +58 -58
  163. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +68 -68
  164. package/dist/types/modules/marketing/validations/featured-marketing.validation.d.ts +21 -21
  165. package/dist/types/modules/marketing/validations/free-delivery-marketing.validation.d.ts +18 -18
  166. package/dist/types/modules/marketing/validations/marketing.validation.d.ts +14 -7
  167. package/dist/types/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
  168. package/dist/types/modules/marketing/validations/product-marketing.validation.d.ts +4 -4
  169. package/dist/types/modules/marketing/validations/punch-marketing.validation.d.ts +22 -22
  170. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +3 -3
  171. package/dist/types/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +6 -6
  172. package/package.json +2 -2
@@ -661,6 +661,27 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
661
661
  };
662
662
  meta: object;
663
663
  }>;
664
+ syncAllProductsMarketingInfo: import("@trpc/server").TRPCQueryProcedure<{
665
+ input: void;
666
+ output: string;
667
+ meta: object;
668
+ }>;
669
+ syncProductMarketingInfoByProductId: import("@trpc/server").TRPCQueryProcedure<{
670
+ input: void;
671
+ output: string;
672
+ meta: object;
673
+ }>;
674
+ evaluateMarketingSpendLimits: import("@trpc/server").TRPCMutationProcedure<{
675
+ input: {
676
+ marketings: (string | import("mongoose").Types.ObjectId)[];
677
+ };
678
+ output: {
679
+ success: boolean;
680
+ message: string;
681
+ data: unknown;
682
+ };
683
+ meta: object;
684
+ }>;
664
685
  }>>;
665
686
  couponRouter: import("@trpc/server").TRPCBuiltRouter<{
666
687
  ctx: import("@lyxa.ai/core/dist/libraries/trpc/context").LyxaHTTPContext;
@@ -680,21 +701,21 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
680
701
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
681
702
  create: import("@trpc/server").TRPCMutationProcedure<{
682
703
  input: {
683
- value: number;
684
704
  code: string;
705
+ value: number;
706
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
685
707
  duration: {
686
708
  start: string | Date;
687
709
  end?: string | Date | undefined;
688
710
  };
689
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
690
711
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
691
712
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
692
- spendLimit?: number | null | undefined;
693
- isSpendLimitEnabled?: boolean | undefined;
694
713
  secondaryCurrencyValue?: number | undefined;
695
714
  maxDiscountLimit?: number | null | undefined;
696
715
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
697
716
  isMaxDiscountLimitEnabled?: boolean | undefined;
717
+ spendLimit?: number | null | undefined;
718
+ isSpendLimitEnabled?: boolean | undefined;
698
719
  totalOrderLimit?: number | null | undefined;
699
720
  isTotalOrderLimitEnabled?: boolean | undefined;
700
721
  minOrderValue?: number | null | undefined;
@@ -718,24 +739,24 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
718
739
  createdBy?: string | import("mongoose").Types.ObjectId | undefined;
719
740
  isExpired?: boolean | undefined;
720
741
  } | {
721
- value: number;
722
742
  code: string;
743
+ value: number;
744
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
723
745
  duration: {
724
746
  start: string | Date;
725
747
  end?: string | Date | undefined;
726
748
  };
727
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
728
749
  user: string | import("mongoose").Types.ObjectId;
729
750
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
730
751
  referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
731
752
  referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
732
753
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
733
- spendLimit?: number | null | undefined;
734
- isSpendLimitEnabled?: boolean | undefined;
735
754
  secondaryCurrencyValue?: number | undefined;
736
755
  maxDiscountLimit?: number | null | undefined;
737
756
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
738
757
  isMaxDiscountLimitEnabled?: boolean | undefined;
758
+ spendLimit?: number | null | undefined;
759
+ isSpendLimitEnabled?: boolean | undefined;
739
760
  totalOrderLimit?: number | null | undefined;
740
761
  isTotalOrderLimitEnabled?: boolean | undefined;
741
762
  minOrderValue?: number | null | undefined;
@@ -751,21 +772,21 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
751
772
  createdBy?: string | import("mongoose").Types.ObjectId | undefined;
752
773
  isExpired?: boolean | undefined;
753
774
  } | {
754
- value: number;
755
775
  code: string;
776
+ value: number;
777
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
756
778
  duration: {
757
779
  start: string | Date;
758
780
  end?: string | Date | undefined;
759
781
  };
760
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
761
782
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
762
783
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
763
- spendLimit?: number | null | undefined;
764
- isSpendLimitEnabled?: boolean | undefined;
765
784
  secondaryCurrencyValue?: number | undefined;
766
785
  maxDiscountLimit?: number | null | undefined;
767
786
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
768
787
  isMaxDiscountLimitEnabled?: boolean | undefined;
788
+ spendLimit?: number | null | undefined;
789
+ isSpendLimitEnabled?: boolean | undefined;
769
790
  totalOrderLimit?: number | null | undefined;
770
791
  isTotalOrderLimitEnabled?: boolean | undefined;
771
792
  minOrderValue?: number | null | undefined;
@@ -785,22 +806,22 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
785
806
  isShopCoverExpenses?: boolean | undefined;
786
807
  firstOrderOnly?: boolean | undefined;
787
808
  } | {
788
- shop: string | import("mongoose").Types.ObjectId;
789
- value: number;
790
809
  code: string;
810
+ value: number;
811
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
791
812
  duration: {
792
813
  start: string | Date;
793
814
  end?: string | Date | undefined;
794
815
  };
795
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
816
+ shop: string | import("mongoose").Types.ObjectId;
796
817
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
797
818
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
798
- spendLimit?: number | null | undefined;
799
- isSpendLimitEnabled?: boolean | undefined;
800
819
  secondaryCurrencyValue?: number | undefined;
801
820
  maxDiscountLimit?: number | null | undefined;
802
821
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
803
822
  isMaxDiscountLimitEnabled?: boolean | undefined;
823
+ spendLimit?: number | null | undefined;
824
+ isSpendLimitEnabled?: boolean | undefined;
804
825
  totalOrderLimit?: number | null | undefined;
805
826
  isTotalOrderLimitEnabled?: boolean | undefined;
806
827
  minOrderValue?: number | null | undefined;
@@ -818,22 +839,22 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
818
839
  isShopCoverExpenses?: boolean | undefined;
819
840
  firstOrderOnly?: boolean | undefined;
820
841
  } | {
821
- value: number;
822
842
  code: string;
843
+ value: number;
844
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
823
845
  duration: {
824
846
  start: string | Date;
825
847
  end?: string | Date | undefined;
826
848
  };
827
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
828
849
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
829
850
  users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
830
851
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
831
- spendLimit?: number | null | undefined;
832
- isSpendLimitEnabled?: boolean | undefined;
833
852
  secondaryCurrencyValue?: number | undefined;
834
853
  maxDiscountLimit?: number | null | undefined;
835
854
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
836
855
  isMaxDiscountLimitEnabled?: boolean | undefined;
856
+ spendLimit?: number | null | undefined;
857
+ isSpendLimitEnabled?: boolean | undefined;
837
858
  totalOrderLimit?: number | null | undefined;
838
859
  isTotalOrderLimitEnabled?: boolean | undefined;
839
860
  minOrderValue?: number | null | undefined;
@@ -851,22 +872,22 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
851
872
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
852
873
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
853
874
  } | {
854
- value: number;
855
875
  code: string;
876
+ value: number;
877
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
856
878
  duration: {
857
879
  start: string | Date;
858
880
  end?: string | Date | undefined;
859
881
  };
860
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
861
882
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
862
883
  influencer: string | import("mongoose").Types.ObjectId;
863
884
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
864
- spendLimit?: number | null | undefined;
865
- isSpendLimitEnabled?: boolean | undefined;
866
885
  secondaryCurrencyValue?: number | undefined;
867
886
  maxDiscountLimit?: number | null | undefined;
868
887
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
869
888
  isMaxDiscountLimitEnabled?: boolean | undefined;
889
+ spendLimit?: number | null | undefined;
890
+ isSpendLimitEnabled?: boolean | undefined;
870
891
  totalOrderLimit?: number | null | undefined;
871
892
  isTotalOrderLimitEnabled?: boolean | undefined;
872
893
  minOrderValue?: number | null | undefined;
@@ -877,13 +898,644 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
877
898
  referringUser?: {
878
899
  name?: string | undefined;
879
900
  } | undefined;
880
- orderLimitPerUser?: number | null | undefined;
881
- isOrderLimitPerUserEnabled?: boolean | undefined;
882
- createdBy?: string | import("mongoose").Types.ObjectId | undefined;
883
- isExpired?: boolean | undefined;
884
- itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
885
- shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
901
+ orderLimitPerUser?: number | null | undefined;
902
+ isOrderLimitPerUserEnabled?: boolean | undefined;
903
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
904
+ isExpired?: boolean | undefined;
905
+ itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
906
+ shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
907
+ };
908
+ output: {
909
+ message: string;
910
+ success: boolean;
911
+ data?: import("zod").objectInputType<{
912
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
913
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
914
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
915
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
916
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
917
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
918
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
919
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
920
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
921
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
922
+ }, "strip", import("zod").ZodTypeAny, {
923
+ start: Date;
924
+ end?: Date | undefined;
925
+ }, {
926
+ start: string | Date;
927
+ end?: string | Date | undefined;
928
+ }>, {
929
+ start: Date;
930
+ end?: Date | undefined;
931
+ }, {
932
+ start: string | Date;
933
+ end?: string | Date | undefined;
934
+ }>>;
935
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
936
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
937
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
938
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
939
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
940
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
941
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
942
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
943
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
944
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
945
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
946
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
947
+ }, "strip", import("zod").ZodTypeAny, {
948
+ name?: string | undefined;
949
+ }, {
950
+ name?: string | undefined;
951
+ }>>>;
952
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
953
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
954
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
955
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
956
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
957
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
958
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
959
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
960
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodLiteral<1>>;
961
+ referralUser: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
962
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
963
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
964
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
965
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
966
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
967
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
968
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
969
+ user: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
970
+ referralCodeUsedBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
971
+ referralCodeUsedOnOrder: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
972
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
973
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
974
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
975
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
976
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
977
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
978
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
979
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
980
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
981
+ }, "strip", import("zod").ZodTypeAny, {
982
+ start: Date;
983
+ end?: Date | undefined;
984
+ }, {
985
+ start: string | Date;
986
+ end?: string | Date | undefined;
987
+ }>, {
988
+ start: Date;
989
+ end?: Date | undefined;
990
+ }, {
991
+ start: string | Date;
992
+ end?: string | Date | undefined;
993
+ }>>;
994
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
995
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
996
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
997
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
998
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
999
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1000
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1001
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1002
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1003
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1004
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1005
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1006
+ }, "strip", import("zod").ZodTypeAny, {
1007
+ name?: string | undefined;
1008
+ }, {
1009
+ name?: string | undefined;
1010
+ }>>>;
1011
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1012
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1013
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1014
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1015
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1016
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1017
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1018
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
1019
+ itemTypes: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1020
+ shops: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1021
+ isShopCoverExpenses: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
1022
+ firstOrderOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
1023
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1024
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1025
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1026
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1027
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1028
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1029
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1030
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1031
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1032
+ }, "strip", import("zod").ZodTypeAny, {
1033
+ start: Date;
1034
+ end?: Date | undefined;
1035
+ }, {
1036
+ start: string | Date;
1037
+ end?: string | Date | undefined;
1038
+ }>, {
1039
+ start: Date;
1040
+ end?: Date | undefined;
1041
+ }, {
1042
+ start: string | Date;
1043
+ end?: string | Date | undefined;
1044
+ }>>;
1045
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1046
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1047
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1048
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1049
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1050
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1051
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1052
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1053
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1054
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1055
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1056
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1057
+ }, "strip", import("zod").ZodTypeAny, {
1058
+ name?: string | undefined;
1059
+ }, {
1060
+ name?: string | undefined;
1061
+ }>>>;
1062
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1063
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1064
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1065
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1066
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1067
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1068
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1069
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1070
+ shop: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1071
+ isShopCoverExpenses: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
1072
+ firstOrderOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
1073
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1074
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1075
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1076
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1077
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1078
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1079
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1080
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1081
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1082
+ }, "strip", import("zod").ZodTypeAny, {
1083
+ start: Date;
1084
+ end?: Date | undefined;
1085
+ }, {
1086
+ start: string | Date;
1087
+ end?: string | Date | undefined;
1088
+ }>, {
1089
+ start: Date;
1090
+ end?: Date | undefined;
1091
+ }, {
1092
+ start: string | Date;
1093
+ end?: string | Date | undefined;
1094
+ }>>;
1095
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1096
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1097
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1098
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1099
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1100
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1101
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1102
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1103
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1104
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1105
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1106
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1107
+ }, "strip", import("zod").ZodTypeAny, {
1108
+ name?: string | undefined;
1109
+ }, {
1110
+ name?: string | undefined;
1111
+ }>>>;
1112
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1113
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1114
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1115
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1116
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1117
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1118
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1119
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1120
+ users: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
1121
+ itemTypes: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1122
+ shops: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1123
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1124
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1125
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1126
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1127
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1128
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1129
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1130
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1131
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1132
+ }, "strip", import("zod").ZodTypeAny, {
1133
+ start: Date;
1134
+ end?: Date | undefined;
1135
+ }, {
1136
+ start: string | Date;
1137
+ end?: string | Date | undefined;
1138
+ }>, {
1139
+ start: Date;
1140
+ end?: Date | undefined;
1141
+ }, {
1142
+ start: string | Date;
1143
+ end?: string | Date | undefined;
1144
+ }>>;
1145
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1146
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1147
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1148
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1149
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1150
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1151
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1152
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1153
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1154
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1155
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1156
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1157
+ }, "strip", import("zod").ZodTypeAny, {
1158
+ name?: string | undefined;
1159
+ }, {
1160
+ name?: string | undefined;
1161
+ }>>>;
1162
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1163
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1164
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1165
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1166
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1167
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1168
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1169
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1170
+ influencer: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1171
+ itemTypes: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1172
+ shops: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1173
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1174
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1175
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1176
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1177
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1178
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1179
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1180
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1181
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1182
+ }, "strip", import("zod").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: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1196
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1197
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1198
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1199
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1200
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1201
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1202
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1203
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1204
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1205
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1206
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1207
+ }, "strip", import("zod").ZodTypeAny, {
1208
+ name?: string | undefined;
1209
+ }, {
1210
+ name?: string | undefined;
1211
+ }>>>;
1212
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1213
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1214
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1215
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1216
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1217
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1218
+ }, import("zod").ZodTypeAny, "passthrough"> | {
1219
+ documents: (import("zod").objectInputType<{
1220
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
1221
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1222
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1223
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1224
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1225
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1226
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1227
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1228
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1229
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1230
+ }, "strip", import("zod").ZodTypeAny, {
1231
+ start: Date;
1232
+ end?: Date | undefined;
1233
+ }, {
1234
+ start: string | Date;
1235
+ end?: string | Date | undefined;
1236
+ }>, {
1237
+ start: Date;
1238
+ end?: Date | undefined;
1239
+ }, {
1240
+ start: string | Date;
1241
+ end?: string | Date | undefined;
1242
+ }>>;
1243
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1244
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1245
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1246
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1247
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1248
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1249
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1250
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1251
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1252
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1253
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1254
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1255
+ }, "strip", import("zod").ZodTypeAny, {
1256
+ name?: string | undefined;
1257
+ }, {
1258
+ name?: string | undefined;
1259
+ }>>>;
1260
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1261
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1262
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1263
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1264
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1265
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1266
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1267
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
1268
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodLiteral<1>>;
1269
+ referralUser: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1270
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1271
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1272
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1273
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1274
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1275
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1276
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
1277
+ user: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1278
+ referralCodeUsedBy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1279
+ referralCodeUsedOnOrder: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1280
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1281
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1282
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1283
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1284
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1285
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1286
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1287
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1288
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1289
+ }, "strip", import("zod").ZodTypeAny, {
1290
+ start: Date;
1291
+ end?: Date | undefined;
1292
+ }, {
1293
+ start: string | Date;
1294
+ end?: string | Date | undefined;
1295
+ }>, {
1296
+ start: Date;
1297
+ end?: Date | undefined;
1298
+ }, {
1299
+ start: string | Date;
1300
+ end?: string | Date | undefined;
1301
+ }>>;
1302
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1303
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1304
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1305
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1306
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1307
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1308
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1309
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1310
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1311
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1312
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1313
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1314
+ }, "strip", import("zod").ZodTypeAny, {
1315
+ name?: string | undefined;
1316
+ }, {
1317
+ name?: string | undefined;
1318
+ }>>>;
1319
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1320
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1321
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1322
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1323
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1324
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1325
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1326
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
1327
+ itemTypes: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1328
+ shops: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1329
+ isShopCoverExpenses: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
1330
+ firstOrderOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
1331
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1332
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1333
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1334
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1335
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1336
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1337
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1338
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1339
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1340
+ }, "strip", import("zod").ZodTypeAny, {
1341
+ start: Date;
1342
+ end?: Date | undefined;
1343
+ }, {
1344
+ start: string | Date;
1345
+ end?: string | Date | undefined;
1346
+ }>, {
1347
+ start: Date;
1348
+ end?: Date | undefined;
1349
+ }, {
1350
+ start: string | Date;
1351
+ end?: string | Date | undefined;
1352
+ }>>;
1353
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1354
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1355
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1356
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1357
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1358
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1359
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1360
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1361
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1362
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1363
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1364
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1365
+ }, "strip", import("zod").ZodTypeAny, {
1366
+ name?: string | undefined;
1367
+ }, {
1368
+ name?: string | undefined;
1369
+ }>>>;
1370
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1371
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1372
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1373
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1374
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1375
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1376
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1377
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
1378
+ shop: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1379
+ isShopCoverExpenses: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
1380
+ firstOrderOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
1381
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1382
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1383
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1384
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1385
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1386
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1387
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1388
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1389
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1390
+ }, "strip", import("zod").ZodTypeAny, {
1391
+ start: Date;
1392
+ end?: Date | undefined;
1393
+ }, {
1394
+ start: string | Date;
1395
+ end?: string | Date | undefined;
1396
+ }>, {
1397
+ start: Date;
1398
+ end?: Date | undefined;
1399
+ }, {
1400
+ start: string | Date;
1401
+ end?: string | Date | undefined;
1402
+ }>>;
1403
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1404
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1405
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1406
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1407
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1408
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1409
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1410
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1411
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1412
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1413
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1414
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1415
+ }, "strip", import("zod").ZodTypeAny, {
1416
+ name?: string | undefined;
1417
+ }, {
1418
+ name?: string | undefined;
1419
+ }>>>;
1420
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1421
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1422
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1423
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1424
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1425
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1426
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1427
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
1428
+ users: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">>;
1429
+ itemTypes: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1430
+ shops: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1431
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1432
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1433
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1434
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1435
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1436
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1437
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1438
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1439
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1440
+ }, "strip", import("zod").ZodTypeAny, {
1441
+ start: Date;
1442
+ end?: Date | undefined;
1443
+ }, {
1444
+ start: string | Date;
1445
+ end?: string | Date | undefined;
1446
+ }>, {
1447
+ start: Date;
1448
+ end?: Date | undefined;
1449
+ }, {
1450
+ start: string | Date;
1451
+ end?: string | Date | undefined;
1452
+ }>>;
1453
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1454
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1455
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1456
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1457
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1458
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1459
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1460
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1461
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1462
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1463
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1464
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1465
+ }, "strip", import("zod").ZodTypeAny, {
1466
+ name?: string | undefined;
1467
+ }, {
1468
+ name?: string | undefined;
1469
+ }>>>;
1470
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1471
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1472
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1473
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1474
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1475
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1476
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
1477
+ couponType: import("zod").ZodOptional<import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
1478
+ influencer: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1479
+ itemTypes: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
1480
+ shops: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
1481
+ valueType: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
1482
+ value: import("zod").ZodOptional<import("zod").ZodNumber>;
1483
+ secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1484
+ maxDiscountLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1485
+ secondaryCurrencyMaxDiscountLimit: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1486
+ isMaxDiscountLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1487
+ duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodObject<{
1488
+ start: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>;
1489
+ end: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Date, string>, import("zod").ZodDate]>, Date, string | Date>, Date, string | Date>>;
1490
+ }, "strip", import("zod").ZodTypeAny, {
1491
+ start: Date;
1492
+ end?: Date | undefined;
1493
+ }, {
1494
+ start: string | Date;
1495
+ end?: string | Date | undefined;
1496
+ }>, {
1497
+ start: Date;
1498
+ end?: Date | undefined;
1499
+ }, {
1500
+ start: string | Date;
1501
+ end?: string | Date | undefined;
1502
+ }>>;
1503
+ spendLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1504
+ isSpendLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1505
+ totalOrderLimit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1506
+ isTotalOrderLimitEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1507
+ minOrderValue: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>>;
1508
+ secondaryCurrencyMinOrderValue: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodNumber>>;
1509
+ isMinOrderValueEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1510
+ forNewUserOnly: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1511
+ status: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
1512
+ expirationReason: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
1513
+ referringUser: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
1514
+ name: import("zod").ZodOptional<import("zod").ZodString> | import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1515
+ }, "strip", import("zod").ZodTypeAny, {
1516
+ name?: string | undefined;
1517
+ }, {
1518
+ name?: string | undefined;
1519
+ }>>>;
1520
+ code: import("zod").ZodOptional<import("zod").ZodString | import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, string, string>>;
1521
+ orderLimitPerUser: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodNumber>>>>;
1522
+ isOrderLimitPerUserEnabled: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>>;
1523
+ createdBy: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>>;
1524
+ isExpired: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodBoolean>>;
1525
+ _id: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
1526
+ }, import("zod").ZodTypeAny, "passthrough">)[];
1527
+ metadata?: {
1528
+ page: number;
1529
+ size: number;
1530
+ totalElements: number;
1531
+ totalPages: number;
1532
+ } | undefined;
1533
+ } | undefined;
886
1534
  };
1535
+ meta: object;
1536
+ }>;
1537
+ getById: import("@trpc/server").TRPCQueryProcedure<{
1538
+ input: string | import("mongoose").Types.ObjectId;
887
1539
  output: {
888
1540
  message: string;
889
1541
  success: boolean;
@@ -1513,8 +2165,19 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
1513
2165
  };
1514
2166
  meta: object;
1515
2167
  }>;
1516
- getById: import("@trpc/server").TRPCQueryProcedure<{
1517
- input: string | import("mongoose").Types.ObjectId;
2168
+ get: import("@trpc/server").TRPCQueryProcedure<{
2169
+ input: {
2170
+ search?: {
2171
+ searchKey: string;
2172
+ searchFields?: string[] | undefined;
2173
+ } | undefined;
2174
+ sort?: Record<string, 1 | -1> | undefined;
2175
+ page?: number | undefined;
2176
+ select?: Record<string, 0 | 1> | undefined;
2177
+ size?: number | undefined;
2178
+ populate?: any;
2179
+ query?: Record<string, any> | undefined;
2180
+ } | undefined;
1518
2181
  output: {
1519
2182
  message: string;
1520
2183
  success: boolean;
@@ -2144,19 +2807,8 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
2144
2807
  };
2145
2808
  meta: object;
2146
2809
  }>;
2147
- get: import("@trpc/server").TRPCQueryProcedure<{
2148
- input: {
2149
- search?: {
2150
- searchKey: string;
2151
- searchFields?: string[] | undefined;
2152
- } | undefined;
2153
- sort?: Record<string, 1 | -1> | undefined;
2154
- page?: number | undefined;
2155
- select?: Record<string, 0 | 1> | undefined;
2156
- size?: number | undefined;
2157
- populate?: any;
2158
- query?: Record<string, any> | undefined;
2159
- } | undefined;
2810
+ checkExistingNewUserCoupon: import("@trpc/server").TRPCQueryProcedure<{
2811
+ input: void;
2160
2812
  output: {
2161
2813
  message: string;
2162
2814
  success: boolean;
@@ -2790,21 +3442,21 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
2790
3442
  input: {
2791
3443
  _id: string | import("mongoose").Types.ObjectId;
2792
3444
  data: {
2793
- value: number;
2794
3445
  code: string;
3446
+ value: number;
3447
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2795
3448
  duration: {
2796
3449
  start: string | Date;
2797
3450
  end?: string | Date | undefined;
2798
3451
  };
2799
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2800
3452
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL;
2801
3453
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
2802
- spendLimit?: number | null | undefined;
2803
- isSpendLimitEnabled?: boolean | undefined;
2804
3454
  secondaryCurrencyValue?: number | undefined;
2805
3455
  maxDiscountLimit?: number | null | undefined;
2806
3456
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
2807
3457
  isMaxDiscountLimitEnabled?: boolean | undefined;
3458
+ spendLimit?: number | null | undefined;
3459
+ isSpendLimitEnabled?: boolean | undefined;
2808
3460
  totalOrderLimit?: number | null | undefined;
2809
3461
  isTotalOrderLimitEnabled?: boolean | undefined;
2810
3462
  minOrderValue?: number | null | undefined;
@@ -2828,24 +3480,24 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
2828
3480
  createdBy?: string | import("mongoose").Types.ObjectId | undefined;
2829
3481
  isExpired?: boolean | undefined;
2830
3482
  } | {
2831
- value: number;
2832
3483
  code: string;
3484
+ value: number;
3485
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2833
3486
  duration: {
2834
3487
  start: string | Date;
2835
3488
  end?: string | Date | undefined;
2836
3489
  };
2837
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2838
3490
  user: string | import("mongoose").Types.ObjectId;
2839
3491
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD;
2840
3492
  referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
2841
3493
  referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
2842
3494
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
2843
- spendLimit?: number | null | undefined;
2844
- isSpendLimitEnabled?: boolean | undefined;
2845
3495
  secondaryCurrencyValue?: number | undefined;
2846
3496
  maxDiscountLimit?: number | null | undefined;
2847
3497
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
2848
3498
  isMaxDiscountLimitEnabled?: boolean | undefined;
3499
+ spendLimit?: number | null | undefined;
3500
+ isSpendLimitEnabled?: boolean | undefined;
2849
3501
  totalOrderLimit?: number | null | undefined;
2850
3502
  isTotalOrderLimitEnabled?: boolean | undefined;
2851
3503
  minOrderValue?: number | null | undefined;
@@ -2861,21 +3513,21 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
2861
3513
  createdBy?: string | import("mongoose").Types.ObjectId | undefined;
2862
3514
  isExpired?: boolean | undefined;
2863
3515
  } | {
2864
- value: number;
2865
3516
  code: string;
3517
+ value: number;
3518
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2866
3519
  duration: {
2867
3520
  start: string | Date;
2868
3521
  end?: string | Date | undefined;
2869
3522
  };
2870
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2871
3523
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
2872
3524
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
2873
- spendLimit?: number | null | undefined;
2874
- isSpendLimitEnabled?: boolean | undefined;
2875
3525
  secondaryCurrencyValue?: number | undefined;
2876
3526
  maxDiscountLimit?: number | null | undefined;
2877
3527
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
2878
3528
  isMaxDiscountLimitEnabled?: boolean | undefined;
3529
+ spendLimit?: number | null | undefined;
3530
+ isSpendLimitEnabled?: boolean | undefined;
2879
3531
  totalOrderLimit?: number | null | undefined;
2880
3532
  isTotalOrderLimitEnabled?: boolean | undefined;
2881
3533
  minOrderValue?: number | null | undefined;
@@ -2895,22 +3547,22 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
2895
3547
  isShopCoverExpenses?: boolean | undefined;
2896
3548
  firstOrderOnly?: boolean | undefined;
2897
3549
  } | {
2898
- shop: string | import("mongoose").Types.ObjectId;
2899
- value: number;
2900
3550
  code: string;
3551
+ value: number;
3552
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2901
3553
  duration: {
2902
3554
  start: string | Date;
2903
3555
  end?: string | Date | undefined;
2904
3556
  };
2905
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
3557
+ shop: string | import("mongoose").Types.ObjectId;
2906
3558
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
2907
3559
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
2908
- spendLimit?: number | null | undefined;
2909
- isSpendLimitEnabled?: boolean | undefined;
2910
3560
  secondaryCurrencyValue?: number | undefined;
2911
3561
  maxDiscountLimit?: number | null | undefined;
2912
3562
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
2913
3563
  isMaxDiscountLimitEnabled?: boolean | undefined;
3564
+ spendLimit?: number | null | undefined;
3565
+ isSpendLimitEnabled?: boolean | undefined;
2914
3566
  totalOrderLimit?: number | null | undefined;
2915
3567
  isTotalOrderLimitEnabled?: boolean | undefined;
2916
3568
  minOrderValue?: number | null | undefined;
@@ -2928,22 +3580,22 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
2928
3580
  isShopCoverExpenses?: boolean | undefined;
2929
3581
  firstOrderOnly?: boolean | undefined;
2930
3582
  } | {
2931
- value: number;
2932
3583
  code: string;
3584
+ value: number;
3585
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2933
3586
  duration: {
2934
3587
  start: string | Date;
2935
3588
  end?: string | Date | undefined;
2936
3589
  };
2937
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2938
3590
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
2939
3591
  users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
2940
3592
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
2941
- spendLimit?: number | null | undefined;
2942
- isSpendLimitEnabled?: boolean | undefined;
2943
3593
  secondaryCurrencyValue?: number | undefined;
2944
3594
  maxDiscountLimit?: number | null | undefined;
2945
3595
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
2946
3596
  isMaxDiscountLimitEnabled?: boolean | undefined;
3597
+ spendLimit?: number | null | undefined;
3598
+ isSpendLimitEnabled?: boolean | undefined;
2947
3599
  totalOrderLimit?: number | null | undefined;
2948
3600
  isTotalOrderLimitEnabled?: boolean | undefined;
2949
3601
  minOrderValue?: number | null | undefined;
@@ -2961,22 +3613,22 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
2961
3613
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
2962
3614
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
2963
3615
  } | {
2964
- value: number;
2965
3616
  code: string;
3617
+ value: number;
3618
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2966
3619
  duration: {
2967
3620
  start: string | Date;
2968
3621
  end?: string | Date | undefined;
2969
3622
  };
2970
- valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
2971
3623
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
2972
3624
  influencer: string | import("mongoose").Types.ObjectId;
2973
3625
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
2974
- spendLimit?: number | null | undefined;
2975
- isSpendLimitEnabled?: boolean | undefined;
2976
3626
  secondaryCurrencyValue?: number | undefined;
2977
3627
  maxDiscountLimit?: number | null | undefined;
2978
3628
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
2979
3629
  isMaxDiscountLimitEnabled?: boolean | undefined;
3630
+ spendLimit?: number | null | undefined;
3631
+ isSpendLimitEnabled?: boolean | undefined;
2980
3632
  totalOrderLimit?: number | null | undefined;
2981
3633
  isTotalOrderLimitEnabled?: boolean | undefined;
2982
3634
  minOrderValue?: number | null | undefined;
@@ -4894,8 +5546,8 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
4894
5546
  }>;
4895
5547
  getUserCoupons: import("@trpc/server").TRPCQueryProcedure<{
4896
5548
  input: {
4897
- shop?: string | import("mongoose").Types.ObjectId | undefined;
4898
5549
  user?: string | import("mongoose").Types.ObjectId | undefined;
5550
+ shop?: string | import("mongoose").Types.ObjectId | undefined;
4899
5551
  page?: number | undefined;
4900
5552
  size?: number | undefined;
4901
5553
  };
@@ -5231,8 +5883,8 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5231
5883
  }>;
5232
5884
  validateCoupon: import("@trpc/server").TRPCQueryProcedure<{
5233
5885
  input: {
5234
- shop: string | import("mongoose").Types.ObjectId;
5235
5886
  user: string | import("mongoose").Types.ObjectId;
5887
+ shop: string | import("mongoose").Types.ObjectId;
5236
5888
  amountBeforeCoupon: number;
5237
5889
  secondaryAmountBeforeCoupon: number;
5238
5890
  coupon?: string | undefined;
@@ -5241,6 +5893,7 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5241
5893
  message: string;
5242
5894
  success: boolean;
5243
5895
  data?: {
5896
+ message?: string | undefined;
5244
5897
  isValid?: boolean | undefined;
5245
5898
  amountAfterCoupon?: number | undefined;
5246
5899
  secondaryAmountAfterCoupon?: number | undefined;
@@ -5254,6 +5907,7 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5254
5907
  } | undefined;
5255
5908
  } | {
5256
5909
  documents: {
5910
+ message?: string | undefined;
5257
5911
  isValid?: boolean | undefined;
5258
5912
  amountAfterCoupon?: number | undefined;
5259
5913
  secondaryAmountAfterCoupon?: number | undefined;
@@ -5278,8 +5932,8 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5278
5932
  }>;
5279
5933
  validateCouponMutation: import("@trpc/server").TRPCMutationProcedure<{
5280
5934
  input: {
5281
- shop: string | import("mongoose").Types.ObjectId;
5282
5935
  user: string | import("mongoose").Types.ObjectId;
5936
+ shop: string | import("mongoose").Types.ObjectId;
5283
5937
  amountBeforeCoupon: number;
5284
5938
  secondaryAmountBeforeCoupon: number;
5285
5939
  coupon?: string | undefined;
@@ -5288,6 +5942,7 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5288
5942
  message: string;
5289
5943
  success: boolean;
5290
5944
  data?: {
5945
+ message?: string | undefined;
5291
5946
  isValid?: boolean | undefined;
5292
5947
  amountAfterCoupon?: number | undefined;
5293
5948
  secondaryAmountAfterCoupon?: number | undefined;
@@ -5301,6 +5956,7 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5301
5956
  } | undefined;
5302
5957
  } | {
5303
5958
  documents: {
5959
+ message?: string | undefined;
5304
5960
  isValid?: boolean | undefined;
5305
5961
  amountAfterCoupon?: number | undefined;
5306
5962
  secondaryAmountAfterCoupon?: number | undefined;
@@ -5325,8 +5981,8 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5325
5981
  }>;
5326
5982
  createReferralCodeForUser: import("@trpc/server").TRPCMutationProcedure<{
5327
5983
  input: {
5328
- shop?: string | import("mongoose").Types.ObjectId | undefined;
5329
5984
  user?: string | import("mongoose").Types.ObjectId | undefined;
5985
+ shop?: string | import("mongoose").Types.ObjectId | undefined;
5330
5986
  page?: number | undefined;
5331
5987
  size?: number | undefined;
5332
5988
  };
@@ -5411,14 +6067,14 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5411
6067
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
5412
6068
  create: import("@trpc/server").TRPCMutationProcedure<{
5413
6069
  input: {
6070
+ user: string | import("mongoose").Types.ObjectId;
5414
6071
  shop: string | import("mongoose").Types.ObjectId;
5415
6072
  marketing: string | import("mongoose").Types.ObjectId;
5416
6073
  minimumOrderValue: number;
6074
+ targetOrder: number;
5417
6075
  couponValueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
5418
6076
  couponValue: number;
5419
6077
  couponDurationInDays: number;
5420
- user: string | import("mongoose").Types.ObjectId;
5421
- targetOrder: number;
5422
6078
  status?: import("@lyxa.ai/core/dist/utilities/enum").PunchMarketingStatus | undefined;
5423
6079
  completedOrder?: number | undefined;
5424
6080
  startDate?: string | Date | undefined;
@@ -5584,8 +6240,8 @@ declare const marketingMicroServiceRouter: import("@trpc/server").TRPCBuiltRoute
5584
6240
  }>;
5585
6241
  getByUserAndShop: import("@trpc/server").TRPCQueryProcedure<{
5586
6242
  input: {
5587
- shopId: string | import("mongoose").Types.ObjectId;
5588
6243
  userId: string | import("mongoose").Types.ObjectId;
6244
+ shopId: string | import("mongoose").Types.ObjectId;
5589
6245
  };
5590
6246
  output: {
5591
6247
  message: string;