@classytic/loyalty 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +191 -0
  3. package/dist/config-aNigy4ec.d.mts +90 -0
  4. package/dist/constants-C75GvizO.mjs +49 -0
  5. package/dist/domain/enums/index.d.mts +2 -0
  6. package/dist/domain/enums/index.mjs +2 -0
  7. package/dist/domain/index.d.mts +90 -0
  8. package/dist/domain/index.mjs +4 -0
  9. package/dist/domain-errors-D7q-2LYD.mjs +120 -0
  10. package/dist/event-emitter.port-CLYPoMni.d.mts +8 -0
  11. package/dist/event-types-xQBtYBbX.mjs +24 -0
  12. package/dist/events/index.d.mts +2 -0
  13. package/dist/events/index.mjs +3 -0
  14. package/dist/events-CprEWlN7.mjs +25 -0
  15. package/dist/index-B6ZstxSP.d.mts +2357 -0
  16. package/dist/index-BcoGeDco.d.mts +127 -0
  17. package/dist/index-CaH4GhSF.d.mts +19 -0
  18. package/dist/index-DqzTjeEB.d.mts +148 -0
  19. package/dist/index-O7TL4R2P.d.mts +86 -0
  20. package/dist/index-_pg4J11t.d.mts +191 -0
  21. package/dist/index.d.mts +21 -0
  22. package/dist/index.mjs +95 -0
  23. package/dist/models/index.d.mts +2 -0
  24. package/dist/models/index.mjs +2 -0
  25. package/dist/models-CrZPmVxt.mjs +417 -0
  26. package/dist/notification.port-BzUsH0It.d.mts +13 -0
  27. package/dist/notifications/index.d.mts +21 -0
  28. package/dist/notifications/index.mjs +19 -0
  29. package/dist/repositories/index.d.mts +2 -0
  30. package/dist/repositories/index.mjs +2 -0
  31. package/dist/repositories-qMX7Xh_y.mjs +440 -0
  32. package/dist/services/index.d.mts +2 -0
  33. package/dist/services/index.mjs +2 -0
  34. package/dist/services-CoTqC4E6.mjs +1098 -0
  35. package/dist/tier-definition-Djf72UPa.d.mts +120 -0
  36. package/dist/tier-definition.port-BzrHYBRo.d.mts +143 -0
  37. package/dist/types/index.d.mts +3 -0
  38. package/dist/types/index.mjs +1 -0
  39. package/package.json +111 -0
