@lyxa.ai/marketing 1.0.55 → 1.0.57

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 (77) hide show
  1. package/dist/lib/event/event-listeners/event-listeners.d.ts.map +1 -1
  2. package/dist/lib/event/event-listeners/event-listeners.js +19 -2
  3. package/dist/lib/event/event-listeners/event-listeners.js.map +1 -1
  4. package/dist/lib/index.d.ts +1314 -0
  5. package/dist/lib/index.d.ts.map +1 -1
  6. package/dist/lib/index.js +6 -1
  7. package/dist/lib/index.js.map +1 -1
  8. package/dist/lib/modules/coupon/queues/coupon-notification.queue.d.ts +8 -0
  9. package/dist/lib/modules/coupon/queues/coupon-notification.queue.d.ts.map +1 -0
  10. package/dist/lib/modules/coupon/queues/coupon-notification.queue.js +54 -0
  11. package/dist/lib/modules/coupon/queues/coupon-notification.queue.js.map +1 -0
  12. package/dist/lib/modules/coupon/queues/coupon-notification.worker.d.ts +8 -0
  13. package/dist/lib/modules/coupon/queues/coupon-notification.worker.d.ts.map +1 -0
  14. package/dist/lib/modules/coupon/queues/coupon-notification.worker.js +83 -0
  15. package/dist/lib/modules/coupon/queues/coupon-notification.worker.js.map +1 -0
  16. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +1314 -0
  17. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  18. package/dist/lib/modules/coupon/routers/coupon.router.js +20 -0
  19. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
  20. package/dist/lib/modules/coupon/services/coupon.service.d.ts +40 -3
  21. package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
  22. package/dist/lib/modules/coupon/services/coupon.service.js +49 -0
  23. package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
  24. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts +1 -0
  25. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
  26. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js +52 -0
  27. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js.map +1 -1
  28. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts +26 -0
  29. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
  30. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +322 -0
  31. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -1
  32. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +175 -0
  33. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  34. package/dist/lib/modules/coupon/validations/coupon.validation.js +53 -1
  35. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
  36. package/dist/lib/modules/marketing/queues/marketing-product-sync.queue.d.ts +7 -0
  37. package/dist/lib/modules/marketing/queues/marketing-product-sync.queue.d.ts.map +1 -0
  38. package/dist/lib/modules/marketing/queues/marketing-product-sync.queue.js +62 -0
  39. package/dist/lib/modules/marketing/queues/marketing-product-sync.queue.js.map +1 -0
  40. package/dist/lib/modules/marketing/queues/marketing-product-sync.worker.d.ts +7 -0
  41. package/dist/lib/modules/marketing/queues/marketing-product-sync.worker.d.ts.map +1 -0
  42. package/dist/lib/modules/marketing/queues/marketing-product-sync.worker.js +94 -0
  43. package/dist/lib/modules/marketing/queues/marketing-product-sync.worker.js.map +1 -0
  44. package/dist/lib/modules/marketing/services/marketing.service.d.ts +2 -1
  45. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
  46. package/dist/lib/modules/marketing/services/marketing.service.js +37 -29
  47. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
  48. package/dist/types/event/event-listeners/event-listeners.d.ts.map +1 -1
  49. package/dist/types/index.d.ts +1314 -0
  50. package/dist/types/index.d.ts.map +1 -1
  51. package/dist/types/modules/coupon/queues/coupon-notification.queue.d.ts +8 -0
  52. package/dist/types/modules/coupon/queues/coupon-notification.queue.d.ts.map +1 -0
  53. package/dist/types/modules/coupon/queues/coupon-notification.worker.d.ts +8 -0
  54. package/dist/types/modules/coupon/queues/coupon-notification.worker.d.ts.map +1 -0
  55. package/dist/types/modules/coupon/routers/coupon.router.d.ts +1314 -0
  56. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  57. package/dist/types/modules/coupon/services/coupon.service.d.ts +40 -3
  58. package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
  59. package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts +1 -0
  60. package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
  61. package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts +26 -0
  62. package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
  63. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +175 -0
  64. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  65. package/dist/types/modules/marketing/queues/marketing-product-sync.queue.d.ts +7 -0
  66. package/dist/types/modules/marketing/queues/marketing-product-sync.queue.d.ts.map +1 -0
  67. package/dist/types/modules/marketing/queues/marketing-product-sync.worker.d.ts +7 -0
  68. package/dist/types/modules/marketing/queues/marketing-product-sync.worker.d.ts.map +1 -0
  69. package/dist/types/modules/marketing/services/marketing.service.d.ts +2 -1
  70. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  71. package/package.json +2 -2
  72. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts +0 -1
  73. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts.map +0 -1
  74. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.js +0 -2
  75. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.js.map +0 -1
  76. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts +0 -1
  77. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts.map +0 -1