@@ -0,0 +1,2357 @@
1
+ import { r as ModelName, s as ResolvedTenant, t as IndexDefinition } from "./config-aNigy4ec.mjs";
2
+ import * as _$mongoose from "mongoose";
3
+ import { Connection } from "mongoose";
4
+
5
+ //#region src/models/index.d.ts
6
+ declare function createModels(connection: Connection, tenant: ResolvedTenant, indexes?: Partial<Record<ModelName, IndexDefinition[]>>): {
7
+ Member: _$mongoose.Model<_$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
8
+ timestamps: true;
9
+ }, {
10
+ programId: string;
11
+ externalId: string;
12
+ externalType: string;
13
+ status: "active" | "inactive" | "suspended";
14
+ enrolledAt: NativeDate;
15
+ cardId?: string | null | undefined;
16
+ referralCode?: string | null | undefined;
17
+ tier?: string | null | undefined;
18
+ tierOverride?: string | null | undefined;
19
+ tierOverrideReason?: string | null | undefined;
20
+ tierQualifiedAt?: NativeDate | null | undefined;
21
+ tierExpiresAt?: NativeDate | null | undefined;
22
+ balance?: {
23
+ current: number;
24
+ lifetime: number;
25
+ redeemed: number;
26
+ expired: number;
27
+ } | null | undefined;
28
+ deactivatedAt?: NativeDate | null | undefined;
29
+ metadata?: any;
30
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
31
+ programId: string;
32
+ externalId: string;
33
+ externalType: string;
34
+ status: "active" | "inactive" | "suspended";
35
+ enrolledAt: NativeDate;
36
+ cardId?: string | null | undefined;
37
+ referralCode?: string | null | undefined;
38
+ tier?: string | null | undefined;
39
+ tierOverride?: string | null | undefined;
40
+ tierOverrideReason?: string | null | undefined;
41
+ tierQualifiedAt?: NativeDate | null | undefined;
42
+ tierExpiresAt?: NativeDate | null | undefined;
43
+ balance?: {
44
+ current: number;
45
+ lifetime: number;
46
+ redeemed: number;
47
+ expired: number;
48
+ } | null | undefined;
49
+ deactivatedAt?: NativeDate | null | undefined;
50
+ metadata?: any;
51
+ } & _$mongoose.DefaultTimestampProps, {
52
+ id: string;
53
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
54
+ timestamps: true;
55
+ }> & Omit<{
56
+ programId: string;
57
+ externalId: string;
58
+ externalType: string;
59
+ status: "active" | "inactive" | "suspended";
60
+ enrolledAt: NativeDate;
61
+ cardId?: string | null | undefined;
62
+ referralCode?: string | null | undefined;
63
+ tier?: string | null | undefined;
64
+ tierOverride?: string | null | undefined;
65
+ tierOverrideReason?: string | null | undefined;
66
+ tierQualifiedAt?: NativeDate | null | undefined;
67
+ tierExpiresAt?: NativeDate | null | undefined;
68
+ balance?: {
69
+ current: number;
70
+ lifetime: number;
71
+ redeemed: number;
72
+ expired: number;
73
+ } | null | undefined;
74
+ deactivatedAt?: NativeDate | null | undefined;
75
+ metadata?: any;
76
+ } & _$mongoose.DefaultTimestampProps & {
77
+ _id: _$mongoose.Types.ObjectId;
78
+ } & {
79
+ __v: number;
80
+ }, "id"> & {
81
+ id: string;
82
+ }, unknown, {
83
+ programId: string;
84
+ externalId: string;
85
+ externalType: string;
86
+ status: "active" | "inactive" | "suspended";
87
+ enrolledAt: NativeDate;
88
+ cardId?: string | null | undefined;
89
+ referralCode?: string | null | undefined;
90
+ tier?: string | null | undefined;
91
+ tierOverride?: string | null | undefined;
92
+ tierOverrideReason?: string | null | undefined;
93
+ tierQualifiedAt?: NativeDate | null | undefined;
94
+ tierExpiresAt?: NativeDate | null | undefined;
95
+ balance?: {
96
+ current: number;
97
+ lifetime: number;
98
+ redeemed: number;
99
+ expired: number;
100
+ } | null | undefined;
101
+ deactivatedAt?: NativeDate | null | undefined;
102
+ metadata?: any;
103
+ createdAt: NativeDate;
104
+ updatedAt: NativeDate;
105
+ } & {
106
+ _id: _$mongoose.Types.ObjectId;
107
+ } & {
108
+ __v: number;
109
+ }>, {}, {}, {}, _$mongoose.Document<unknown, {}, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
110
+ timestamps: true;
111
+ }, {
112
+ programId: string;
113
+ externalId: string;
114
+ externalType: string;
115
+ status: "active" | "inactive" | "suspended";
116
+ enrolledAt: NativeDate;
117
+ cardId?: string | null | undefined;
118
+ referralCode?: string | null | undefined;
119
+ tier?: string | null | undefined;
120
+ tierOverride?: string | null | undefined;
121
+ tierOverrideReason?: string | null | undefined;
122
+ tierQualifiedAt?: NativeDate | null | undefined;
123
+ tierExpiresAt?: NativeDate | null | undefined;
124
+ balance?: {
125
+ current: number;
126
+ lifetime: number;
127
+ redeemed: number;
128
+ expired: number;
129
+ } | null | undefined;
130
+ deactivatedAt?: NativeDate | null | undefined;
131
+ metadata?: any;
132
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
133
+ programId: string;
134
+ externalId: string;
135
+ externalType: string;
136
+ status: "active" | "inactive" | "suspended";
137
+ enrolledAt: NativeDate;
138
+ cardId?: string | null | undefined;
139
+ referralCode?: string | null | undefined;
140
+ tier?: string | null | undefined;
141
+ tierOverride?: string | null | undefined;
142
+ tierOverrideReason?: string | null | undefined;
143
+ tierQualifiedAt?: NativeDate | null | undefined;
144
+ tierExpiresAt?: NativeDate | null | undefined;
145
+ balance?: {
146
+ current: number;
147
+ lifetime: number;
148
+ redeemed: number;
149
+ expired: number;
150
+ } | null | undefined;
151
+ deactivatedAt?: NativeDate | null | undefined;
152
+ metadata?: any;
153
+ } & _$mongoose.DefaultTimestampProps, {
154
+ id: string;
155
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
156
+ timestamps: true;
157
+ }> & Omit<{
158
+ programId: string;
159
+ externalId: string;
160
+ externalType: string;
161
+ status: "active" | "inactive" | "suspended";
162
+ enrolledAt: NativeDate;
163
+ cardId?: string | null | undefined;
164
+ referralCode?: string | null | undefined;
165
+ tier?: string | null | undefined;
166
+ tierOverride?: string | null | undefined;
167
+ tierOverrideReason?: string | null | undefined;
168
+ tierQualifiedAt?: NativeDate | null | undefined;
169
+ tierExpiresAt?: NativeDate | null | undefined;
170
+ balance?: {
171
+ current: number;
172
+ lifetime: number;
173
+ redeemed: number;
174
+ expired: number;
175
+ } | null | undefined;
176
+ deactivatedAt?: NativeDate | null | undefined;
177
+ metadata?: any;
178
+ } & _$mongoose.DefaultTimestampProps & {
179
+ _id: _$mongoose.Types.ObjectId;
180
+ } & {
181
+ __v: number;
182
+ }, "id"> & {
183
+ id: string;
184
+ }, unknown, {
185
+ programId: string;
186
+ externalId: string;
187
+ externalType: string;
188
+ status: "active" | "inactive" | "suspended";
189
+ enrolledAt: NativeDate;
190
+ cardId?: string | null | undefined;
191
+ referralCode?: string | null | undefined;
192
+ tier?: string | null | undefined;
193
+ tierOverride?: string | null | undefined;
194
+ tierOverrideReason?: string | null | undefined;
195
+ tierQualifiedAt?: NativeDate | null | undefined;
196
+ tierExpiresAt?: NativeDate | null | undefined;
197
+ balance?: {
198
+ current: number;
199
+ lifetime: number;
200
+ redeemed: number;
201
+ expired: number;
202
+ } | null | undefined;
203
+ deactivatedAt?: NativeDate | null | undefined;
204
+ metadata?: any;
205
+ createdAt: NativeDate;
206
+ updatedAt: NativeDate;
207
+ } & {
208
+ _id: _$mongoose.Types.ObjectId;
209
+ } & {
210
+ __v: number;
211
+ }>, {}, _$mongoose.DefaultSchemaOptions> & _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
212
+ timestamps: true;
213
+ }, {
214
+ programId: string;
215
+ externalId: string;
216
+ externalType: string;
217
+ status: "active" | "inactive" | "suspended";
218
+ enrolledAt: NativeDate;
219
+ cardId?: string | null | undefined;
220
+ referralCode?: string | null | undefined;
221
+ tier?: string | null | undefined;
222
+ tierOverride?: string | null | undefined;
223
+ tierOverrideReason?: string | null | undefined;
224
+ tierQualifiedAt?: NativeDate | null | undefined;
225
+ tierExpiresAt?: NativeDate | null | undefined;
226
+ balance?: {
227
+ current: number;
228
+ lifetime: number;
229
+ redeemed: number;
230
+ expired: number;
231
+ } | null | undefined;
232
+ deactivatedAt?: NativeDate | null | undefined;
233
+ metadata?: any;
234
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
235
+ programId: string;
236
+ externalId: string;
237
+ externalType: string;
238
+ status: "active" | "inactive" | "suspended";
239
+ enrolledAt: NativeDate;
240
+ cardId?: string | null | undefined;
241
+ referralCode?: string | null | undefined;
242
+ tier?: string | null | undefined;
243
+ tierOverride?: string | null | undefined;
244
+ tierOverrideReason?: string | null | undefined;
245
+ tierQualifiedAt?: NativeDate | null | undefined;
246
+ tierExpiresAt?: NativeDate | null | undefined;
247
+ balance?: {
248
+ current: number;
249
+ lifetime: number;
250
+ redeemed: number;
251
+ expired: number;
252
+ } | null | undefined;
253
+ deactivatedAt?: NativeDate | null | undefined;
254
+ metadata?: any;
255
+ } & _$mongoose.DefaultTimestampProps, {
256
+ id: string;
257
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
258
+ timestamps: true;
259
+ }> & Omit<{
260
+ programId: string;
261
+ externalId: string;
262
+ externalType: string;
263
+ status: "active" | "inactive" | "suspended";
264
+ enrolledAt: NativeDate;
265
+ cardId?: string | null | undefined;
266
+ referralCode?: string | null | undefined;
267
+ tier?: string | null | undefined;
268
+ tierOverride?: string | null | undefined;
269
+ tierOverrideReason?: string | null | undefined;
270
+ tierQualifiedAt?: NativeDate | null | undefined;
271
+ tierExpiresAt?: NativeDate | null | undefined;
272
+ balance?: {
273
+ current: number;
274
+ lifetime: number;
275
+ redeemed: number;
276
+ expired: number;
277
+ } | null | undefined;
278
+ deactivatedAt?: NativeDate | null | undefined;
279
+ metadata?: any;
280
+ } & _$mongoose.DefaultTimestampProps & {
281
+ _id: _$mongoose.Types.ObjectId;
282
+ } & {
283
+ __v: number;
284
+ }, "id"> & {
285
+ id: string;
286
+ }, unknown, {
287
+ programId: string;
288
+ externalId: string;
289
+ externalType: string;
290
+ status: "active" | "inactive" | "suspended";
291
+ enrolledAt: NativeDate;
292
+ cardId?: string | null | undefined;
293
+ referralCode?: string | null | undefined;
294
+ tier?: string | null | undefined;
295
+ tierOverride?: string | null | undefined;
296
+ tierOverrideReason?: string | null | undefined;
297
+ tierQualifiedAt?: NativeDate | null | undefined;
298
+ tierExpiresAt?: NativeDate | null | undefined;
299
+ balance?: {
300
+ current: number;
301
+ lifetime: number;
302
+ redeemed: number;
303
+ expired: number;
304
+ } | null | undefined;
305
+ deactivatedAt?: NativeDate | null | undefined;
306
+ metadata?: any;
307
+ createdAt: NativeDate;
308
+ updatedAt: NativeDate;
309
+ } & {
310
+ _id: _$mongoose.Types.ObjectId;
311
+ } & {
312
+ __v: number;
313
+ }> & {
314
+ _id: _$mongoose.Types.ObjectId;
315
+ } & {
316
+ __v: number;
317
+ } & {
318
+ id: string;
319
+ }, any, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
320
+ timestamps: true;
321
+ }, {
322
+ programId: string;
323
+ externalId: string;
324
+ externalType: string;
325
+ status: "active" | "inactive" | "suspended";
326
+ enrolledAt: NativeDate;
327
+ cardId?: string | null | undefined;
328
+ referralCode?: string | null | undefined;
329
+ tier?: string | null | undefined;
330
+ tierOverride?: string | null | undefined;
331
+ tierOverrideReason?: string | null | undefined;
332
+ tierQualifiedAt?: NativeDate | null | undefined;
333
+ tierExpiresAt?: NativeDate | null | undefined;
334
+ balance?: {
335
+ current: number;
336
+ lifetime: number;
337
+ redeemed: number;
338
+ expired: number;
339
+ } | null | undefined;
340
+ deactivatedAt?: NativeDate | null | undefined;
341
+ metadata?: any;
342
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
343
+ programId: string;
344
+ externalId: string;
345
+ externalType: string;
346
+ status: "active" | "inactive" | "suspended";
347
+ enrolledAt: NativeDate;
348
+ cardId?: string | null | undefined;
349
+ referralCode?: string | null | undefined;
350
+ tier?: string | null | undefined;
351
+ tierOverride?: string | null | undefined;
352
+ tierOverrideReason?: string | null | undefined;
353
+ tierQualifiedAt?: NativeDate | null | undefined;
354
+ tierExpiresAt?: NativeDate | null | undefined;
355
+ balance?: {
356
+ current: number;
357
+ lifetime: number;
358
+ redeemed: number;
359
+ expired: number;
360
+ } | null | undefined;
361
+ deactivatedAt?: NativeDate | null | undefined;
362
+ metadata?: any;
363
+ } & _$mongoose.DefaultTimestampProps, {
364
+ id: string;
365
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
366
+ timestamps: true;
367
+ }> & Omit<{
368
+ programId: string;
369
+ externalId: string;
370
+ externalType: string;
371
+ status: "active" | "inactive" | "suspended";
372
+ enrolledAt: NativeDate;
373
+ cardId?: string | null | undefined;
374
+ referralCode?: string | null | undefined;
375
+ tier?: string | null | undefined;
376
+ tierOverride?: string | null | undefined;
377
+ tierOverrideReason?: string | null | undefined;
378
+ tierQualifiedAt?: NativeDate | null | undefined;
379
+ tierExpiresAt?: NativeDate | null | undefined;
380
+ balance?: {
381
+ current: number;
382
+ lifetime: number;
383
+ redeemed: number;
384
+ expired: number;
385
+ } | null | undefined;
386
+ deactivatedAt?: NativeDate | null | undefined;
387
+ metadata?: any;
388
+ } & _$mongoose.DefaultTimestampProps & {
389
+ _id: _$mongoose.Types.ObjectId;
390
+ } & {
391
+ __v: number;
392
+ }, "id"> & {
393
+ id: string;
394
+ }, unknown, {
395
+ programId: string;
396
+ externalId: string;
397
+ externalType: string;
398
+ status: "active" | "inactive" | "suspended";
399
+ enrolledAt: NativeDate;
400
+ cardId?: string | null | undefined;
401
+ referralCode?: string | null | undefined;
402
+ tier?: string | null | undefined;
403
+ tierOverride?: string | null | undefined;
404
+ tierOverrideReason?: string | null | undefined;
405
+ tierQualifiedAt?: NativeDate | null | undefined;
406
+ tierExpiresAt?: NativeDate | null | undefined;
407
+ balance?: {
408
+ current: number;
409
+ lifetime: number;
410
+ redeemed: number;
411
+ expired: number;
412
+ } | null | undefined;
413
+ deactivatedAt?: NativeDate | null | undefined;
414
+ metadata?: any;
415
+ createdAt: NativeDate;
416
+ updatedAt: NativeDate;
417
+ } & {
418
+ _id: _$mongoose.Types.ObjectId;
419
+ } & {
420
+ __v: number;
421
+ }>>;
422
+ PointTransaction: _$mongoose.Model<_$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
423
+ timestamps: {
424
+ createdAt: true;
425
+ updatedAt: false;
426
+ };
427
+ }, {
428
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
429
+ programId: string;
430
+ description: string;
431
+ memberId: _$mongoose.Types.ObjectId;
432
+ points: number;
433
+ balanceAfter: number;
434
+ actorId: string;
435
+ metadata?: any;
436
+ referenceType?: string | null | undefined;
437
+ referenceId?: string | null | undefined;
438
+ idempotencyKey?: string | null | undefined;
439
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
440
+ expiresAt?: NativeDate | null | undefined;
441
+ expiredAt?: NativeDate | null | undefined;
442
+ createdAt: NativeDate;
443
+ }, _$mongoose.Document<unknown, {}, {
444
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
445
+ programId: string;
446
+ description: string;
447
+ memberId: _$mongoose.Types.ObjectId;
448
+ points: number;
449
+ balanceAfter: number;
450
+ actorId: string;
451
+ metadata?: any;
452
+ referenceType?: string | null | undefined;
453
+ referenceId?: string | null | undefined;
454
+ idempotencyKey?: string | null | undefined;
455
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
456
+ expiresAt?: NativeDate | null | undefined;
457
+ expiredAt?: NativeDate | null | undefined;
458
+ createdAt: NativeDate;
459
+ }, {
460
+ id: string;
461
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
462
+ timestamps: {
463
+ createdAt: true;
464
+ updatedAt: false;
465
+ };
466
+ }> & Omit<{
467
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
468
+ programId: string;
469
+ description: string;
470
+ memberId: _$mongoose.Types.ObjectId;
471
+ points: number;
472
+ balanceAfter: number;
473
+ actorId: string;
474
+ metadata?: any;
475
+ referenceType?: string | null | undefined;
476
+ referenceId?: string | null | undefined;
477
+ idempotencyKey?: string | null | undefined;
478
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
479
+ expiresAt?: NativeDate | null | undefined;
480
+ expiredAt?: NativeDate | null | undefined;
481
+ createdAt: NativeDate;
482
+ } & {
483
+ _id: _$mongoose.Types.ObjectId;
484
+ } & {
485
+ __v: number;
486
+ }, "id"> & {
487
+ id: string;
488
+ }, unknown, {
489
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
490
+ programId: string;
491
+ description: string;
492
+ memberId: _$mongoose.Types.ObjectId;
493
+ points: number;
494
+ balanceAfter: number;
495
+ actorId: string;
496
+ metadata?: any;
497
+ referenceType?: string | null | undefined;
498
+ referenceId?: string | null | undefined;
499
+ idempotencyKey?: string | null | undefined;
500
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
501
+ expiresAt?: NativeDate | null | undefined;
502
+ expiredAt?: NativeDate | null | undefined;
503
+ createdAt: NativeDate;
504
+ } & {
505
+ _id: _$mongoose.Types.ObjectId;
506
+ } & {
507
+ __v: number;
508
+ }>, {}, {}, {}, _$mongoose.Document<unknown, {}, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
509
+ timestamps: {
510
+ createdAt: true;
511
+ updatedAt: false;
512
+ };
513
+ }, {
514
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
515
+ programId: string;
516
+ description: string;
517
+ memberId: _$mongoose.Types.ObjectId;
518
+ points: number;
519
+ balanceAfter: number;
520
+ actorId: string;
521
+ metadata?: any;
522
+ referenceType?: string | null | undefined;
523
+ referenceId?: string | null | undefined;
524
+ idempotencyKey?: string | null | undefined;
525
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
526
+ expiresAt?: NativeDate | null | undefined;
527
+ expiredAt?: NativeDate | null | undefined;
528
+ createdAt: NativeDate;
529
+ }, _$mongoose.Document<unknown, {}, {
530
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
531
+ programId: string;
532
+ description: string;
533
+ memberId: _$mongoose.Types.ObjectId;
534
+ points: number;
535
+ balanceAfter: number;
536
+ actorId: string;
537
+ metadata?: any;
538
+ referenceType?: string | null | undefined;
539
+ referenceId?: string | null | undefined;
540
+ idempotencyKey?: string | null | undefined;
541
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
542
+ expiresAt?: NativeDate | null | undefined;
543
+ expiredAt?: NativeDate | null | undefined;
544
+ createdAt: NativeDate;
545
+ }, {
546
+ id: string;
547
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
548
+ timestamps: {
549
+ createdAt: true;
550
+ updatedAt: false;
551
+ };
552
+ }> & Omit<{
553
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
554
+ programId: string;
555
+ description: string;
556
+ memberId: _$mongoose.Types.ObjectId;
557
+ points: number;
558
+ balanceAfter: number;
559
+ actorId: string;
560
+ metadata?: any;
561
+ referenceType?: string | null | undefined;
562
+ referenceId?: string | null | undefined;
563
+ idempotencyKey?: string | null | undefined;
564
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
565
+ expiresAt?: NativeDate | null | undefined;
566
+ expiredAt?: NativeDate | null | undefined;
567
+ createdAt: NativeDate;
568
+ } & {
569
+ _id: _$mongoose.Types.ObjectId;
570
+ } & {
571
+ __v: number;
572
+ }, "id"> & {
573
+ id: string;
574
+ }, unknown, {
575
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
576
+ programId: string;
577
+ description: string;
578
+ memberId: _$mongoose.Types.ObjectId;
579
+ points: number;
580
+ balanceAfter: number;
581
+ actorId: string;
582
+ metadata?: any;
583
+ referenceType?: string | null | undefined;
584
+ referenceId?: string | null | undefined;
585
+ idempotencyKey?: string | null | undefined;
586
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
587
+ expiresAt?: NativeDate | null | undefined;
588
+ expiredAt?: NativeDate | null | undefined;
589
+ createdAt: NativeDate;
590
+ } & {
591
+ _id: _$mongoose.Types.ObjectId;
592
+ } & {
593
+ __v: number;
594
+ }>, {}, _$mongoose.DefaultSchemaOptions> & _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
595
+ timestamps: {
596
+ createdAt: true;
597
+ updatedAt: false;
598
+ };
599
+ }, {
600
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
601
+ programId: string;
602
+ description: string;
603
+ memberId: _$mongoose.Types.ObjectId;
604
+ points: number;
605
+ balanceAfter: number;
606
+ actorId: string;
607
+ metadata?: any;
608
+ referenceType?: string | null | undefined;
609
+ referenceId?: string | null | undefined;
610
+ idempotencyKey?: string | null | undefined;
611
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
612
+ expiresAt?: NativeDate | null | undefined;
613
+ expiredAt?: NativeDate | null | undefined;
614
+ createdAt: NativeDate;
615
+ }, _$mongoose.Document<unknown, {}, {
616
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
617
+ programId: string;
618
+ description: string;
619
+ memberId: _$mongoose.Types.ObjectId;
620
+ points: number;
621
+ balanceAfter: number;
622
+ actorId: string;
623
+ metadata?: any;
624
+ referenceType?: string | null | undefined;
625
+ referenceId?: string | null | undefined;
626
+ idempotencyKey?: string | null | undefined;
627
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
628
+ expiresAt?: NativeDate | null | undefined;
629
+ expiredAt?: NativeDate | null | undefined;
630
+ createdAt: NativeDate;
631
+ }, {
632
+ id: string;
633
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
634
+ timestamps: {
635
+ createdAt: true;
636
+ updatedAt: false;
637
+ };
638
+ }> & Omit<{
639
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
640
+ programId: string;
641
+ description: string;
642
+ memberId: _$mongoose.Types.ObjectId;
643
+ points: number;
644
+ balanceAfter: number;
645
+ actorId: string;
646
+ metadata?: any;
647
+ referenceType?: string | null | undefined;
648
+ referenceId?: string | null | undefined;
649
+ idempotencyKey?: string | null | undefined;
650
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
651
+ expiresAt?: NativeDate | null | undefined;
652
+ expiredAt?: NativeDate | null | undefined;
653
+ createdAt: NativeDate;
654
+ } & {
655
+ _id: _$mongoose.Types.ObjectId;
656
+ } & {
657
+ __v: number;
658
+ }, "id"> & {
659
+ id: string;
660
+ }, unknown, {
661
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
662
+ programId: string;
663
+ description: string;
664
+ memberId: _$mongoose.Types.ObjectId;
665
+ points: number;
666
+ balanceAfter: number;
667
+ actorId: string;
668
+ metadata?: any;
669
+ referenceType?: string | null | undefined;
670
+ referenceId?: string | null | undefined;
671
+ idempotencyKey?: string | null | undefined;
672
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
673
+ expiresAt?: NativeDate | null | undefined;
674
+ expiredAt?: NativeDate | null | undefined;
675
+ createdAt: NativeDate;
676
+ } & {
677
+ _id: _$mongoose.Types.ObjectId;
678
+ } & {
679
+ __v: number;
680
+ }> & {
681
+ _id: _$mongoose.Types.ObjectId;
682
+ } & {
683
+ __v: number;
684
+ } & {
685
+ id: string;
686
+ }, any, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
687
+ timestamps: {
688
+ createdAt: true;
689
+ updatedAt: false;
690
+ };
691
+ }, {
692
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
693
+ programId: string;
694
+ description: string;
695
+ memberId: _$mongoose.Types.ObjectId;
696
+ points: number;
697
+ balanceAfter: number;
698
+ actorId: string;
699
+ metadata?: any;
700
+ referenceType?: string | null | undefined;
701
+ referenceId?: string | null | undefined;
702
+ idempotencyKey?: string | null | undefined;
703
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
704
+ expiresAt?: NativeDate | null | undefined;
705
+ expiredAt?: NativeDate | null | undefined;
706
+ createdAt: NativeDate;
707
+ }, _$mongoose.Document<unknown, {}, {
708
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
709
+ programId: string;
710
+ description: string;
711
+ memberId: _$mongoose.Types.ObjectId;
712
+ points: number;
713
+ balanceAfter: number;
714
+ actorId: string;
715
+ metadata?: any;
716
+ referenceType?: string | null | undefined;
717
+ referenceId?: string | null | undefined;
718
+ idempotencyKey?: string | null | undefined;
719
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
720
+ expiresAt?: NativeDate | null | undefined;
721
+ expiredAt?: NativeDate | null | undefined;
722
+ createdAt: NativeDate;
723
+ }, {
724
+ id: string;
725
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
726
+ timestamps: {
727
+ createdAt: true;
728
+ updatedAt: false;
729
+ };
730
+ }> & Omit<{
731
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
732
+ programId: string;
733
+ description: string;
734
+ memberId: _$mongoose.Types.ObjectId;
735
+ points: number;
736
+ balanceAfter: number;
737
+ actorId: string;
738
+ metadata?: any;
739
+ referenceType?: string | null | undefined;
740
+ referenceId?: string | null | undefined;
741
+ idempotencyKey?: string | null | undefined;
742
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
743
+ expiresAt?: NativeDate | null | undefined;
744
+ expiredAt?: NativeDate | null | undefined;
745
+ createdAt: NativeDate;
746
+ } & {
747
+ _id: _$mongoose.Types.ObjectId;
748
+ } & {
749
+ __v: number;
750
+ }, "id"> & {
751
+ id: string;
752
+ }, unknown, {
753
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
754
+ programId: string;
755
+ description: string;
756
+ memberId: _$mongoose.Types.ObjectId;
757
+ points: number;
758
+ balanceAfter: number;
759
+ actorId: string;
760
+ metadata?: any;
761
+ referenceType?: string | null | undefined;
762
+ referenceId?: string | null | undefined;
763
+ idempotencyKey?: string | null | undefined;
764
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
765
+ expiresAt?: NativeDate | null | undefined;
766
+ expiredAt?: NativeDate | null | undefined;
767
+ createdAt: NativeDate;
768
+ } & {
769
+ _id: _$mongoose.Types.ObjectId;
770
+ } & {
771
+ __v: number;
772
+ }>>;
773
+ EarningRule: _$mongoose.Model<_$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
774
+ timestamps: true;
775
+ }, {
776
+ type: "order" | "action" | "category" | "tier_bonus";
777
+ programId: string;
778
+ name: string;
779
+ status: "active" | "expired" | "paused";
780
+ priority: number;
781
+ metadata?: any;
782
+ description?: string | null | undefined;
783
+ conditions?: {
784
+ categories: string[];
785
+ tiers: string[];
786
+ actions: string[];
787
+ dayOfWeek: number[];
788
+ minOrderAmount?: number | null | undefined;
789
+ dateRange?: {
790
+ start?: NativeDate | null | undefined;
791
+ end?: NativeDate | null | undefined;
792
+ } | null | undefined;
793
+ } | null | undefined;
794
+ reward?: {
795
+ roundingMode: "floor" | "round" | "ceil";
796
+ pointsPerAmount?: number | null | undefined;
797
+ amountPerPoint?: number | null | undefined;
798
+ fixedPoints?: number | null | undefined;
799
+ multiplier?: number | null | undefined;
800
+ maxPointsPerTransaction?: number | null | undefined;
801
+ } | null | undefined;
802
+ startsAt?: NativeDate | null | undefined;
803
+ endsAt?: NativeDate | null | undefined;
804
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
805
+ type: "order" | "action" | "category" | "tier_bonus";
806
+ programId: string;
807
+ name: string;
808
+ status: "active" | "expired" | "paused";
809
+ priority: number;
810
+ metadata?: any;
811
+ description?: string | null | undefined;
812
+ conditions?: {
813
+ categories: string[];
814
+ tiers: string[];
815
+ actions: string[];
816
+ dayOfWeek: number[];
817
+ minOrderAmount?: number | null | undefined;
818
+ dateRange?: {
819
+ start?: NativeDate | null | undefined;
820
+ end?: NativeDate | null | undefined;
821
+ } | null | undefined;
822
+ } | null | undefined;
823
+ reward?: {
824
+ roundingMode: "floor" | "round" | "ceil";
825
+ pointsPerAmount?: number | null | undefined;
826
+ amountPerPoint?: number | null | undefined;
827
+ fixedPoints?: number | null | undefined;
828
+ multiplier?: number | null | undefined;
829
+ maxPointsPerTransaction?: number | null | undefined;
830
+ } | null | undefined;
831
+ startsAt?: NativeDate | null | undefined;
832
+ endsAt?: NativeDate | null | undefined;
833
+ } & _$mongoose.DefaultTimestampProps, {
834
+ id: string;
835
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
836
+ timestamps: true;
837
+ }> & Omit<{
838
+ type: "order" | "action" | "category" | "tier_bonus";
839
+ programId: string;
840
+ name: string;
841
+ status: "active" | "expired" | "paused";
842
+ priority: number;
843
+ metadata?: any;
844
+ description?: string | null | undefined;
845
+ conditions?: {
846
+ categories: string[];
847
+ tiers: string[];
848
+ actions: string[];
849
+ dayOfWeek: number[];
850
+ minOrderAmount?: number | null | undefined;
851
+ dateRange?: {
852
+ start?: NativeDate | null | undefined;
853
+ end?: NativeDate | null | undefined;
854
+ } | null | undefined;
855
+ } | null | undefined;
856
+ reward?: {
857
+ roundingMode: "floor" | "round" | "ceil";
858
+ pointsPerAmount?: number | null | undefined;
859
+ amountPerPoint?: number | null | undefined;
860
+ fixedPoints?: number | null | undefined;
861
+ multiplier?: number | null | undefined;
862
+ maxPointsPerTransaction?: number | null | undefined;
863
+ } | null | undefined;
864
+ startsAt?: NativeDate | null | undefined;
865
+ endsAt?: NativeDate | null | undefined;
866
+ } & _$mongoose.DefaultTimestampProps & {
867
+ _id: _$mongoose.Types.ObjectId;
868
+ } & {
869
+ __v: number;
870
+ }, "id"> & {
871
+ id: string;
872
+ }, unknown, {
873
+ type: "order" | "action" | "category" | "tier_bonus";
874
+ programId: string;
875
+ name: string;
876
+ status: "active" | "expired" | "paused";
877
+ priority: number;
878
+ metadata?: any;
879
+ description?: string | null | undefined;
880
+ conditions?: {
881
+ categories: string[];
882
+ tiers: string[];
883
+ actions: string[];
884
+ dayOfWeek: number[];
885
+ minOrderAmount?: number | null | undefined;
886
+ dateRange?: {
887
+ start?: NativeDate | null | undefined;
888
+ end?: NativeDate | null | undefined;
889
+ } | null | undefined;
890
+ } | null | undefined;
891
+ reward?: {
892
+ roundingMode: "floor" | "round" | "ceil";
893
+ pointsPerAmount?: number | null | undefined;
894
+ amountPerPoint?: number | null | undefined;
895
+ fixedPoints?: number | null | undefined;
896
+ multiplier?: number | null | undefined;
897
+ maxPointsPerTransaction?: number | null | undefined;
898
+ } | null | undefined;
899
+ startsAt?: NativeDate | null | undefined;
900
+ endsAt?: NativeDate | null | undefined;
901
+ createdAt: NativeDate;
902
+ updatedAt: NativeDate;
903
+ } & {
904
+ _id: _$mongoose.Types.ObjectId;
905
+ } & {
906
+ __v: number;
907
+ }>, {}, {}, {}, _$mongoose.Document<unknown, {}, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
908
+ timestamps: true;
909
+ }, {
910
+ type: "order" | "action" | "category" | "tier_bonus";
911
+ programId: string;
912
+ name: string;
913
+ status: "active" | "expired" | "paused";
914
+ priority: number;
915
+ metadata?: any;
916
+ description?: string | null | undefined;
917
+ conditions?: {
918
+ categories: string[];
919
+ tiers: string[];
920
+ actions: string[];
921
+ dayOfWeek: number[];
922
+ minOrderAmount?: number | null | undefined;
923
+ dateRange?: {
924
+ start?: NativeDate | null | undefined;
925
+ end?: NativeDate | null | undefined;
926
+ } | null | undefined;
927
+ } | null | undefined;
928
+ reward?: {
929
+ roundingMode: "floor" | "round" | "ceil";
930
+ pointsPerAmount?: number | null | undefined;
931
+ amountPerPoint?: number | null | undefined;
932
+ fixedPoints?: number | null | undefined;
933
+ multiplier?: number | null | undefined;
934
+ maxPointsPerTransaction?: number | null | undefined;
935
+ } | null | undefined;
936
+ startsAt?: NativeDate | null | undefined;
937
+ endsAt?: NativeDate | null | undefined;
938
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
939
+ type: "order" | "action" | "category" | "tier_bonus";
940
+ programId: string;
941
+ name: string;
942
+ status: "active" | "expired" | "paused";
943
+ priority: number;
944
+ metadata?: any;
945
+ description?: string | null | undefined;
946
+ conditions?: {
947
+ categories: string[];
948
+ tiers: string[];
949
+ actions: string[];
950
+ dayOfWeek: number[];
951
+ minOrderAmount?: number | null | undefined;
952
+ dateRange?: {
953
+ start?: NativeDate | null | undefined;
954
+ end?: NativeDate | null | undefined;
955
+ } | null | undefined;
956
+ } | null | undefined;
957
+ reward?: {
958
+ roundingMode: "floor" | "round" | "ceil";
959
+ pointsPerAmount?: number | null | undefined;
960
+ amountPerPoint?: number | null | undefined;
961
+ fixedPoints?: number | null | undefined;
962
+ multiplier?: number | null | undefined;
963
+ maxPointsPerTransaction?: number | null | undefined;
964
+ } | null | undefined;
965
+ startsAt?: NativeDate | null | undefined;
966
+ endsAt?: NativeDate | null | undefined;
967
+ } & _$mongoose.DefaultTimestampProps, {
968
+ id: string;
969
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
970
+ timestamps: true;
971
+ }> & Omit<{
972
+ type: "order" | "action" | "category" | "tier_bonus";
973
+ programId: string;
974
+ name: string;
975
+ status: "active" | "expired" | "paused";
976
+ priority: number;
977
+ metadata?: any;
978
+ description?: string | null | undefined;
979
+ conditions?: {
980
+ categories: string[];
981
+ tiers: string[];
982
+ actions: string[];
983
+ dayOfWeek: number[];
984
+ minOrderAmount?: number | null | undefined;
985
+ dateRange?: {
986
+ start?: NativeDate | null | undefined;
987
+ end?: NativeDate | null | undefined;
988
+ } | null | undefined;
989
+ } | null | undefined;
990
+ reward?: {
991
+ roundingMode: "floor" | "round" | "ceil";
992
+ pointsPerAmount?: number | null | undefined;
993
+ amountPerPoint?: number | null | undefined;
994
+ fixedPoints?: number | null | undefined;
995
+ multiplier?: number | null | undefined;
996
+ maxPointsPerTransaction?: number | null | undefined;
997
+ } | null | undefined;
998
+ startsAt?: NativeDate | null | undefined;
999
+ endsAt?: NativeDate | null | undefined;
1000
+ } & _$mongoose.DefaultTimestampProps & {
1001
+ _id: _$mongoose.Types.ObjectId;
1002
+ } & {
1003
+ __v: number;
1004
+ }, "id"> & {
1005
+ id: string;
1006
+ }, unknown, {
1007
+ type: "order" | "action" | "category" | "tier_bonus";
1008
+ programId: string;
1009
+ name: string;
1010
+ status: "active" | "expired" | "paused";
1011
+ priority: number;
1012
+ metadata?: any;
1013
+ description?: string | null | undefined;
1014
+ conditions?: {
1015
+ categories: string[];
1016
+ tiers: string[];
1017
+ actions: string[];
1018
+ dayOfWeek: number[];
1019
+ minOrderAmount?: number | null | undefined;
1020
+ dateRange?: {
1021
+ start?: NativeDate | null | undefined;
1022
+ end?: NativeDate | null | undefined;
1023
+ } | null | undefined;
1024
+ } | null | undefined;
1025
+ reward?: {
1026
+ roundingMode: "floor" | "round" | "ceil";
1027
+ pointsPerAmount?: number | null | undefined;
1028
+ amountPerPoint?: number | null | undefined;
1029
+ fixedPoints?: number | null | undefined;
1030
+ multiplier?: number | null | undefined;
1031
+ maxPointsPerTransaction?: number | null | undefined;
1032
+ } | null | undefined;
1033
+ startsAt?: NativeDate | null | undefined;
1034
+ endsAt?: NativeDate | null | undefined;
1035
+ createdAt: NativeDate;
1036
+ updatedAt: NativeDate;
1037
+ } & {
1038
+ _id: _$mongoose.Types.ObjectId;
1039
+ } & {
1040
+ __v: number;
1041
+ }>, {}, _$mongoose.DefaultSchemaOptions> & _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1042
+ timestamps: true;
1043
+ }, {
1044
+ type: "order" | "action" | "category" | "tier_bonus";
1045
+ programId: string;
1046
+ name: string;
1047
+ status: "active" | "expired" | "paused";
1048
+ priority: number;
1049
+ metadata?: any;
1050
+ description?: string | null | undefined;
1051
+ conditions?: {
1052
+ categories: string[];
1053
+ tiers: string[];
1054
+ actions: string[];
1055
+ dayOfWeek: number[];
1056
+ minOrderAmount?: number | null | undefined;
1057
+ dateRange?: {
1058
+ start?: NativeDate | null | undefined;
1059
+ end?: NativeDate | null | undefined;
1060
+ } | null | undefined;
1061
+ } | null | undefined;
1062
+ reward?: {
1063
+ roundingMode: "floor" | "round" | "ceil";
1064
+ pointsPerAmount?: number | null | undefined;
1065
+ amountPerPoint?: number | null | undefined;
1066
+ fixedPoints?: number | null | undefined;
1067
+ multiplier?: number | null | undefined;
1068
+ maxPointsPerTransaction?: number | null | undefined;
1069
+ } | null | undefined;
1070
+ startsAt?: NativeDate | null | undefined;
1071
+ endsAt?: NativeDate | null | undefined;
1072
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1073
+ type: "order" | "action" | "category" | "tier_bonus";
1074
+ programId: string;
1075
+ name: string;
1076
+ status: "active" | "expired" | "paused";
1077
+ priority: number;
1078
+ metadata?: any;
1079
+ description?: string | null | undefined;
1080
+ conditions?: {
1081
+ categories: string[];
1082
+ tiers: string[];
1083
+ actions: string[];
1084
+ dayOfWeek: number[];
1085
+ minOrderAmount?: number | null | undefined;
1086
+ dateRange?: {
1087
+ start?: NativeDate | null | undefined;
1088
+ end?: NativeDate | null | undefined;
1089
+ } | null | undefined;
1090
+ } | null | undefined;
1091
+ reward?: {
1092
+ roundingMode: "floor" | "round" | "ceil";
1093
+ pointsPerAmount?: number | null | undefined;
1094
+ amountPerPoint?: number | null | undefined;
1095
+ fixedPoints?: number | null | undefined;
1096
+ multiplier?: number | null | undefined;
1097
+ maxPointsPerTransaction?: number | null | undefined;
1098
+ } | null | undefined;
1099
+ startsAt?: NativeDate | null | undefined;
1100
+ endsAt?: NativeDate | null | undefined;
1101
+ } & _$mongoose.DefaultTimestampProps, {
1102
+ id: string;
1103
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1104
+ timestamps: true;
1105
+ }> & Omit<{
1106
+ type: "order" | "action" | "category" | "tier_bonus";
1107
+ programId: string;
1108
+ name: string;
1109
+ status: "active" | "expired" | "paused";
1110
+ priority: number;
1111
+ metadata?: any;
1112
+ description?: string | null | undefined;
1113
+ conditions?: {
1114
+ categories: string[];
1115
+ tiers: string[];
1116
+ actions: string[];
1117
+ dayOfWeek: number[];
1118
+ minOrderAmount?: number | null | undefined;
1119
+ dateRange?: {
1120
+ start?: NativeDate | null | undefined;
1121
+ end?: NativeDate | null | undefined;
1122
+ } | null | undefined;
1123
+ } | null | undefined;
1124
+ reward?: {
1125
+ roundingMode: "floor" | "round" | "ceil";
1126
+ pointsPerAmount?: number | null | undefined;
1127
+ amountPerPoint?: number | null | undefined;
1128
+ fixedPoints?: number | null | undefined;
1129
+ multiplier?: number | null | undefined;
1130
+ maxPointsPerTransaction?: number | null | undefined;
1131
+ } | null | undefined;
1132
+ startsAt?: NativeDate | null | undefined;
1133
+ endsAt?: NativeDate | null | undefined;
1134
+ } & _$mongoose.DefaultTimestampProps & {
1135
+ _id: _$mongoose.Types.ObjectId;
1136
+ } & {
1137
+ __v: number;
1138
+ }, "id"> & {
1139
+ id: string;
1140
+ }, unknown, {
1141
+ type: "order" | "action" | "category" | "tier_bonus";
1142
+ programId: string;
1143
+ name: string;
1144
+ status: "active" | "expired" | "paused";
1145
+ priority: number;
1146
+ metadata?: any;
1147
+ description?: string | null | undefined;
1148
+ conditions?: {
1149
+ categories: string[];
1150
+ tiers: string[];
1151
+ actions: string[];
1152
+ dayOfWeek: number[];
1153
+ minOrderAmount?: number | null | undefined;
1154
+ dateRange?: {
1155
+ start?: NativeDate | null | undefined;
1156
+ end?: NativeDate | null | undefined;
1157
+ } | null | undefined;
1158
+ } | null | undefined;
1159
+ reward?: {
1160
+ roundingMode: "floor" | "round" | "ceil";
1161
+ pointsPerAmount?: number | null | undefined;
1162
+ amountPerPoint?: number | null | undefined;
1163
+ fixedPoints?: number | null | undefined;
1164
+ multiplier?: number | null | undefined;
1165
+ maxPointsPerTransaction?: number | null | undefined;
1166
+ } | null | undefined;
1167
+ startsAt?: NativeDate | null | undefined;
1168
+ endsAt?: NativeDate | null | undefined;
1169
+ createdAt: NativeDate;
1170
+ updatedAt: NativeDate;
1171
+ } & {
1172
+ _id: _$mongoose.Types.ObjectId;
1173
+ } & {
1174
+ __v: number;
1175
+ }> & {
1176
+ _id: _$mongoose.Types.ObjectId;
1177
+ } & {
1178
+ __v: number;
1179
+ } & {
1180
+ id: string;
1181
+ }, any, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1182
+ timestamps: true;
1183
+ }, {
1184
+ type: "order" | "action" | "category" | "tier_bonus";
1185
+ programId: string;
1186
+ name: string;
1187
+ status: "active" | "expired" | "paused";
1188
+ priority: number;
1189
+ metadata?: any;
1190
+ description?: string | null | undefined;
1191
+ conditions?: {
1192
+ categories: string[];
1193
+ tiers: string[];
1194
+ actions: string[];
1195
+ dayOfWeek: number[];
1196
+ minOrderAmount?: number | null | undefined;
1197
+ dateRange?: {
1198
+ start?: NativeDate | null | undefined;
1199
+ end?: NativeDate | null | undefined;
1200
+ } | null | undefined;
1201
+ } | null | undefined;
1202
+ reward?: {
1203
+ roundingMode: "floor" | "round" | "ceil";
1204
+ pointsPerAmount?: number | null | undefined;
1205
+ amountPerPoint?: number | null | undefined;
1206
+ fixedPoints?: number | null | undefined;
1207
+ multiplier?: number | null | undefined;
1208
+ maxPointsPerTransaction?: number | null | undefined;
1209
+ } | null | undefined;
1210
+ startsAt?: NativeDate | null | undefined;
1211
+ endsAt?: NativeDate | null | undefined;
1212
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1213
+ type: "order" | "action" | "category" | "tier_bonus";
1214
+ programId: string;
1215
+ name: string;
1216
+ status: "active" | "expired" | "paused";
1217
+ priority: number;
1218
+ metadata?: any;
1219
+ description?: string | null | undefined;
1220
+ conditions?: {
1221
+ categories: string[];
1222
+ tiers: string[];
1223
+ actions: string[];
1224
+ dayOfWeek: number[];
1225
+ minOrderAmount?: number | null | undefined;
1226
+ dateRange?: {
1227
+ start?: NativeDate | null | undefined;
1228
+ end?: NativeDate | null | undefined;
1229
+ } | null | undefined;
1230
+ } | null | undefined;
1231
+ reward?: {
1232
+ roundingMode: "floor" | "round" | "ceil";
1233
+ pointsPerAmount?: number | null | undefined;
1234
+ amountPerPoint?: number | null | undefined;
1235
+ fixedPoints?: number | null | undefined;
1236
+ multiplier?: number | null | undefined;
1237
+ maxPointsPerTransaction?: number | null | undefined;
1238
+ } | null | undefined;
1239
+ startsAt?: NativeDate | null | undefined;
1240
+ endsAt?: NativeDate | null | undefined;
1241
+ } & _$mongoose.DefaultTimestampProps, {
1242
+ id: string;
1243
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1244
+ timestamps: true;
1245
+ }> & Omit<{
1246
+ type: "order" | "action" | "category" | "tier_bonus";
1247
+ programId: string;
1248
+ name: string;
1249
+ status: "active" | "expired" | "paused";
1250
+ priority: number;
1251
+ metadata?: any;
1252
+ description?: string | null | undefined;
1253
+ conditions?: {
1254
+ categories: string[];
1255
+ tiers: string[];
1256
+ actions: string[];
1257
+ dayOfWeek: number[];
1258
+ minOrderAmount?: number | null | undefined;
1259
+ dateRange?: {
1260
+ start?: NativeDate | null | undefined;
1261
+ end?: NativeDate | null | undefined;
1262
+ } | null | undefined;
1263
+ } | null | undefined;
1264
+ reward?: {
1265
+ roundingMode: "floor" | "round" | "ceil";
1266
+ pointsPerAmount?: number | null | undefined;
1267
+ amountPerPoint?: number | null | undefined;
1268
+ fixedPoints?: number | null | undefined;
1269
+ multiplier?: number | null | undefined;
1270
+ maxPointsPerTransaction?: number | null | undefined;
1271
+ } | null | undefined;
1272
+ startsAt?: NativeDate | null | undefined;
1273
+ endsAt?: NativeDate | null | undefined;
1274
+ } & _$mongoose.DefaultTimestampProps & {
1275
+ _id: _$mongoose.Types.ObjectId;
1276
+ } & {
1277
+ __v: number;
1278
+ }, "id"> & {
1279
+ id: string;
1280
+ }, unknown, {
1281
+ type: "order" | "action" | "category" | "tier_bonus";
1282
+ programId: string;
1283
+ name: string;
1284
+ status: "active" | "expired" | "paused";
1285
+ priority: number;
1286
+ metadata?: any;
1287
+ description?: string | null | undefined;
1288
+ conditions?: {
1289
+ categories: string[];
1290
+ tiers: string[];
1291
+ actions: string[];
1292
+ dayOfWeek: number[];
1293
+ minOrderAmount?: number | null | undefined;
1294
+ dateRange?: {
1295
+ start?: NativeDate | null | undefined;
1296
+ end?: NativeDate | null | undefined;
1297
+ } | null | undefined;
1298
+ } | null | undefined;
1299
+ reward?: {
1300
+ roundingMode: "floor" | "round" | "ceil";
1301
+ pointsPerAmount?: number | null | undefined;
1302
+ amountPerPoint?: number | null | undefined;
1303
+ fixedPoints?: number | null | undefined;
1304
+ multiplier?: number | null | undefined;
1305
+ maxPointsPerTransaction?: number | null | undefined;
1306
+ } | null | undefined;
1307
+ startsAt?: NativeDate | null | undefined;
1308
+ endsAt?: NativeDate | null | undefined;
1309
+ createdAt: NativeDate;
1310
+ updatedAt: NativeDate;
1311
+ } & {
1312
+ _id: _$mongoose.Types.ObjectId;
1313
+ } & {
1314
+ __v: number;
1315
+ }>>;
1316
+ TierDefinition: _$mongoose.Model<_$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1317
+ timestamps: true;
1318
+ }, {
1319
+ programId: string;
1320
+ name: string;
1321
+ rank: number;
1322
+ metadata?: any;
1323
+ qualificationCriteria?: {
1324
+ minLifetimePoints?: number | null | undefined;
1325
+ minLifetimeSpend?: number | null | undefined;
1326
+ evaluationPeriodDays?: number | null | undefined;
1327
+ } | null | undefined;
1328
+ benefits?: {
1329
+ pointsMultiplier?: number | null | undefined;
1330
+ discountPercent?: number | null | undefined;
1331
+ freeShipping?: boolean | null | undefined;
1332
+ customBenefits?: any;
1333
+ } | null | undefined;
1334
+ downgrade?: {
1335
+ enabled: boolean;
1336
+ gracePeriodDays: number;
1337
+ } | null | undefined;
1338
+ color?: string | null | undefined;
1339
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1340
+ programId: string;
1341
+ name: string;
1342
+ rank: number;
1343
+ metadata?: any;
1344
+ qualificationCriteria?: {
1345
+ minLifetimePoints?: number | null | undefined;
1346
+ minLifetimeSpend?: number | null | undefined;
1347
+ evaluationPeriodDays?: number | null | undefined;
1348
+ } | null | undefined;
1349
+ benefits?: {
1350
+ pointsMultiplier?: number | null | undefined;
1351
+ discountPercent?: number | null | undefined;
1352
+ freeShipping?: boolean | null | undefined;
1353
+ customBenefits?: any;
1354
+ } | null | undefined;
1355
+ downgrade?: {
1356
+ enabled: boolean;
1357
+ gracePeriodDays: number;
1358
+ } | null | undefined;
1359
+ color?: string | null | undefined;
1360
+ } & _$mongoose.DefaultTimestampProps, {
1361
+ id: string;
1362
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1363
+ timestamps: true;
1364
+ }> & Omit<{
1365
+ programId: string;
1366
+ name: string;
1367
+ rank: number;
1368
+ metadata?: any;
1369
+ qualificationCriteria?: {
1370
+ minLifetimePoints?: number | null | undefined;
1371
+ minLifetimeSpend?: number | null | undefined;
1372
+ evaluationPeriodDays?: number | null | undefined;
1373
+ } | null | undefined;
1374
+ benefits?: {
1375
+ pointsMultiplier?: number | null | undefined;
1376
+ discountPercent?: number | null | undefined;
1377
+ freeShipping?: boolean | null | undefined;
1378
+ customBenefits?: any;
1379
+ } | null | undefined;
1380
+ downgrade?: {
1381
+ enabled: boolean;
1382
+ gracePeriodDays: number;
1383
+ } | null | undefined;
1384
+ color?: string | null | undefined;
1385
+ } & _$mongoose.DefaultTimestampProps & {
1386
+ _id: _$mongoose.Types.ObjectId;
1387
+ } & {
1388
+ __v: number;
1389
+ }, "id"> & {
1390
+ id: string;
1391
+ }, unknown, {
1392
+ programId: string;
1393
+ name: string;
1394
+ rank: number;
1395
+ metadata?: any;
1396
+ qualificationCriteria?: {
1397
+ minLifetimePoints?: number | null | undefined;
1398
+ minLifetimeSpend?: number | null | undefined;
1399
+ evaluationPeriodDays?: number | null | undefined;
1400
+ } | null | undefined;
1401
+ benefits?: {
1402
+ pointsMultiplier?: number | null | undefined;
1403
+ discountPercent?: number | null | undefined;
1404
+ freeShipping?: boolean | null | undefined;
1405
+ customBenefits?: any;
1406
+ } | null | undefined;
1407
+ downgrade?: {
1408
+ enabled: boolean;
1409
+ gracePeriodDays: number;
1410
+ } | null | undefined;
1411
+ color?: string | null | undefined;
1412
+ createdAt: NativeDate;
1413
+ updatedAt: NativeDate;
1414
+ } & {
1415
+ _id: _$mongoose.Types.ObjectId;
1416
+ } & {
1417
+ __v: number;
1418
+ }>, {}, {}, {}, _$mongoose.Document<unknown, {}, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1419
+ timestamps: true;
1420
+ }, {
1421
+ programId: string;
1422
+ name: string;
1423
+ rank: number;
1424
+ metadata?: any;
1425
+ qualificationCriteria?: {
1426
+ minLifetimePoints?: number | null | undefined;
1427
+ minLifetimeSpend?: number | null | undefined;
1428
+ evaluationPeriodDays?: number | null | undefined;
1429
+ } | null | undefined;
1430
+ benefits?: {
1431
+ pointsMultiplier?: number | null | undefined;
1432
+ discountPercent?: number | null | undefined;
1433
+ freeShipping?: boolean | null | undefined;
1434
+ customBenefits?: any;
1435
+ } | null | undefined;
1436
+ downgrade?: {
1437
+ enabled: boolean;
1438
+ gracePeriodDays: number;
1439
+ } | null | undefined;
1440
+ color?: string | null | undefined;
1441
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1442
+ programId: string;
1443
+ name: string;
1444
+ rank: number;
1445
+ metadata?: any;
1446
+ qualificationCriteria?: {
1447
+ minLifetimePoints?: number | null | undefined;
1448
+ minLifetimeSpend?: number | null | undefined;
1449
+ evaluationPeriodDays?: number | null | undefined;
1450
+ } | null | undefined;
1451
+ benefits?: {
1452
+ pointsMultiplier?: number | null | undefined;
1453
+ discountPercent?: number | null | undefined;
1454
+ freeShipping?: boolean | null | undefined;
1455
+ customBenefits?: any;
1456
+ } | null | undefined;
1457
+ downgrade?: {
1458
+ enabled: boolean;
1459
+ gracePeriodDays: number;
1460
+ } | null | undefined;
1461
+ color?: string | null | undefined;
1462
+ } & _$mongoose.DefaultTimestampProps, {
1463
+ id: string;
1464
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1465
+ timestamps: true;
1466
+ }> & Omit<{
1467
+ programId: string;
1468
+ name: string;
1469
+ rank: number;
1470
+ metadata?: any;
1471
+ qualificationCriteria?: {
1472
+ minLifetimePoints?: number | null | undefined;
1473
+ minLifetimeSpend?: number | null | undefined;
1474
+ evaluationPeriodDays?: number | null | undefined;
1475
+ } | null | undefined;
1476
+ benefits?: {
1477
+ pointsMultiplier?: number | null | undefined;
1478
+ discountPercent?: number | null | undefined;
1479
+ freeShipping?: boolean | null | undefined;
1480
+ customBenefits?: any;
1481
+ } | null | undefined;
1482
+ downgrade?: {
1483
+ enabled: boolean;
1484
+ gracePeriodDays: number;
1485
+ } | null | undefined;
1486
+ color?: string | null | undefined;
1487
+ } & _$mongoose.DefaultTimestampProps & {
1488
+ _id: _$mongoose.Types.ObjectId;
1489
+ } & {
1490
+ __v: number;
1491
+ }, "id"> & {
1492
+ id: string;
1493
+ }, unknown, {
1494
+ programId: string;
1495
+ name: string;
1496
+ rank: number;
1497
+ metadata?: any;
1498
+ qualificationCriteria?: {
1499
+ minLifetimePoints?: number | null | undefined;
1500
+ minLifetimeSpend?: number | null | undefined;
1501
+ evaluationPeriodDays?: number | null | undefined;
1502
+ } | null | undefined;
1503
+ benefits?: {
1504
+ pointsMultiplier?: number | null | undefined;
1505
+ discountPercent?: number | null | undefined;
1506
+ freeShipping?: boolean | null | undefined;
1507
+ customBenefits?: any;
1508
+ } | null | undefined;
1509
+ downgrade?: {
1510
+ enabled: boolean;
1511
+ gracePeriodDays: number;
1512
+ } | null | undefined;
1513
+ color?: string | null | undefined;
1514
+ createdAt: NativeDate;
1515
+ updatedAt: NativeDate;
1516
+ } & {
1517
+ _id: _$mongoose.Types.ObjectId;
1518
+ } & {
1519
+ __v: number;
1520
+ }>, {}, _$mongoose.DefaultSchemaOptions> & _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1521
+ timestamps: true;
1522
+ }, {
1523
+ programId: string;
1524
+ name: string;
1525
+ rank: number;
1526
+ metadata?: any;
1527
+ qualificationCriteria?: {
1528
+ minLifetimePoints?: number | null | undefined;
1529
+ minLifetimeSpend?: number | null | undefined;
1530
+ evaluationPeriodDays?: number | null | undefined;
1531
+ } | null | undefined;
1532
+ benefits?: {
1533
+ pointsMultiplier?: number | null | undefined;
1534
+ discountPercent?: number | null | undefined;
1535
+ freeShipping?: boolean | null | undefined;
1536
+ customBenefits?: any;
1537
+ } | null | undefined;
1538
+ downgrade?: {
1539
+ enabled: boolean;
1540
+ gracePeriodDays: number;
1541
+ } | null | undefined;
1542
+ color?: string | null | undefined;
1543
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1544
+ programId: string;
1545
+ name: string;
1546
+ rank: number;
1547
+ metadata?: any;
1548
+ qualificationCriteria?: {
1549
+ minLifetimePoints?: number | null | undefined;
1550
+ minLifetimeSpend?: number | null | undefined;
1551
+ evaluationPeriodDays?: number | null | undefined;
1552
+ } | null | undefined;
1553
+ benefits?: {
1554
+ pointsMultiplier?: number | null | undefined;
1555
+ discountPercent?: number | null | undefined;
1556
+ freeShipping?: boolean | null | undefined;
1557
+ customBenefits?: any;
1558
+ } | null | undefined;
1559
+ downgrade?: {
1560
+ enabled: boolean;
1561
+ gracePeriodDays: number;
1562
+ } | null | undefined;
1563
+ color?: string | null | undefined;
1564
+ } & _$mongoose.DefaultTimestampProps, {
1565
+ id: string;
1566
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1567
+ timestamps: true;
1568
+ }> & Omit<{
1569
+ programId: string;
1570
+ name: string;
1571
+ rank: number;
1572
+ metadata?: any;
1573
+ qualificationCriteria?: {
1574
+ minLifetimePoints?: number | null | undefined;
1575
+ minLifetimeSpend?: number | null | undefined;
1576
+ evaluationPeriodDays?: number | null | undefined;
1577
+ } | null | undefined;
1578
+ benefits?: {
1579
+ pointsMultiplier?: number | null | undefined;
1580
+ discountPercent?: number | null | undefined;
1581
+ freeShipping?: boolean | null | undefined;
1582
+ customBenefits?: any;
1583
+ } | null | undefined;
1584
+ downgrade?: {
1585
+ enabled: boolean;
1586
+ gracePeriodDays: number;
1587
+ } | null | undefined;
1588
+ color?: string | null | undefined;
1589
+ } & _$mongoose.DefaultTimestampProps & {
1590
+ _id: _$mongoose.Types.ObjectId;
1591
+ } & {
1592
+ __v: number;
1593
+ }, "id"> & {
1594
+ id: string;
1595
+ }, unknown, {
1596
+ programId: string;
1597
+ name: string;
1598
+ rank: number;
1599
+ metadata?: any;
1600
+ qualificationCriteria?: {
1601
+ minLifetimePoints?: number | null | undefined;
1602
+ minLifetimeSpend?: number | null | undefined;
1603
+ evaluationPeriodDays?: number | null | undefined;
1604
+ } | null | undefined;
1605
+ benefits?: {
1606
+ pointsMultiplier?: number | null | undefined;
1607
+ discountPercent?: number | null | undefined;
1608
+ freeShipping?: boolean | null | undefined;
1609
+ customBenefits?: any;
1610
+ } | null | undefined;
1611
+ downgrade?: {
1612
+ enabled: boolean;
1613
+ gracePeriodDays: number;
1614
+ } | null | undefined;
1615
+ color?: string | null | undefined;
1616
+ createdAt: NativeDate;
1617
+ updatedAt: NativeDate;
1618
+ } & {
1619
+ _id: _$mongoose.Types.ObjectId;
1620
+ } & {
1621
+ __v: number;
1622
+ }> & {
1623
+ _id: _$mongoose.Types.ObjectId;
1624
+ } & {
1625
+ __v: number;
1626
+ } & {
1627
+ id: string;
1628
+ }, any, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1629
+ timestamps: true;
1630
+ }, {
1631
+ programId: string;
1632
+ name: string;
1633
+ rank: number;
1634
+ metadata?: any;
1635
+ qualificationCriteria?: {
1636
+ minLifetimePoints?: number | null | undefined;
1637
+ minLifetimeSpend?: number | null | undefined;
1638
+ evaluationPeriodDays?: number | null | undefined;
1639
+ } | null | undefined;
1640
+ benefits?: {
1641
+ pointsMultiplier?: number | null | undefined;
1642
+ discountPercent?: number | null | undefined;
1643
+ freeShipping?: boolean | null | undefined;
1644
+ customBenefits?: any;
1645
+ } | null | undefined;
1646
+ downgrade?: {
1647
+ enabled: boolean;
1648
+ gracePeriodDays: number;
1649
+ } | null | undefined;
1650
+ color?: string | null | undefined;
1651
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1652
+ programId: string;
1653
+ name: string;
1654
+ rank: number;
1655
+ metadata?: any;
1656
+ qualificationCriteria?: {
1657
+ minLifetimePoints?: number | null | undefined;
1658
+ minLifetimeSpend?: number | null | undefined;
1659
+ evaluationPeriodDays?: number | null | undefined;
1660
+ } | null | undefined;
1661
+ benefits?: {
1662
+ pointsMultiplier?: number | null | undefined;
1663
+ discountPercent?: number | null | undefined;
1664
+ freeShipping?: boolean | null | undefined;
1665
+ customBenefits?: any;
1666
+ } | null | undefined;
1667
+ downgrade?: {
1668
+ enabled: boolean;
1669
+ gracePeriodDays: number;
1670
+ } | null | undefined;
1671
+ color?: string | null | undefined;
1672
+ } & _$mongoose.DefaultTimestampProps, {
1673
+ id: string;
1674
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1675
+ timestamps: true;
1676
+ }> & Omit<{
1677
+ programId: string;
1678
+ name: string;
1679
+ rank: number;
1680
+ metadata?: any;
1681
+ qualificationCriteria?: {
1682
+ minLifetimePoints?: number | null | undefined;
1683
+ minLifetimeSpend?: number | null | undefined;
1684
+ evaluationPeriodDays?: number | null | undefined;
1685
+ } | null | undefined;
1686
+ benefits?: {
1687
+ pointsMultiplier?: number | null | undefined;
1688
+ discountPercent?: number | null | undefined;
1689
+ freeShipping?: boolean | null | undefined;
1690
+ customBenefits?: any;
1691
+ } | null | undefined;
1692
+ downgrade?: {
1693
+ enabled: boolean;
1694
+ gracePeriodDays: number;
1695
+ } | null | undefined;
1696
+ color?: string | null | undefined;
1697
+ } & _$mongoose.DefaultTimestampProps & {
1698
+ _id: _$mongoose.Types.ObjectId;
1699
+ } & {
1700
+ __v: number;
1701
+ }, "id"> & {
1702
+ id: string;
1703
+ }, unknown, {
1704
+ programId: string;
1705
+ name: string;
1706
+ rank: number;
1707
+ metadata?: any;
1708
+ qualificationCriteria?: {
1709
+ minLifetimePoints?: number | null | undefined;
1710
+ minLifetimeSpend?: number | null | undefined;
1711
+ evaluationPeriodDays?: number | null | undefined;
1712
+ } | null | undefined;
1713
+ benefits?: {
1714
+ pointsMultiplier?: number | null | undefined;
1715
+ discountPercent?: number | null | undefined;
1716
+ freeShipping?: boolean | null | undefined;
1717
+ customBenefits?: any;
1718
+ } | null | undefined;
1719
+ downgrade?: {
1720
+ enabled: boolean;
1721
+ gracePeriodDays: number;
1722
+ } | null | undefined;
1723
+ color?: string | null | undefined;
1724
+ createdAt: NativeDate;
1725
+ updatedAt: NativeDate;
1726
+ } & {
1727
+ _id: _$mongoose.Types.ObjectId;
1728
+ } & {
1729
+ __v: number;
1730
+ }>>;
1731
+ Redemption: _$mongoose.Model<_$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1732
+ timestamps: true;
1733
+ }, {
1734
+ programId: string;
1735
+ status: "expired" | "reserved" | "confirmed" | "released";
1736
+ memberId: _$mongoose.Types.ObjectId;
1737
+ pointsReserved: number;
1738
+ pointsConfirmed: number;
1739
+ discountAmount: number;
1740
+ conversionRate: number;
1741
+ ownerType: string;
1742
+ ownerId: string;
1743
+ expiresAt?: NativeDate | null | undefined;
1744
+ confirmedAt?: NativeDate | null | undefined;
1745
+ releasedAt?: NativeDate | null | undefined;
1746
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1747
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1748
+ programId: string;
1749
+ status: "expired" | "reserved" | "confirmed" | "released";
1750
+ memberId: _$mongoose.Types.ObjectId;
1751
+ pointsReserved: number;
1752
+ pointsConfirmed: number;
1753
+ discountAmount: number;
1754
+ conversionRate: number;
1755
+ ownerType: string;
1756
+ ownerId: string;
1757
+ expiresAt?: NativeDate | null | undefined;
1758
+ confirmedAt?: NativeDate | null | undefined;
1759
+ releasedAt?: NativeDate | null | undefined;
1760
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1761
+ } & _$mongoose.DefaultTimestampProps, {
1762
+ id: string;
1763
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1764
+ timestamps: true;
1765
+ }> & Omit<{
1766
+ programId: string;
1767
+ status: "expired" | "reserved" | "confirmed" | "released";
1768
+ memberId: _$mongoose.Types.ObjectId;
1769
+ pointsReserved: number;
1770
+ pointsConfirmed: number;
1771
+ discountAmount: number;
1772
+ conversionRate: number;
1773
+ ownerType: string;
1774
+ ownerId: string;
1775
+ expiresAt?: NativeDate | null | undefined;
1776
+ confirmedAt?: NativeDate | null | undefined;
1777
+ releasedAt?: NativeDate | null | undefined;
1778
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1779
+ } & _$mongoose.DefaultTimestampProps & {
1780
+ _id: _$mongoose.Types.ObjectId;
1781
+ } & {
1782
+ __v: number;
1783
+ }, "id"> & {
1784
+ id: string;
1785
+ }, unknown, {
1786
+ programId: string;
1787
+ status: "expired" | "reserved" | "confirmed" | "released";
1788
+ memberId: _$mongoose.Types.ObjectId;
1789
+ pointsReserved: number;
1790
+ pointsConfirmed: number;
1791
+ discountAmount: number;
1792
+ conversionRate: number;
1793
+ ownerType: string;
1794
+ ownerId: string;
1795
+ expiresAt?: NativeDate | null | undefined;
1796
+ confirmedAt?: NativeDate | null | undefined;
1797
+ releasedAt?: NativeDate | null | undefined;
1798
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1799
+ createdAt: NativeDate;
1800
+ updatedAt: NativeDate;
1801
+ } & {
1802
+ _id: _$mongoose.Types.ObjectId;
1803
+ } & {
1804
+ __v: number;
1805
+ }>, {}, {}, {}, _$mongoose.Document<unknown, {}, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1806
+ timestamps: true;
1807
+ }, {
1808
+ programId: string;
1809
+ status: "expired" | "reserved" | "confirmed" | "released";
1810
+ memberId: _$mongoose.Types.ObjectId;
1811
+ pointsReserved: number;
1812
+ pointsConfirmed: number;
1813
+ discountAmount: number;
1814
+ conversionRate: number;
1815
+ ownerType: string;
1816
+ ownerId: string;
1817
+ expiresAt?: NativeDate | null | undefined;
1818
+ confirmedAt?: NativeDate | null | undefined;
1819
+ releasedAt?: NativeDate | null | undefined;
1820
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1821
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1822
+ programId: string;
1823
+ status: "expired" | "reserved" | "confirmed" | "released";
1824
+ memberId: _$mongoose.Types.ObjectId;
1825
+ pointsReserved: number;
1826
+ pointsConfirmed: number;
1827
+ discountAmount: number;
1828
+ conversionRate: number;
1829
+ ownerType: string;
1830
+ ownerId: string;
1831
+ expiresAt?: NativeDate | null | undefined;
1832
+ confirmedAt?: NativeDate | null | undefined;
1833
+ releasedAt?: NativeDate | null | undefined;
1834
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1835
+ } & _$mongoose.DefaultTimestampProps, {
1836
+ id: string;
1837
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1838
+ timestamps: true;
1839
+ }> & Omit<{
1840
+ programId: string;
1841
+ status: "expired" | "reserved" | "confirmed" | "released";
1842
+ memberId: _$mongoose.Types.ObjectId;
1843
+ pointsReserved: number;
1844
+ pointsConfirmed: number;
1845
+ discountAmount: number;
1846
+ conversionRate: number;
1847
+ ownerType: string;
1848
+ ownerId: string;
1849
+ expiresAt?: NativeDate | null | undefined;
1850
+ confirmedAt?: NativeDate | null | undefined;
1851
+ releasedAt?: NativeDate | null | undefined;
1852
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1853
+ } & _$mongoose.DefaultTimestampProps & {
1854
+ _id: _$mongoose.Types.ObjectId;
1855
+ } & {
1856
+ __v: number;
1857
+ }, "id"> & {
1858
+ id: string;
1859
+ }, unknown, {
1860
+ programId: string;
1861
+ status: "expired" | "reserved" | "confirmed" | "released";
1862
+ memberId: _$mongoose.Types.ObjectId;
1863
+ pointsReserved: number;
1864
+ pointsConfirmed: number;
1865
+ discountAmount: number;
1866
+ conversionRate: number;
1867
+ ownerType: string;
1868
+ ownerId: string;
1869
+ expiresAt?: NativeDate | null | undefined;
1870
+ confirmedAt?: NativeDate | null | undefined;
1871
+ releasedAt?: NativeDate | null | undefined;
1872
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1873
+ createdAt: NativeDate;
1874
+ updatedAt: NativeDate;
1875
+ } & {
1876
+ _id: _$mongoose.Types.ObjectId;
1877
+ } & {
1878
+ __v: number;
1879
+ }>, {}, _$mongoose.DefaultSchemaOptions> & _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1880
+ timestamps: true;
1881
+ }, {
1882
+ programId: string;
1883
+ status: "expired" | "reserved" | "confirmed" | "released";
1884
+ memberId: _$mongoose.Types.ObjectId;
1885
+ pointsReserved: number;
1886
+ pointsConfirmed: number;
1887
+ discountAmount: number;
1888
+ conversionRate: number;
1889
+ ownerType: string;
1890
+ ownerId: string;
1891
+ expiresAt?: NativeDate | null | undefined;
1892
+ confirmedAt?: NativeDate | null | undefined;
1893
+ releasedAt?: NativeDate | null | undefined;
1894
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1895
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1896
+ programId: string;
1897
+ status: "expired" | "reserved" | "confirmed" | "released";
1898
+ memberId: _$mongoose.Types.ObjectId;
1899
+ pointsReserved: number;
1900
+ pointsConfirmed: number;
1901
+ discountAmount: number;
1902
+ conversionRate: number;
1903
+ ownerType: string;
1904
+ ownerId: string;
1905
+ expiresAt?: NativeDate | null | undefined;
1906
+ confirmedAt?: NativeDate | null | undefined;
1907
+ releasedAt?: NativeDate | null | undefined;
1908
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1909
+ } & _$mongoose.DefaultTimestampProps, {
1910
+ id: string;
1911
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1912
+ timestamps: true;
1913
+ }> & Omit<{
1914
+ programId: string;
1915
+ status: "expired" | "reserved" | "confirmed" | "released";
1916
+ memberId: _$mongoose.Types.ObjectId;
1917
+ pointsReserved: number;
1918
+ pointsConfirmed: number;
1919
+ discountAmount: number;
1920
+ conversionRate: number;
1921
+ ownerType: string;
1922
+ ownerId: string;
1923
+ expiresAt?: NativeDate | null | undefined;
1924
+ confirmedAt?: NativeDate | null | undefined;
1925
+ releasedAt?: NativeDate | null | undefined;
1926
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1927
+ } & _$mongoose.DefaultTimestampProps & {
1928
+ _id: _$mongoose.Types.ObjectId;
1929
+ } & {
1930
+ __v: number;
1931
+ }, "id"> & {
1932
+ id: string;
1933
+ }, unknown, {
1934
+ programId: string;
1935
+ status: "expired" | "reserved" | "confirmed" | "released";
1936
+ memberId: _$mongoose.Types.ObjectId;
1937
+ pointsReserved: number;
1938
+ pointsConfirmed: number;
1939
+ discountAmount: number;
1940
+ conversionRate: number;
1941
+ ownerType: string;
1942
+ ownerId: string;
1943
+ expiresAt?: NativeDate | null | undefined;
1944
+ confirmedAt?: NativeDate | null | undefined;
1945
+ releasedAt?: NativeDate | null | undefined;
1946
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1947
+ createdAt: NativeDate;
1948
+ updatedAt: NativeDate;
1949
+ } & {
1950
+ _id: _$mongoose.Types.ObjectId;
1951
+ } & {
1952
+ __v: number;
1953
+ }> & {
1954
+ _id: _$mongoose.Types.ObjectId;
1955
+ } & {
1956
+ __v: number;
1957
+ } & {
1958
+ id: string;
1959
+ }, any, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1960
+ timestamps: true;
1961
+ }, {
1962
+ programId: string;
1963
+ status: "expired" | "reserved" | "confirmed" | "released";
1964
+ memberId: _$mongoose.Types.ObjectId;
1965
+ pointsReserved: number;
1966
+ pointsConfirmed: number;
1967
+ discountAmount: number;
1968
+ conversionRate: number;
1969
+ ownerType: string;
1970
+ ownerId: string;
1971
+ expiresAt?: NativeDate | null | undefined;
1972
+ confirmedAt?: NativeDate | null | undefined;
1973
+ releasedAt?: NativeDate | null | undefined;
1974
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1975
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1976
+ programId: string;
1977
+ status: "expired" | "reserved" | "confirmed" | "released";
1978
+ memberId: _$mongoose.Types.ObjectId;
1979
+ pointsReserved: number;
1980
+ pointsConfirmed: number;
1981
+ discountAmount: number;
1982
+ conversionRate: number;
1983
+ ownerType: string;
1984
+ ownerId: string;
1985
+ expiresAt?: NativeDate | null | undefined;
1986
+ confirmedAt?: NativeDate | null | undefined;
1987
+ releasedAt?: NativeDate | null | undefined;
1988
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1989
+ } & _$mongoose.DefaultTimestampProps, {
1990
+ id: string;
1991
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1992
+ timestamps: true;
1993
+ }> & Omit<{
1994
+ programId: string;
1995
+ status: "expired" | "reserved" | "confirmed" | "released";
1996
+ memberId: _$mongoose.Types.ObjectId;
1997
+ pointsReserved: number;
1998
+ pointsConfirmed: number;
1999
+ discountAmount: number;
2000
+ conversionRate: number;
2001
+ ownerType: string;
2002
+ ownerId: string;
2003
+ expiresAt?: NativeDate | null | undefined;
2004
+ confirmedAt?: NativeDate | null | undefined;
2005
+ releasedAt?: NativeDate | null | undefined;
2006
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
2007
+ } & _$mongoose.DefaultTimestampProps & {
2008
+ _id: _$mongoose.Types.ObjectId;
2009
+ } & {
2010
+ __v: number;
2011
+ }, "id"> & {
2012
+ id: string;
2013
+ }, unknown, {
2014
+ programId: string;
2015
+ status: "expired" | "reserved" | "confirmed" | "released";
2016
+ memberId: _$mongoose.Types.ObjectId;
2017
+ pointsReserved: number;
2018
+ pointsConfirmed: number;
2019
+ discountAmount: number;
2020
+ conversionRate: number;
2021
+ ownerType: string;
2022
+ ownerId: string;
2023
+ expiresAt?: NativeDate | null | undefined;
2024
+ confirmedAt?: NativeDate | null | undefined;
2025
+ releasedAt?: NativeDate | null | undefined;
2026
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
2027
+ createdAt: NativeDate;
2028
+ updatedAt: NativeDate;
2029
+ } & {
2030
+ _id: _$mongoose.Types.ObjectId;
2031
+ } & {
2032
+ __v: number;
2033
+ }>>;
2034
+ Referral: _$mongoose.Model<_$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
2035
+ timestamps: true;
2036
+ }, {
2037
+ programId: string;
2038
+ status: "expired" | "pending" | "approved" | "rejected";
2039
+ referralCode: string;
2040
+ referrerId: _$mongoose.Types.ObjectId;
2041
+ refereeId: _$mongoose.Types.ObjectId;
2042
+ metadata?: any;
2043
+ expiresAt?: NativeDate | null | undefined;
2044
+ referrerRewardPoints?: number | null | undefined;
2045
+ refereeRewardPoints?: number | null | undefined;
2046
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2047
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2048
+ approvedAt?: NativeDate | null | undefined;
2049
+ rejectedAt?: NativeDate | null | undefined;
2050
+ rejectionReason?: string | null | undefined;
2051
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
2052
+ programId: string;
2053
+ status: "expired" | "pending" | "approved" | "rejected";
2054
+ referralCode: string;
2055
+ referrerId: _$mongoose.Types.ObjectId;
2056
+ refereeId: _$mongoose.Types.ObjectId;
2057
+ metadata?: any;
2058
+ expiresAt?: NativeDate | null | undefined;
2059
+ referrerRewardPoints?: number | null | undefined;
2060
+ refereeRewardPoints?: number | null | undefined;
2061
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2062
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2063
+ approvedAt?: NativeDate | null | undefined;
2064
+ rejectedAt?: NativeDate | null | undefined;
2065
+ rejectionReason?: string | null | undefined;
2066
+ } & _$mongoose.DefaultTimestampProps, {
2067
+ id: string;
2068
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
2069
+ timestamps: true;
2070
+ }> & Omit<{
2071
+ programId: string;
2072
+ status: "expired" | "pending" | "approved" | "rejected";
2073
+ referralCode: string;
2074
+ referrerId: _$mongoose.Types.ObjectId;
2075
+ refereeId: _$mongoose.Types.ObjectId;
2076
+ metadata?: any;
2077
+ expiresAt?: NativeDate | null | undefined;
2078
+ referrerRewardPoints?: number | null | undefined;
2079
+ refereeRewardPoints?: number | null | undefined;
2080
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2081
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2082
+ approvedAt?: NativeDate | null | undefined;
2083
+ rejectedAt?: NativeDate | null | undefined;
2084
+ rejectionReason?: string | null | undefined;
2085
+ } & _$mongoose.DefaultTimestampProps & {
2086
+ _id: _$mongoose.Types.ObjectId;
2087
+ } & {
2088
+ __v: number;
2089
+ }, "id"> & {
2090
+ id: string;
2091
+ }, unknown, {
2092
+ programId: string;
2093
+ status: "expired" | "pending" | "approved" | "rejected";
2094
+ referralCode: string;
2095
+ referrerId: _$mongoose.Types.ObjectId;
2096
+ refereeId: _$mongoose.Types.ObjectId;
2097
+ metadata?: any;
2098
+ expiresAt?: NativeDate | null | undefined;
2099
+ referrerRewardPoints?: number | null | undefined;
2100
+ refereeRewardPoints?: number | null | undefined;
2101
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2102
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2103
+ approvedAt?: NativeDate | null | undefined;
2104
+ rejectedAt?: NativeDate | null | undefined;
2105
+ rejectionReason?: string | null | undefined;
2106
+ createdAt: NativeDate;
2107
+ updatedAt: NativeDate;
2108
+ } & {
2109
+ _id: _$mongoose.Types.ObjectId;
2110
+ } & {
2111
+ __v: number;
2112
+ }>, {}, {}, {}, _$mongoose.Document<unknown, {}, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
2113
+ timestamps: true;
2114
+ }, {
2115
+ programId: string;
2116
+ status: "expired" | "pending" | "approved" | "rejected";
2117
+ referralCode: string;
2118
+ referrerId: _$mongoose.Types.ObjectId;
2119
+ refereeId: _$mongoose.Types.ObjectId;
2120
+ metadata?: any;
2121
+ expiresAt?: NativeDate | null | undefined;
2122
+ referrerRewardPoints?: number | null | undefined;
2123
+ refereeRewardPoints?: number | null | undefined;
2124
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2125
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2126
+ approvedAt?: NativeDate | null | undefined;
2127
+ rejectedAt?: NativeDate | null | undefined;
2128
+ rejectionReason?: string | null | undefined;
2129
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
2130
+ programId: string;
2131
+ status: "expired" | "pending" | "approved" | "rejected";
2132
+ referralCode: string;
2133
+ referrerId: _$mongoose.Types.ObjectId;
2134
+ refereeId: _$mongoose.Types.ObjectId;
2135
+ metadata?: any;
2136
+ expiresAt?: NativeDate | null | undefined;
2137
+ referrerRewardPoints?: number | null | undefined;
2138
+ refereeRewardPoints?: number | null | undefined;
2139
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2140
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2141
+ approvedAt?: NativeDate | null | undefined;
2142
+ rejectedAt?: NativeDate | null | undefined;
2143
+ rejectionReason?: string | null | undefined;
2144
+ } & _$mongoose.DefaultTimestampProps, {
2145
+ id: string;
2146
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
2147
+ timestamps: true;
2148
+ }> & Omit<{
2149
+ programId: string;
2150
+ status: "expired" | "pending" | "approved" | "rejected";
2151
+ referralCode: string;
2152
+ referrerId: _$mongoose.Types.ObjectId;
2153
+ refereeId: _$mongoose.Types.ObjectId;
2154
+ metadata?: any;
2155
+ expiresAt?: NativeDate | null | undefined;
2156
+ referrerRewardPoints?: number | null | undefined;
2157
+ refereeRewardPoints?: number | null | undefined;
2158
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2159
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2160
+ approvedAt?: NativeDate | null | undefined;
2161
+ rejectedAt?: NativeDate | null | undefined;
2162
+ rejectionReason?: string | null | undefined;
2163
+ } & _$mongoose.DefaultTimestampProps & {
2164
+ _id: _$mongoose.Types.ObjectId;
2165
+ } & {
2166
+ __v: number;
2167
+ }, "id"> & {
2168
+ id: string;
2169
+ }, unknown, {
2170
+ programId: string;
2171
+ status: "expired" | "pending" | "approved" | "rejected";
2172
+ referralCode: string;
2173
+ referrerId: _$mongoose.Types.ObjectId;
2174
+ refereeId: _$mongoose.Types.ObjectId;
2175
+ metadata?: any;
2176
+ expiresAt?: NativeDate | null | undefined;
2177
+ referrerRewardPoints?: number | null | undefined;
2178
+ refereeRewardPoints?: number | null | undefined;
2179
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2180
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2181
+ approvedAt?: NativeDate | null | undefined;
2182
+ rejectedAt?: NativeDate | null | undefined;
2183
+ rejectionReason?: string | null | undefined;
2184
+ createdAt: NativeDate;
2185
+ updatedAt: NativeDate;
2186
+ } & {
2187
+ _id: _$mongoose.Types.ObjectId;
2188
+ } & {
2189
+ __v: number;
2190
+ }>, {}, _$mongoose.DefaultSchemaOptions> & _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
2191
+ timestamps: true;
2192
+ }, {
2193
+ programId: string;
2194
+ status: "expired" | "pending" | "approved" | "rejected";
2195
+ referralCode: string;
2196
+ referrerId: _$mongoose.Types.ObjectId;
2197
+ refereeId: _$mongoose.Types.ObjectId;
2198
+ metadata?: any;
2199
+ expiresAt?: NativeDate | null | undefined;
2200
+ referrerRewardPoints?: number | null | undefined;
2201
+ refereeRewardPoints?: number | null | undefined;
2202
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2203
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2204
+ approvedAt?: NativeDate | null | undefined;
2205
+ rejectedAt?: NativeDate | null | undefined;
2206
+ rejectionReason?: string | null | undefined;
2207
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
2208
+ programId: string;
2209
+ status: "expired" | "pending" | "approved" | "rejected";
2210
+ referralCode: string;
2211
+ referrerId: _$mongoose.Types.ObjectId;
2212
+ refereeId: _$mongoose.Types.ObjectId;
2213
+ metadata?: any;
2214
+ expiresAt?: NativeDate | null | undefined;
2215
+ referrerRewardPoints?: number | null | undefined;
2216
+ refereeRewardPoints?: number | null | undefined;
2217
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2218
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2219
+ approvedAt?: NativeDate | null | undefined;
2220
+ rejectedAt?: NativeDate | null | undefined;
2221
+ rejectionReason?: string | null | undefined;
2222
+ } & _$mongoose.DefaultTimestampProps, {
2223
+ id: string;
2224
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
2225
+ timestamps: true;
2226
+ }> & Omit<{
2227
+ programId: string;
2228
+ status: "expired" | "pending" | "approved" | "rejected";
2229
+ referralCode: string;
2230
+ referrerId: _$mongoose.Types.ObjectId;
2231
+ refereeId: _$mongoose.Types.ObjectId;
2232
+ metadata?: any;
2233
+ expiresAt?: NativeDate | null | undefined;
2234
+ referrerRewardPoints?: number | null | undefined;
2235
+ refereeRewardPoints?: number | null | undefined;
2236
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2237
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2238
+ approvedAt?: NativeDate | null | undefined;
2239
+ rejectedAt?: NativeDate | null | undefined;
2240
+ rejectionReason?: string | null | undefined;
2241
+ } & _$mongoose.DefaultTimestampProps & {
2242
+ _id: _$mongoose.Types.ObjectId;
2243
+ } & {
2244
+ __v: number;
2245
+ }, "id"> & {
2246
+ id: string;
2247
+ }, unknown, {
2248
+ programId: string;
2249
+ status: "expired" | "pending" | "approved" | "rejected";
2250
+ referralCode: string;
2251
+ referrerId: _$mongoose.Types.ObjectId;
2252
+ refereeId: _$mongoose.Types.ObjectId;
2253
+ metadata?: any;
2254
+ expiresAt?: NativeDate | null | undefined;
2255
+ referrerRewardPoints?: number | null | undefined;
2256
+ refereeRewardPoints?: number | null | undefined;
2257
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2258
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2259
+ approvedAt?: NativeDate | null | undefined;
2260
+ rejectedAt?: NativeDate | null | undefined;
2261
+ rejectionReason?: string | null | undefined;
2262
+ createdAt: NativeDate;
2263
+ updatedAt: NativeDate;
2264
+ } & {
2265
+ _id: _$mongoose.Types.ObjectId;
2266
+ } & {
2267
+ __v: number;
2268
+ }> & {
2269
+ _id: _$mongoose.Types.ObjectId;
2270
+ } & {
2271
+ __v: number;
2272
+ } & {
2273
+ id: string;
2274
+ }, any, _$mongoose.Schema<any, _$mongoose.Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
2275
+ timestamps: true;
2276
+ }, {
2277
+ programId: string;
2278
+ status: "expired" | "pending" | "approved" | "rejected";
2279
+ referralCode: string;
2280
+ referrerId: _$mongoose.Types.ObjectId;
2281
+ refereeId: _$mongoose.Types.ObjectId;
2282
+ metadata?: any;
2283
+ expiresAt?: NativeDate | null | undefined;
2284
+ referrerRewardPoints?: number | null | undefined;
2285
+ refereeRewardPoints?: number | null | undefined;
2286
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2287
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2288
+ approvedAt?: NativeDate | null | undefined;
2289
+ rejectedAt?: NativeDate | null | undefined;
2290
+ rejectionReason?: string | null | undefined;
2291
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
2292
+ programId: string;
2293
+ status: "expired" | "pending" | "approved" | "rejected";
2294
+ referralCode: string;
2295
+ referrerId: _$mongoose.Types.ObjectId;
2296
+ refereeId: _$mongoose.Types.ObjectId;
2297
+ metadata?: any;
2298
+ expiresAt?: NativeDate | null | undefined;
2299
+ referrerRewardPoints?: number | null | undefined;
2300
+ refereeRewardPoints?: number | null | undefined;
2301
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2302
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2303
+ approvedAt?: NativeDate | null | undefined;
2304
+ rejectedAt?: NativeDate | null | undefined;
2305
+ rejectionReason?: string | null | undefined;
2306
+ } & _$mongoose.DefaultTimestampProps, {
2307
+ id: string;
2308
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
2309
+ timestamps: true;
2310
+ }> & Omit<{
2311
+ programId: string;
2312
+ status: "expired" | "pending" | "approved" | "rejected";
2313
+ referralCode: string;
2314
+ referrerId: _$mongoose.Types.ObjectId;
2315
+ refereeId: _$mongoose.Types.ObjectId;
2316
+ metadata?: any;
2317
+ expiresAt?: NativeDate | null | undefined;
2318
+ referrerRewardPoints?: number | null | undefined;
2319
+ refereeRewardPoints?: number | null | undefined;
2320
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2321
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2322
+ approvedAt?: NativeDate | null | undefined;
2323
+ rejectedAt?: NativeDate | null | undefined;
2324
+ rejectionReason?: string | null | undefined;
2325
+ } & _$mongoose.DefaultTimestampProps & {
2326
+ _id: _$mongoose.Types.ObjectId;
2327
+ } & {
2328
+ __v: number;
2329
+ }, "id"> & {
2330
+ id: string;
2331
+ }, unknown, {
2332
+ programId: string;
2333
+ status: "expired" | "pending" | "approved" | "rejected";
2334
+ referralCode: string;
2335
+ referrerId: _$mongoose.Types.ObjectId;
2336
+ refereeId: _$mongoose.Types.ObjectId;
2337
+ metadata?: any;
2338
+ expiresAt?: NativeDate | null | undefined;
2339
+ referrerRewardPoints?: number | null | undefined;
2340
+ refereeRewardPoints?: number | null | undefined;
2341
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2342
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
2343
+ approvedAt?: NativeDate | null | undefined;
2344
+ rejectedAt?: NativeDate | null | undefined;
2345
+ rejectionReason?: string | null | undefined;
2346
+ createdAt: NativeDate;
2347
+ updatedAt: NativeDate;
2348
+ } & {
2349
+ _id: _$mongoose.Types.ObjectId;
2350
+ } & {
2351
+ __v: number;
2352
+ }>>;
2353
+ };
2354
+ /** Mongoose 9 schema-inferred model types. */
2355
+ type LoyaltyModels = ReturnType<typeof createModels>;
2356
+ //#endregion
2357
+ export { createModels as n, LoyaltyModels as t };