@@ -6313,5 +6313,1319 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
6313
6313
  };
6314
6314
  meta: object;
6315
6315
  }>;
6316
+ getDetails: import("@trpc/server").TRPCQueryProcedure<{
6317
+ input: string | mongoose.Types.ObjectId;
6318
+ output: {
6319
+ message: string;
6320
+ success: boolean;
6321
+ data?: z.objectInputType<{
6322
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
6323
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6324
+ value: z.ZodOptional<z.ZodNumber>;
6325
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6326
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6327
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6328
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6329
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6330
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6331
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6332
+ }, "strip", z.ZodTypeAny, {
6333
+ start: Date;
6334
+ end?: Date | undefined;
6335
+ }, {
6336
+ start: string | Date;
6337
+ end?: string | Date | undefined;
6338
+ }>, {
6339
+ start: Date;
6340
+ end?: Date | undefined;
6341
+ }, {
6342
+ start: string | Date;
6343
+ end?: string | Date | undefined;
6344
+ }>>;
6345
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6346
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6347
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6348
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6349
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6350
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6351
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6352
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6353
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6354
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6355
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6356
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6357
+ }, "strip", z.ZodTypeAny, {
6358
+ name?: string | undefined;
6359
+ }, {
6360
+ name?: string | undefined;
6361
+ }>>>;
6362
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6363
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6364
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6365
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6366
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6367
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6368
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6369
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
6370
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
6371
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6372
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6373
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6374
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6375
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6376
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6377
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6378
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
6379
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6380
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6381
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6382
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6383
+ value: z.ZodOptional<z.ZodNumber>;
6384
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6385
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6386
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6387
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6388
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6389
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6390
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6391
+ }, "strip", z.ZodTypeAny, {
6392
+ start: Date;
6393
+ end?: Date | undefined;
6394
+ }, {
6395
+ start: string | Date;
6396
+ end?: string | Date | undefined;
6397
+ }>, {
6398
+ start: Date;
6399
+ end?: Date | undefined;
6400
+ }, {
6401
+ start: string | Date;
6402
+ end?: string | Date | undefined;
6403
+ }>>;
6404
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6405
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6406
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6407
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6408
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6409
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6410
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6411
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6412
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6413
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6414
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6415
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6416
+ }, "strip", z.ZodTypeAny, {
6417
+ name?: string | undefined;
6418
+ }, {
6419
+ name?: string | undefined;
6420
+ }>>>;
6421
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6422
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6423
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6424
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6425
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6426
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6427
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6428
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
6429
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
6430
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6431
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6432
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6433
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6434
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6435
+ value: z.ZodOptional<z.ZodNumber>;
6436
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6437
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6438
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6439
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6440
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6441
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6442
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6443
+ }, "strip", z.ZodTypeAny, {
6444
+ start: Date;
6445
+ end?: Date | undefined;
6446
+ }, {
6447
+ start: string | Date;
6448
+ end?: string | Date | undefined;
6449
+ }>, {
6450
+ start: Date;
6451
+ end?: Date | undefined;
6452
+ }, {
6453
+ start: string | Date;
6454
+ end?: string | Date | undefined;
6455
+ }>>;
6456
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6457
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6458
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6459
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6460
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6461
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6462
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6463
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6464
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6465
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6466
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6467
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6468
+ }, "strip", z.ZodTypeAny, {
6469
+ name?: string | undefined;
6470
+ }, {
6471
+ name?: string | undefined;
6472
+ }>>>;
6473
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6474
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6475
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6476
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6477
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6478
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6479
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6480
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
6481
+ shop: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6482
+ vendor: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6483
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6484
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6485
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6486
+ value: z.ZodOptional<z.ZodNumber>;
6487
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6488
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6489
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6490
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6491
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6492
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6493
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6494
+ }, "strip", z.ZodTypeAny, {
6495
+ start: Date;
6496
+ end?: Date | undefined;
6497
+ }, {
6498
+ start: string | Date;
6499
+ end?: string | Date | undefined;
6500
+ }>, {
6501
+ start: Date;
6502
+ end?: Date | undefined;
6503
+ }, {
6504
+ start: string | Date;
6505
+ end?: string | Date | undefined;
6506
+ }>>;
6507
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6508
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6509
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6510
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6511
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6512
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6513
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6514
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6515
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6516
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6517
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6518
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6519
+ }, "strip", z.ZodTypeAny, {
6520
+ name?: string | undefined;
6521
+ }, {
6522
+ name?: string | undefined;
6523
+ }>>>;
6524
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6525
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6526
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6527
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6528
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6529
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6530
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6531
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
6532
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
6533
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
6534
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6535
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6536
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6537
+ value: z.ZodOptional<z.ZodNumber>;
6538
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6539
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6540
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6541
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6542
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6543
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6544
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6545
+ }, "strip", z.ZodTypeAny, {
6546
+ start: Date;
6547
+ end?: Date | undefined;
6548
+ }, {
6549
+ start: string | Date;
6550
+ end?: string | Date | undefined;
6551
+ }>, {
6552
+ start: Date;
6553
+ end?: Date | undefined;
6554
+ }, {
6555
+ start: string | Date;
6556
+ end?: string | Date | undefined;
6557
+ }>>;
6558
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6559
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6560
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6561
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6562
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6563
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6564
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6565
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6566
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6567
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6568
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6569
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6570
+ }, "strip", z.ZodTypeAny, {
6571
+ name?: string | undefined;
6572
+ }, {
6573
+ name?: string | undefined;
6574
+ }>>>;
6575
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6576
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6577
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6578
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6579
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6580
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6581
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6582
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
6583
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6584
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
6585
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6586
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6587
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6588
+ value: z.ZodOptional<z.ZodNumber>;
6589
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6590
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6591
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6592
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6593
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6594
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6595
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6596
+ }, "strip", z.ZodTypeAny, {
6597
+ start: Date;
6598
+ end?: Date | undefined;
6599
+ }, {
6600
+ start: string | Date;
6601
+ end?: string | Date | undefined;
6602
+ }>, {
6603
+ start: Date;
6604
+ end?: Date | undefined;
6605
+ }, {
6606
+ start: string | Date;
6607
+ end?: string | Date | undefined;
6608
+ }>>;
6609
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6610
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6611
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6612
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6613
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6614
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6615
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6616
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6617
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6618
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6619
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6620
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6621
+ }, "strip", z.ZodTypeAny, {
6622
+ name?: string | undefined;
6623
+ }, {
6624
+ name?: string | undefined;
6625
+ }>>>;
6626
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6627
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6628
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6629
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6630
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6631
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6632
+ }, z.ZodTypeAny, "passthrough"> | {
6633
+ documents: (z.objectInputType<{
6634
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
6635
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6636
+ value: z.ZodOptional<z.ZodNumber>;
6637
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6638
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6639
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6640
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6641
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6642
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6643
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6644
+ }, "strip", z.ZodTypeAny, {
6645
+ start: Date;
6646
+ end?: Date | undefined;
6647
+ }, {
6648
+ start: string | Date;
6649
+ end?: string | Date | undefined;
6650
+ }>, {
6651
+ start: Date;
6652
+ end?: Date | undefined;
6653
+ }, {
6654
+ start: string | Date;
6655
+ end?: string | Date | undefined;
6656
+ }>>;
6657
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6658
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6659
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6660
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6661
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6662
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6663
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6664
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6665
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6666
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6667
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6668
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6669
+ }, "strip", z.ZodTypeAny, {
6670
+ name?: string | undefined;
6671
+ }, {
6672
+ name?: string | undefined;
6673
+ }>>>;
6674
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6675
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6676
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6677
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6678
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6679
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6680
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6681
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
6682
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
6683
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6684
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6685
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6686
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6687
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6688
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6689
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6690
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
6691
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6692
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6693
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6694
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6695
+ value: z.ZodOptional<z.ZodNumber>;
6696
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6697
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6698
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6699
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6700
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6701
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6702
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6703
+ }, "strip", z.ZodTypeAny, {
6704
+ start: Date;
6705
+ end?: Date | undefined;
6706
+ }, {
6707
+ start: string | Date;
6708
+ end?: string | Date | undefined;
6709
+ }>, {
6710
+ start: Date;
6711
+ end?: Date | undefined;
6712
+ }, {
6713
+ start: string | Date;
6714
+ end?: string | Date | undefined;
6715
+ }>>;
6716
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6717
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6718
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6719
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6720
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6721
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6722
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6723
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6724
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6725
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6726
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6727
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6728
+ }, "strip", z.ZodTypeAny, {
6729
+ name?: string | undefined;
6730
+ }, {
6731
+ name?: string | undefined;
6732
+ }>>>;
6733
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6734
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6735
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6736
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6737
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6738
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6739
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6740
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
6741
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
6742
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6743
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6744
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6745
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6746
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6747
+ value: z.ZodOptional<z.ZodNumber>;
6748
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6749
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6750
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6751
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6752
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6753
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6754
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6755
+ }, "strip", z.ZodTypeAny, {
6756
+ start: Date;
6757
+ end?: Date | undefined;
6758
+ }, {
6759
+ start: string | Date;
6760
+ end?: string | Date | undefined;
6761
+ }>, {
6762
+ start: Date;
6763
+ end?: Date | undefined;
6764
+ }, {
6765
+ start: string | Date;
6766
+ end?: string | Date | undefined;
6767
+ }>>;
6768
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6769
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6770
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6771
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6772
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6773
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6774
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6775
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6776
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6777
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6778
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6779
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6780
+ }, "strip", z.ZodTypeAny, {
6781
+ name?: string | undefined;
6782
+ }, {
6783
+ name?: string | undefined;
6784
+ }>>>;
6785
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6786
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6787
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6788
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6789
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6790
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6791
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6792
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
6793
+ shop: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6794
+ vendor: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6795
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6796
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
6797
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6798
+ value: z.ZodOptional<z.ZodNumber>;
6799
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6800
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6801
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6802
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6803
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6804
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6805
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6806
+ }, "strip", z.ZodTypeAny, {
6807
+ start: Date;
6808
+ end?: Date | undefined;
6809
+ }, {
6810
+ start: string | Date;
6811
+ end?: string | Date | undefined;
6812
+ }>, {
6813
+ start: Date;
6814
+ end?: Date | undefined;
6815
+ }, {
6816
+ start: string | Date;
6817
+ end?: string | Date | undefined;
6818
+ }>>;
6819
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6820
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6821
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6822
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6823
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6824
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6825
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6826
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6827
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6828
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6829
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6830
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6831
+ }, "strip", z.ZodTypeAny, {
6832
+ name?: string | undefined;
6833
+ }, {
6834
+ name?: string | undefined;
6835
+ }>>>;
6836
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6837
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6838
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6839
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6840
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6841
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6842
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6843
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
6844
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
6845
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
6846
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6847
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6848
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6849
+ value: z.ZodOptional<z.ZodNumber>;
6850
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6851
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6852
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6853
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6854
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6855
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6856
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6857
+ }, "strip", z.ZodTypeAny, {
6858
+ start: Date;
6859
+ end?: Date | undefined;
6860
+ }, {
6861
+ start: string | Date;
6862
+ end?: string | Date | undefined;
6863
+ }>, {
6864
+ start: Date;
6865
+ end?: Date | undefined;
6866
+ }, {
6867
+ start: string | Date;
6868
+ end?: string | Date | undefined;
6869
+ }>>;
6870
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6871
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6872
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6873
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6874
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6875
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6876
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6877
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6878
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6879
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6880
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6881
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6882
+ }, "strip", z.ZodTypeAny, {
6883
+ name?: string | undefined;
6884
+ }, {
6885
+ name?: string | undefined;
6886
+ }>>>;
6887
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6888
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6889
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6890
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6891
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6892
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6893
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
6894
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
6895
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6896
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
6897
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6898
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
6899
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6900
+ value: z.ZodOptional<z.ZodNumber>;
6901
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6902
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6903
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6904
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6905
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6906
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6907
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6908
+ }, "strip", z.ZodTypeAny, {
6909
+ start: Date;
6910
+ end?: Date | undefined;
6911
+ }, {
6912
+ start: string | Date;
6913
+ end?: string | Date | undefined;
6914
+ }>, {
6915
+ start: Date;
6916
+ end?: Date | undefined;
6917
+ }, {
6918
+ start: string | Date;
6919
+ end?: string | Date | undefined;
6920
+ }>>;
6921
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6922
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6923
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6924
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6925
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6926
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6927
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6928
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6929
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
6930
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
6931
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
6932
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6933
+ }, "strip", z.ZodTypeAny, {
6934
+ name?: string | undefined;
6935
+ }, {
6936
+ name?: string | undefined;
6937
+ }>>>;
6938
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
6939
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6940
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6941
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
6942
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6943
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
6944
+ }, z.ZodTypeAny, "passthrough">)[];
6945
+ metadata?: {
6946
+ page: number;
6947
+ size: number;
6948
+ totalElements: number;
6949
+ totalPages: number;
6950
+ } | undefined;
6951
+ } | undefined;
6952
+ };
6953
+ meta: object;
6954
+ }>;
6955
+ getSingleCouponUsers: import("@trpc/server").TRPCQueryProcedure<{
6956
+ input: {
6957
+ couponId: string;
6958
+ sort?: Record<string, 1 | -1> | undefined;
6959
+ page?: number | undefined;
6960
+ size?: number | undefined;
6961
+ startDate?: Date | undefined;
6962
+ endDate?: Date | undefined;
6963
+ search?: string | undefined;
6964
+ zone?: string | undefined;
6965
+ };
6966
+ output: {
6967
+ message: string;
6968
+ success: boolean;
6969
+ data?: z.objectInputType<{
6970
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
6971
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
6972
+ value: z.ZodOptional<z.ZodNumber>;
6973
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6974
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6975
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6976
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6977
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6978
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
6979
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
6980
+ }, "strip", z.ZodTypeAny, {
6981
+ start: Date;
6982
+ end?: Date | undefined;
6983
+ }, {
6984
+ start: string | Date;
6985
+ end?: string | Date | undefined;
6986
+ }>, {
6987
+ start: Date;
6988
+ end?: Date | undefined;
6989
+ }, {
6990
+ start: string | Date;
6991
+ end?: string | Date | undefined;
6992
+ }>>;
6993
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6994
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6995
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
6996
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
6997
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
6998
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
6999
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7000
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7001
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7002
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7003
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7004
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7005
+ }, "strip", z.ZodTypeAny, {
7006
+ name?: string | undefined;
7007
+ }, {
7008
+ name?: string | undefined;
7009
+ }>>>;
7010
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7011
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7012
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7013
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7014
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7015
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7016
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7017
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
7018
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
7019
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7020
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7021
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7022
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7023
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7024
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7025
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7026
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
7027
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7028
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7029
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7030
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7031
+ value: z.ZodOptional<z.ZodNumber>;
7032
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7033
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7034
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7035
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7036
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7037
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7038
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7039
+ }, "strip", z.ZodTypeAny, {
7040
+ start: Date;
7041
+ end?: Date | undefined;
7042
+ }, {
7043
+ start: string | Date;
7044
+ end?: string | Date | undefined;
7045
+ }>, {
7046
+ start: Date;
7047
+ end?: Date | undefined;
7048
+ }, {
7049
+ start: string | Date;
7050
+ end?: string | Date | undefined;
7051
+ }>>;
7052
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7053
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7054
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7055
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7056
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7057
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7058
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7059
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7060
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7061
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7062
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7063
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7064
+ }, "strip", z.ZodTypeAny, {
7065
+ name?: string | undefined;
7066
+ }, {
7067
+ name?: string | undefined;
7068
+ }>>>;
7069
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7070
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7071
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7072
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7073
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7074
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7075
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7076
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
7077
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
7078
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7079
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7080
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7081
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7082
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7083
+ value: z.ZodOptional<z.ZodNumber>;
7084
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7085
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7086
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7087
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7088
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7089
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7090
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7091
+ }, "strip", z.ZodTypeAny, {
7092
+ start: Date;
7093
+ end?: Date | undefined;
7094
+ }, {
7095
+ start: string | Date;
7096
+ end?: string | Date | undefined;
7097
+ }>, {
7098
+ start: Date;
7099
+ end?: Date | undefined;
7100
+ }, {
7101
+ start: string | Date;
7102
+ end?: string | Date | undefined;
7103
+ }>>;
7104
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7105
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7106
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7107
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7108
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7109
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7110
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7111
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7112
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7113
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7114
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7115
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7116
+ }, "strip", z.ZodTypeAny, {
7117
+ name?: string | undefined;
7118
+ }, {
7119
+ name?: string | undefined;
7120
+ }>>>;
7121
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7122
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7123
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7124
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7125
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7126
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7127
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7128
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
7129
+ shop: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7130
+ vendor: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7131
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7132
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7133
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7134
+ value: z.ZodOptional<z.ZodNumber>;
7135
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7136
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7137
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7138
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7139
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7140
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7141
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7142
+ }, "strip", z.ZodTypeAny, {
7143
+ start: Date;
7144
+ end?: Date | undefined;
7145
+ }, {
7146
+ start: string | Date;
7147
+ end?: string | Date | undefined;
7148
+ }>, {
7149
+ start: Date;
7150
+ end?: Date | undefined;
7151
+ }, {
7152
+ start: string | Date;
7153
+ end?: string | Date | undefined;
7154
+ }>>;
7155
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7156
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7157
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7158
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7159
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7160
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7161
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7162
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7163
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7164
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7165
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7166
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7167
+ }, "strip", z.ZodTypeAny, {
7168
+ name?: string | undefined;
7169
+ }, {
7170
+ name?: string | undefined;
7171
+ }>>>;
7172
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7173
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7174
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7175
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7176
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7177
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7178
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7179
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
7180
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
7181
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
7182
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7183
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7184
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7185
+ value: z.ZodOptional<z.ZodNumber>;
7186
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7187
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7188
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7189
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7190
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7191
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7192
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7193
+ }, "strip", z.ZodTypeAny, {
7194
+ start: Date;
7195
+ end?: Date | undefined;
7196
+ }, {
7197
+ start: string | Date;
7198
+ end?: string | Date | undefined;
7199
+ }>, {
7200
+ start: Date;
7201
+ end?: Date | undefined;
7202
+ }, {
7203
+ start: string | Date;
7204
+ end?: string | Date | undefined;
7205
+ }>>;
7206
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7207
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7208
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7209
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7210
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7211
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7212
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7213
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7214
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7215
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7216
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7217
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7218
+ }, "strip", z.ZodTypeAny, {
7219
+ name?: string | undefined;
7220
+ }, {
7221
+ name?: string | undefined;
7222
+ }>>>;
7223
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7224
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7225
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7226
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7227
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7228
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7229
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7230
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
7231
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7232
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
7233
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7234
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7235
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7236
+ value: z.ZodOptional<z.ZodNumber>;
7237
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7238
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7239
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7240
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7241
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7242
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7243
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7244
+ }, "strip", z.ZodTypeAny, {
7245
+ start: Date;
7246
+ end?: Date | undefined;
7247
+ }, {
7248
+ start: string | Date;
7249
+ end?: string | Date | undefined;
7250
+ }>, {
7251
+ start: Date;
7252
+ end?: Date | undefined;
7253
+ }, {
7254
+ start: string | Date;
7255
+ end?: string | Date | undefined;
7256
+ }>>;
7257
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7258
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7259
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7260
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7261
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7262
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7263
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7264
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7265
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7266
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7267
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7268
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7269
+ }, "strip", z.ZodTypeAny, {
7270
+ name?: string | undefined;
7271
+ }, {
7272
+ name?: string | undefined;
7273
+ }>>>;
7274
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7275
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7276
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7277
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7278
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7279
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7280
+ }, z.ZodTypeAny, "passthrough"> | {
7281
+ documents: (z.objectInputType<{
7282
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
7283
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7284
+ value: z.ZodOptional<z.ZodNumber>;
7285
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7286
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7287
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7288
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7289
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7290
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7291
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7292
+ }, "strip", z.ZodTypeAny, {
7293
+ start: Date;
7294
+ end?: Date | undefined;
7295
+ }, {
7296
+ start: string | Date;
7297
+ end?: string | Date | undefined;
7298
+ }>, {
7299
+ start: Date;
7300
+ end?: Date | undefined;
7301
+ }, {
7302
+ start: string | Date;
7303
+ end?: string | Date | undefined;
7304
+ }>>;
7305
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7306
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7307
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7308
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7309
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7310
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7311
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7312
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7313
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7314
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7315
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7316
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7317
+ }, "strip", z.ZodTypeAny, {
7318
+ name?: string | undefined;
7319
+ }, {
7320
+ name?: string | undefined;
7321
+ }>>>;
7322
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7323
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7324
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7325
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7326
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7327
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7328
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7329
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_CODE>>;
7330
+ orderLimitPerUser: z.ZodOptional<z.ZodLiteral<1>>;
7331
+ referralUser: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7332
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7333
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7334
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7335
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7336
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7337
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7338
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.REFERRAL_REWARD>>;
7339
+ user: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7340
+ referralCodeUsedBy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7341
+ referralCodeUsedOnOrder: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7342
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7343
+ value: z.ZodOptional<z.ZodNumber>;
7344
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7345
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7346
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7347
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7348
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7349
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7350
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7351
+ }, "strip", z.ZodTypeAny, {
7352
+ start: Date;
7353
+ end?: Date | undefined;
7354
+ }, {
7355
+ start: string | Date;
7356
+ end?: string | Date | undefined;
7357
+ }>, {
7358
+ start: Date;
7359
+ end?: Date | undefined;
7360
+ }, {
7361
+ start: string | Date;
7362
+ end?: string | Date | undefined;
7363
+ }>>;
7364
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7365
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7366
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7367
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7368
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7369
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7370
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7371
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7372
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7373
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7374
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7375
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7376
+ }, "strip", z.ZodTypeAny, {
7377
+ name?: string | undefined;
7378
+ }, {
7379
+ name?: string | undefined;
7380
+ }>>>;
7381
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7382
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7383
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7384
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7385
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7386
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7387
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7388
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>>;
7389
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
7390
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7391
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7392
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7393
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7394
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7395
+ value: z.ZodOptional<z.ZodNumber>;
7396
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7397
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7398
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7399
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7400
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7401
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7402
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7403
+ }, "strip", z.ZodTypeAny, {
7404
+ start: Date;
7405
+ end?: Date | undefined;
7406
+ }, {
7407
+ start: string | Date;
7408
+ end?: string | Date | undefined;
7409
+ }>, {
7410
+ start: Date;
7411
+ end?: Date | undefined;
7412
+ }, {
7413
+ start: string | Date;
7414
+ end?: string | Date | undefined;
7415
+ }>>;
7416
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7417
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7418
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7419
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7420
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7421
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7422
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7423
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7424
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7425
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7426
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7427
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7428
+ }, "strip", z.ZodTypeAny, {
7429
+ name?: string | undefined;
7430
+ }, {
7431
+ name?: string | undefined;
7432
+ }>>>;
7433
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7434
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7435
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7436
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7437
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7438
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7439
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7440
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>>;
7441
+ shop: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7442
+ vendor: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7443
+ isShopCoverExpenses: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7444
+ firstOrderOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7445
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7446
+ value: z.ZodOptional<z.ZodNumber>;
7447
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7448
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7449
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7450
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7451
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7452
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7453
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7454
+ }, "strip", z.ZodTypeAny, {
7455
+ start: Date;
7456
+ end?: Date | undefined;
7457
+ }, {
7458
+ start: string | Date;
7459
+ end?: string | Date | undefined;
7460
+ }>, {
7461
+ start: Date;
7462
+ end?: Date | undefined;
7463
+ }, {
7464
+ start: string | Date;
7465
+ end?: string | Date | undefined;
7466
+ }>>;
7467
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7468
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7469
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7470
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7471
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7472
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7473
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7474
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7475
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7476
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7477
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7478
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7479
+ }, "strip", z.ZodTypeAny, {
7480
+ name?: string | undefined;
7481
+ }, {
7482
+ name?: string | undefined;
7483
+ }>>>;
7484
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7485
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7486
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7487
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7488
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7489
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7490
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7491
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER>>;
7492
+ users: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "atleastone">>;
7493
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
7494
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7495
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7496
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7497
+ value: z.ZodOptional<z.ZodNumber>;
7498
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7499
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7500
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7501
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7502
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7503
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7504
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7505
+ }, "strip", z.ZodTypeAny, {
7506
+ start: Date;
7507
+ end?: Date | undefined;
7508
+ }, {
7509
+ start: string | Date;
7510
+ end?: string | Date | undefined;
7511
+ }>, {
7512
+ start: Date;
7513
+ end?: Date | undefined;
7514
+ }, {
7515
+ start: string | Date;
7516
+ end?: string | Date | undefined;
7517
+ }>>;
7518
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7519
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7520
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7521
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7522
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7523
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7524
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7525
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7526
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7527
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7528
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7529
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7530
+ }, "strip", z.ZodTypeAny, {
7531
+ name?: string | undefined;
7532
+ }, {
7533
+ name?: string | undefined;
7534
+ }>>>;
7535
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7536
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7537
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7538
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7539
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7540
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7541
+ }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
7542
+ couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>>;
7543
+ influencer: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7544
+ itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>>;
7545
+ shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7546
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>, "many">>>;
7547
+ valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
7548
+ value: z.ZodOptional<z.ZodNumber>;
7549
+ secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7550
+ maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7551
+ secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7552
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7553
+ duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
7554
+ start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
7555
+ end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
7556
+ }, "strip", z.ZodTypeAny, {
7557
+ start: Date;
7558
+ end?: Date | undefined;
7559
+ }, {
7560
+ start: string | Date;
7561
+ end?: string | Date | undefined;
7562
+ }>, {
7563
+ start: Date;
7564
+ end?: Date | undefined;
7565
+ }, {
7566
+ start: string | Date;
7567
+ end?: string | Date | undefined;
7568
+ }>>;
7569
+ spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7570
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7571
+ totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7572
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7573
+ minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
7574
+ secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
7575
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7576
+ forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7577
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
7578
+ expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
7579
+ referringUser: z.ZodOptional<z.ZodOptional<z.ZodObject<{
7580
+ name: z.ZodOptional<z.ZodString> | z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7581
+ }, "strip", z.ZodTypeAny, {
7582
+ name?: string | undefined;
7583
+ }, {
7584
+ name?: string | undefined;
7585
+ }>>>;
7586
+ code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
7587
+ orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
7588
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
7589
+ createdBy: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>>;
7590
+ isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
7591
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mongoose.Types.ObjectId, string>, z.ZodType<mongoose.Types.ObjectId, z.ZodTypeDef, mongoose.Types.ObjectId>]>>;
7592
+ }, z.ZodTypeAny, "passthrough">)[];
7593
+ metadata?: {
7594
+ page: number;
7595
+ size: number;
7596
+ totalElements: number;
7597
+ totalPages: number;
7598
+ } | undefined;
7599
+ } | undefined;
7600
+ };
7601
+ meta: object;
7602
+ }>;
7603
+ getSingleCouponOrders: import("@trpc/server").TRPCQueryProcedure<{
7604
+ input: {
7605
+ couponId: string;
7606
+ sort?: Record<string, 1 | -1> | undefined;
7607
+ page?: number | undefined;
7608
+ size?: number | undefined;
7609
+ startDate?: Date | undefined;
7610
+ endDate?: Date | undefined;
7611
+ search?: string | undefined;
7612
+ zone?: string | undefined;
7613
+ userId?: string | undefined;
7614
+ };
7615
+ output: {
7616
+ success: boolean;
7617
+ message: string;
7618
+ data: {
7619
+ metadata: {
7620
+ page: number;
7621
+ size: number;
7622
+ totalElements: any;
7623
+ totalPages: number;
7624
+ };
7625
+ documents: any;
7626
+ } | undefined;
7627
+ };
7628
+ meta: object;
7629
+ }>;
6316
7630
  }>>;
6317
7631
  //# sourceMappingURL=coupon.router.d.ts.map