@classytic/loyalty 0.1.0 → 0.2.1

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 (43) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/config-DoZPGBfW.d.mts +136 -0
  3. package/dist/{constants-C75GvizO.mjs → constants-DkQYkOK1.mjs} +3 -2
  4. package/dist/domain/enums/index.d.mts +1 -1
  5. package/dist/domain/enums/index.mjs +1 -1
  6. package/dist/events/index.d.mts +2 -2
  7. package/dist/events/index.mjs +3 -3
  8. package/dist/events-BtZOdiPw.mjs +311 -0
  9. package/dist/index-BOWqBSWx.d.mts +281 -0
  10. package/dist/index-C4jFHS7m.d.mts +400 -0
  11. package/dist/index-ClPKmtxh.d.mts +361 -0
  12. package/dist/{index-CaH4GhSF.d.mts → index-DMK8a98J.d.mts} +1 -1
  13. package/dist/index.d.mts +28 -12
  14. package/dist/index.mjs +30 -26
  15. package/dist/loyalty-events-Cyt9TwX6.mjs +50 -0
  16. package/dist/models/index.d.mts +1225 -2
  17. package/dist/models/index.mjs +2 -2
  18. package/dist/{models-CrZPmVxt.mjs → models-uhh9c-7k.mjs} +104 -41
  19. package/dist/notifications/index.d.mts +1 -1
  20. package/dist/repositories/index.d.mts +2 -2
  21. package/dist/repositories/index.mjs +1 -1
  22. package/dist/repositories-DBSxe9st.mjs +1919 -0
  23. package/dist/types/index.d.mts +2 -2
  24. package/package.json +22 -17
  25. package/dist/config-aNigy4ec.d.mts +0 -90
  26. package/dist/domain/index.d.mts +0 -90
  27. package/dist/domain/index.mjs +0 -4
  28. package/dist/domain-errors-D7q-2LYD.mjs +0 -120
  29. package/dist/event-emitter.port-CLYPoMni.d.mts +0 -8
  30. package/dist/event-types-xQBtYBbX.mjs +0 -24
  31. package/dist/events-CprEWlN7.mjs +0 -25
  32. package/dist/index-B6ZstxSP.d.mts +0 -2357
  33. package/dist/index-BcoGeDco.d.mts +0 -127
  34. package/dist/index-DqzTjeEB.d.mts +0 -148
  35. package/dist/index-O7TL4R2P.d.mts +0 -86
  36. package/dist/index-_pg4J11t.d.mts +0 -191
  37. package/dist/repositories-qMX7Xh_y.mjs +0 -440
  38. package/dist/services/index.d.mts +0 -2
  39. package/dist/services/index.mjs +0 -2
  40. package/dist/services-CoTqC4E6.mjs +0 -1098
  41. package/dist/tier-definition-Djf72UPa.d.mts +0 -120
  42. package/dist/tier-definition.port-BzrHYBRo.d.mts +0 -143
  43. /package/dist/{notification.port-BzUsH0It.d.mts → notification.port-CJ9nXj0k.d.mts} +0 -0
@@ -1,2 +1,1225 @@
1
- import { n as createModels, t as LoyaltyModels } from "../index-B6ZstxSP.mjs";
2
- export { LoyaltyModels, createModels };
1
+ import { c as ResolvedTenant, i as ModelName, r as LoyaltyModelName, t as IndexDefinition } from "../config-DoZPGBfW.mjs";
2
+ import * as _$mongoose from "mongoose";
3
+ import { Connection, Model } from "mongoose";
4
+
5
+ //#region src/models/index.d.ts
6
+ declare class LoyaltyModelCollisionError extends Error {
7
+ constructor(name: string);
8
+ }
9
+ declare function createModels(connection: Connection, tenant: ResolvedTenant, indexes?: Partial<Record<ModelName, IndexDefinition[]>>, autoIndex?: boolean | Partial<Record<LoyaltyModelName, boolean>>, collectionPrefix?: string, forceRecreate?: boolean): {
10
+ Member: Model<{
11
+ programId: string;
12
+ externalId: string;
13
+ externalType: string;
14
+ status: "active" | "inactive" | "suspended";
15
+ enrolledAt: NativeDate;
16
+ cardId?: string | null | undefined;
17
+ referralCode?: string | null | undefined;
18
+ tier?: string | null | undefined;
19
+ tierOverride?: string | null | undefined;
20
+ tierOverrideReason?: string | null | undefined;
21
+ tierOverrideExpiresAt?: NativeDate | null | undefined;
22
+ referredBy?: string | null | undefined;
23
+ tierQualifiedAt?: NativeDate | null | undefined;
24
+ tierExpiresAt?: NativeDate | null | undefined;
25
+ balance?: {
26
+ current: number;
27
+ lifetime: number;
28
+ redeemed: number;
29
+ expired: number;
30
+ } | null | undefined;
31
+ deactivatedAt?: NativeDate | null | undefined;
32
+ metadata?: any;
33
+ } & _$mongoose.DefaultTimestampProps, {}, {}, {
34
+ id: string;
35
+ }, _$mongoose.Document<unknown, {}, {
36
+ programId: string;
37
+ externalId: string;
38
+ externalType: string;
39
+ status: "active" | "inactive" | "suspended";
40
+ enrolledAt: NativeDate;
41
+ cardId?: string | null | undefined;
42
+ referralCode?: string | null | undefined;
43
+ tier?: string | null | undefined;
44
+ tierOverride?: string | null | undefined;
45
+ tierOverrideReason?: string | null | undefined;
46
+ tierOverrideExpiresAt?: NativeDate | null | undefined;
47
+ referredBy?: string | null | undefined;
48
+ tierQualifiedAt?: NativeDate | null | undefined;
49
+ tierExpiresAt?: NativeDate | null | undefined;
50
+ balance?: {
51
+ current: number;
52
+ lifetime: number;
53
+ redeemed: number;
54
+ expired: number;
55
+ } | null | undefined;
56
+ deactivatedAt?: NativeDate | null | undefined;
57
+ metadata?: any;
58
+ } & _$mongoose.DefaultTimestampProps, {
59
+ id: string;
60
+ }, {
61
+ timestamps: true;
62
+ }> & Omit<{
63
+ programId: string;
64
+ externalId: string;
65
+ externalType: string;
66
+ status: "active" | "inactive" | "suspended";
67
+ enrolledAt: NativeDate;
68
+ cardId?: string | null | undefined;
69
+ referralCode?: string | null | undefined;
70
+ tier?: string | null | undefined;
71
+ tierOverride?: string | null | undefined;
72
+ tierOverrideReason?: string | null | undefined;
73
+ tierOverrideExpiresAt?: NativeDate | null | undefined;
74
+ referredBy?: string | null | undefined;
75
+ tierQualifiedAt?: NativeDate | null | undefined;
76
+ tierExpiresAt?: NativeDate | null | undefined;
77
+ balance?: {
78
+ current: number;
79
+ lifetime: number;
80
+ redeemed: number;
81
+ expired: number;
82
+ } | null | undefined;
83
+ deactivatedAt?: NativeDate | null | undefined;
84
+ metadata?: any;
85
+ } & _$mongoose.DefaultTimestampProps & {
86
+ _id: _$mongoose.Types.ObjectId;
87
+ } & {
88
+ __v: number;
89
+ }, "id"> & {
90
+ id: string;
91
+ }, _$mongoose.Schema<any, Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
92
+ timestamps: true;
93
+ }, {
94
+ programId: string;
95
+ externalId: string;
96
+ externalType: string;
97
+ status: "active" | "inactive" | "suspended";
98
+ enrolledAt: NativeDate;
99
+ cardId?: string | null | undefined;
100
+ referralCode?: string | null | undefined;
101
+ tier?: string | null | undefined;
102
+ tierOverride?: string | null | undefined;
103
+ tierOverrideReason?: string | null | undefined;
104
+ tierOverrideExpiresAt?: NativeDate | null | undefined;
105
+ referredBy?: string | null | undefined;
106
+ tierQualifiedAt?: NativeDate | null | undefined;
107
+ tierExpiresAt?: NativeDate | null | undefined;
108
+ balance?: {
109
+ current: number;
110
+ lifetime: number;
111
+ redeemed: number;
112
+ expired: number;
113
+ } | null | undefined;
114
+ deactivatedAt?: NativeDate | null | undefined;
115
+ metadata?: any;
116
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
117
+ programId: string;
118
+ externalId: string;
119
+ externalType: string;
120
+ status: "active" | "inactive" | "suspended";
121
+ enrolledAt: NativeDate;
122
+ cardId?: string | null | undefined;
123
+ referralCode?: string | null | undefined;
124
+ tier?: string | null | undefined;
125
+ tierOverride?: string | null | undefined;
126
+ tierOverrideReason?: string | null | undefined;
127
+ tierOverrideExpiresAt?: NativeDate | null | undefined;
128
+ referredBy?: string | null | undefined;
129
+ tierQualifiedAt?: NativeDate | null | undefined;
130
+ tierExpiresAt?: NativeDate | null | undefined;
131
+ balance?: {
132
+ current: number;
133
+ lifetime: number;
134
+ redeemed: number;
135
+ expired: number;
136
+ } | null | undefined;
137
+ deactivatedAt?: NativeDate | null | undefined;
138
+ metadata?: any;
139
+ } & _$mongoose.DefaultTimestampProps, {
140
+ id: string;
141
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
142
+ timestamps: true;
143
+ }> & Omit<{
144
+ programId: string;
145
+ externalId: string;
146
+ externalType: string;
147
+ status: "active" | "inactive" | "suspended";
148
+ enrolledAt: NativeDate;
149
+ cardId?: string | null | undefined;
150
+ referralCode?: string | null | undefined;
151
+ tier?: string | null | undefined;
152
+ tierOverride?: string | null | undefined;
153
+ tierOverrideReason?: string | null | undefined;
154
+ tierOverrideExpiresAt?: NativeDate | null | undefined;
155
+ referredBy?: string | null | undefined;
156
+ tierQualifiedAt?: NativeDate | null | undefined;
157
+ tierExpiresAt?: NativeDate | null | undefined;
158
+ balance?: {
159
+ current: number;
160
+ lifetime: number;
161
+ redeemed: number;
162
+ expired: number;
163
+ } | null | undefined;
164
+ deactivatedAt?: NativeDate | null | undefined;
165
+ metadata?: any;
166
+ } & _$mongoose.DefaultTimestampProps & {
167
+ _id: _$mongoose.Types.ObjectId;
168
+ } & {
169
+ __v: number;
170
+ }, "id"> & {
171
+ id: string;
172
+ }, unknown, {
173
+ programId: string;
174
+ externalId: string;
175
+ externalType: string;
176
+ status: "active" | "inactive" | "suspended";
177
+ enrolledAt: NativeDate;
178
+ cardId?: string | null | undefined;
179
+ referralCode?: string | null | undefined;
180
+ tier?: string | null | undefined;
181
+ tierOverride?: string | null | undefined;
182
+ tierOverrideReason?: string | null | undefined;
183
+ tierOverrideExpiresAt?: NativeDate | null | undefined;
184
+ referredBy?: string | null | undefined;
185
+ tierQualifiedAt?: NativeDate | null | undefined;
186
+ tierExpiresAt?: NativeDate | null | undefined;
187
+ balance?: {
188
+ current: number;
189
+ lifetime: number;
190
+ redeemed: number;
191
+ expired: number;
192
+ } | null | undefined;
193
+ deactivatedAt?: NativeDate | null | undefined;
194
+ metadata?: any;
195
+ createdAt: NativeDate;
196
+ updatedAt: NativeDate;
197
+ } & {
198
+ _id: _$mongoose.Types.ObjectId;
199
+ } & {
200
+ __v: number;
201
+ }>, {
202
+ programId: string;
203
+ externalId: string;
204
+ externalType: string;
205
+ status: "active" | "inactive" | "suspended";
206
+ enrolledAt: NativeDate;
207
+ cardId?: string | null | undefined;
208
+ referralCode?: string | null | undefined;
209
+ tier?: string | null | undefined;
210
+ tierOverride?: string | null | undefined;
211
+ tierOverrideReason?: string | null | undefined;
212
+ tierOverrideExpiresAt?: NativeDate | null | undefined;
213
+ referredBy?: string | null | undefined;
214
+ tierQualifiedAt?: NativeDate | null | undefined;
215
+ tierExpiresAt?: NativeDate | null | undefined;
216
+ balance?: {
217
+ current: number;
218
+ lifetime: number;
219
+ redeemed: number;
220
+ expired: number;
221
+ } | null | undefined;
222
+ deactivatedAt?: NativeDate | null | undefined;
223
+ metadata?: any;
224
+ createdAt: NativeDate;
225
+ updatedAt: NativeDate;
226
+ } & {
227
+ _id: _$mongoose.Types.ObjectId;
228
+ } & {
229
+ __v: number;
230
+ }>;
231
+ PointTransaction: Model<{
232
+ programId: string;
233
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
234
+ description: string;
235
+ memberId: _$mongoose.Types.ObjectId;
236
+ points: number;
237
+ balanceAfter: number;
238
+ actorId: string;
239
+ metadata?: any;
240
+ referenceType?: string | null | undefined;
241
+ referenceId?: string | null | undefined;
242
+ idempotencyKey?: string | null | undefined;
243
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
244
+ expiresAt?: NativeDate | null | undefined;
245
+ expiredAt?: NativeDate | null | undefined;
246
+ createdAt: NativeDate;
247
+ }, {}, {}, {
248
+ id: string;
249
+ }, _$mongoose.Document<unknown, {}, {
250
+ programId: string;
251
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
252
+ description: string;
253
+ memberId: _$mongoose.Types.ObjectId;
254
+ points: number;
255
+ balanceAfter: number;
256
+ actorId: string;
257
+ metadata?: any;
258
+ referenceType?: string | null | undefined;
259
+ referenceId?: string | null | undefined;
260
+ idempotencyKey?: string | null | undefined;
261
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
262
+ expiresAt?: NativeDate | null | undefined;
263
+ expiredAt?: NativeDate | null | undefined;
264
+ createdAt: NativeDate;
265
+ }, {
266
+ id: string;
267
+ }, {
268
+ timestamps: {
269
+ createdAt: true;
270
+ updatedAt: false;
271
+ };
272
+ }> & Omit<{
273
+ programId: string;
274
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
275
+ description: string;
276
+ memberId: _$mongoose.Types.ObjectId;
277
+ points: number;
278
+ balanceAfter: number;
279
+ actorId: string;
280
+ metadata?: any;
281
+ referenceType?: string | null | undefined;
282
+ referenceId?: string | null | undefined;
283
+ idempotencyKey?: string | null | undefined;
284
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
285
+ expiresAt?: NativeDate | null | undefined;
286
+ expiredAt?: NativeDate | null | undefined;
287
+ createdAt: NativeDate;
288
+ } & {
289
+ _id: _$mongoose.Types.ObjectId;
290
+ } & {
291
+ __v: number;
292
+ }, "id"> & {
293
+ id: string;
294
+ }, _$mongoose.Schema<any, Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
295
+ timestamps: {
296
+ createdAt: true;
297
+ updatedAt: false;
298
+ };
299
+ }, {
300
+ programId: string;
301
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
302
+ description: string;
303
+ memberId: _$mongoose.Types.ObjectId;
304
+ points: number;
305
+ balanceAfter: number;
306
+ actorId: string;
307
+ metadata?: any;
308
+ referenceType?: string | null | undefined;
309
+ referenceId?: string | null | undefined;
310
+ idempotencyKey?: string | null | undefined;
311
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
312
+ expiresAt?: NativeDate | null | undefined;
313
+ expiredAt?: NativeDate | null | undefined;
314
+ createdAt: NativeDate;
315
+ }, _$mongoose.Document<unknown, {}, {
316
+ programId: string;
317
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
318
+ description: string;
319
+ memberId: _$mongoose.Types.ObjectId;
320
+ points: number;
321
+ balanceAfter: number;
322
+ actorId: string;
323
+ metadata?: any;
324
+ referenceType?: string | null | undefined;
325
+ referenceId?: string | null | undefined;
326
+ idempotencyKey?: string | null | undefined;
327
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
328
+ expiresAt?: NativeDate | null | undefined;
329
+ expiredAt?: NativeDate | null | undefined;
330
+ createdAt: NativeDate;
331
+ }, {
332
+ id: string;
333
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
334
+ timestamps: {
335
+ createdAt: true;
336
+ updatedAt: false;
337
+ };
338
+ }> & Omit<{
339
+ programId: string;
340
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
341
+ description: string;
342
+ memberId: _$mongoose.Types.ObjectId;
343
+ points: number;
344
+ balanceAfter: number;
345
+ actorId: string;
346
+ metadata?: any;
347
+ referenceType?: string | null | undefined;
348
+ referenceId?: string | null | undefined;
349
+ idempotencyKey?: string | null | undefined;
350
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
351
+ expiresAt?: NativeDate | null | undefined;
352
+ expiredAt?: NativeDate | null | undefined;
353
+ createdAt: NativeDate;
354
+ } & {
355
+ _id: _$mongoose.Types.ObjectId;
356
+ } & {
357
+ __v: number;
358
+ }, "id"> & {
359
+ id: string;
360
+ }, unknown, {
361
+ programId: string;
362
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
363
+ description: string;
364
+ memberId: _$mongoose.Types.ObjectId;
365
+ points: number;
366
+ balanceAfter: number;
367
+ actorId: string;
368
+ metadata?: any;
369
+ referenceType?: string | null | undefined;
370
+ referenceId?: string | null | undefined;
371
+ idempotencyKey?: string | null | undefined;
372
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
373
+ expiresAt?: NativeDate | null | undefined;
374
+ expiredAt?: NativeDate | null | undefined;
375
+ createdAt: NativeDate;
376
+ } & {
377
+ _id: _$mongoose.Types.ObjectId;
378
+ } & {
379
+ __v: number;
380
+ }>, {
381
+ programId: string;
382
+ type: "earn" | "redeem" | "adjust" | "expire" | "transfer" | "referral_bonus";
383
+ description: string;
384
+ memberId: _$mongoose.Types.ObjectId;
385
+ points: number;
386
+ balanceAfter: number;
387
+ actorId: string;
388
+ metadata?: any;
389
+ referenceType?: string | null | undefined;
390
+ referenceId?: string | null | undefined;
391
+ idempotencyKey?: string | null | undefined;
392
+ earningRuleId?: _$mongoose.Types.ObjectId | null | undefined;
393
+ expiresAt?: NativeDate | null | undefined;
394
+ expiredAt?: NativeDate | null | undefined;
395
+ createdAt: NativeDate;
396
+ } & {
397
+ _id: _$mongoose.Types.ObjectId;
398
+ } & {
399
+ __v: number;
400
+ }>;
401
+ EarningRule: Model<{
402
+ programId: string;
403
+ type: "order" | "action" | "category" | "tier_bonus";
404
+ name: string;
405
+ status: "active" | "expired" | "paused";
406
+ priority: number;
407
+ metadata?: any;
408
+ description?: string | null | undefined;
409
+ conditions?: {
410
+ categories: string[];
411
+ tiers: string[];
412
+ actions: string[];
413
+ dayOfWeek: number[];
414
+ minOrderAmount?: number | null | undefined;
415
+ dateRange?: {
416
+ start?: NativeDate | null | undefined;
417
+ end?: NativeDate | null | undefined;
418
+ } | null | undefined;
419
+ } | null | undefined;
420
+ reward?: {
421
+ roundingMode: "floor" | "round" | "ceil";
422
+ pointsPerAmount?: number | null | undefined;
423
+ amountPerPoint?: number | null | undefined;
424
+ fixedPoints?: number | null | undefined;
425
+ multiplier?: number | null | undefined;
426
+ maxPointsPerTransaction?: number | null | undefined;
427
+ } | null | undefined;
428
+ startsAt?: NativeDate | null | undefined;
429
+ endsAt?: NativeDate | null | undefined;
430
+ } & _$mongoose.DefaultTimestampProps, {}, {}, {
431
+ id: string;
432
+ }, _$mongoose.Document<unknown, {}, {
433
+ programId: string;
434
+ type: "order" | "action" | "category" | "tier_bonus";
435
+ name: string;
436
+ status: "active" | "expired" | "paused";
437
+ priority: number;
438
+ metadata?: any;
439
+ description?: string | null | undefined;
440
+ conditions?: {
441
+ categories: string[];
442
+ tiers: string[];
443
+ actions: string[];
444
+ dayOfWeek: number[];
445
+ minOrderAmount?: number | null | undefined;
446
+ dateRange?: {
447
+ start?: NativeDate | null | undefined;
448
+ end?: NativeDate | null | undefined;
449
+ } | null | undefined;
450
+ } | null | undefined;
451
+ reward?: {
452
+ roundingMode: "floor" | "round" | "ceil";
453
+ pointsPerAmount?: number | null | undefined;
454
+ amountPerPoint?: number | null | undefined;
455
+ fixedPoints?: number | null | undefined;
456
+ multiplier?: number | null | undefined;
457
+ maxPointsPerTransaction?: number | null | undefined;
458
+ } | null | undefined;
459
+ startsAt?: NativeDate | null | undefined;
460
+ endsAt?: NativeDate | null | undefined;
461
+ } & _$mongoose.DefaultTimestampProps, {
462
+ id: string;
463
+ }, {
464
+ timestamps: true;
465
+ }> & Omit<{
466
+ programId: string;
467
+ type: "order" | "action" | "category" | "tier_bonus";
468
+ name: string;
469
+ status: "active" | "expired" | "paused";
470
+ priority: number;
471
+ metadata?: any;
472
+ description?: string | null | undefined;
473
+ conditions?: {
474
+ categories: string[];
475
+ tiers: string[];
476
+ actions: string[];
477
+ dayOfWeek: number[];
478
+ minOrderAmount?: number | null | undefined;
479
+ dateRange?: {
480
+ start?: NativeDate | null | undefined;
481
+ end?: NativeDate | null | undefined;
482
+ } | null | undefined;
483
+ } | null | undefined;
484
+ reward?: {
485
+ roundingMode: "floor" | "round" | "ceil";
486
+ pointsPerAmount?: number | null | undefined;
487
+ amountPerPoint?: number | null | undefined;
488
+ fixedPoints?: number | null | undefined;
489
+ multiplier?: number | null | undefined;
490
+ maxPointsPerTransaction?: number | null | undefined;
491
+ } | null | undefined;
492
+ startsAt?: NativeDate | null | undefined;
493
+ endsAt?: NativeDate | null | undefined;
494
+ } & _$mongoose.DefaultTimestampProps & {
495
+ _id: _$mongoose.Types.ObjectId;
496
+ } & {
497
+ __v: number;
498
+ }, "id"> & {
499
+ id: string;
500
+ }, _$mongoose.Schema<any, Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
501
+ timestamps: true;
502
+ }, {
503
+ programId: string;
504
+ type: "order" | "action" | "category" | "tier_bonus";
505
+ name: string;
506
+ status: "active" | "expired" | "paused";
507
+ priority: number;
508
+ metadata?: any;
509
+ description?: string | null | undefined;
510
+ conditions?: {
511
+ categories: string[];
512
+ tiers: string[];
513
+ actions: string[];
514
+ dayOfWeek: number[];
515
+ minOrderAmount?: number | null | undefined;
516
+ dateRange?: {
517
+ start?: NativeDate | null | undefined;
518
+ end?: NativeDate | null | undefined;
519
+ } | null | undefined;
520
+ } | null | undefined;
521
+ reward?: {
522
+ roundingMode: "floor" | "round" | "ceil";
523
+ pointsPerAmount?: number | null | undefined;
524
+ amountPerPoint?: number | null | undefined;
525
+ fixedPoints?: number | null | undefined;
526
+ multiplier?: number | null | undefined;
527
+ maxPointsPerTransaction?: number | null | undefined;
528
+ } | null | undefined;
529
+ startsAt?: NativeDate | null | undefined;
530
+ endsAt?: NativeDate | null | undefined;
531
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
532
+ programId: string;
533
+ type: "order" | "action" | "category" | "tier_bonus";
534
+ name: string;
535
+ status: "active" | "expired" | "paused";
536
+ priority: number;
537
+ metadata?: any;
538
+ description?: string | null | undefined;
539
+ conditions?: {
540
+ categories: string[];
541
+ tiers: string[];
542
+ actions: string[];
543
+ dayOfWeek: number[];
544
+ minOrderAmount?: number | null | undefined;
545
+ dateRange?: {
546
+ start?: NativeDate | null | undefined;
547
+ end?: NativeDate | null | undefined;
548
+ } | null | undefined;
549
+ } | null | undefined;
550
+ reward?: {
551
+ roundingMode: "floor" | "round" | "ceil";
552
+ pointsPerAmount?: number | null | undefined;
553
+ amountPerPoint?: number | null | undefined;
554
+ fixedPoints?: number | null | undefined;
555
+ multiplier?: number | null | undefined;
556
+ maxPointsPerTransaction?: number | null | undefined;
557
+ } | null | undefined;
558
+ startsAt?: NativeDate | null | undefined;
559
+ endsAt?: NativeDate | null | undefined;
560
+ } & _$mongoose.DefaultTimestampProps, {
561
+ id: string;
562
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
563
+ timestamps: true;
564
+ }> & Omit<{
565
+ programId: string;
566
+ type: "order" | "action" | "category" | "tier_bonus";
567
+ name: string;
568
+ status: "active" | "expired" | "paused";
569
+ priority: number;
570
+ metadata?: any;
571
+ description?: string | null | undefined;
572
+ conditions?: {
573
+ categories: string[];
574
+ tiers: string[];
575
+ actions: string[];
576
+ dayOfWeek: number[];
577
+ minOrderAmount?: number | null | undefined;
578
+ dateRange?: {
579
+ start?: NativeDate | null | undefined;
580
+ end?: NativeDate | null | undefined;
581
+ } | null | undefined;
582
+ } | null | undefined;
583
+ reward?: {
584
+ roundingMode: "floor" | "round" | "ceil";
585
+ pointsPerAmount?: number | null | undefined;
586
+ amountPerPoint?: number | null | undefined;
587
+ fixedPoints?: number | null | undefined;
588
+ multiplier?: number | null | undefined;
589
+ maxPointsPerTransaction?: number | null | undefined;
590
+ } | null | undefined;
591
+ startsAt?: NativeDate | null | undefined;
592
+ endsAt?: NativeDate | null | undefined;
593
+ } & _$mongoose.DefaultTimestampProps & {
594
+ _id: _$mongoose.Types.ObjectId;
595
+ } & {
596
+ __v: number;
597
+ }, "id"> & {
598
+ id: string;
599
+ }, unknown, {
600
+ programId: string;
601
+ type: "order" | "action" | "category" | "tier_bonus";
602
+ name: string;
603
+ status: "active" | "expired" | "paused";
604
+ priority: number;
605
+ metadata?: any;
606
+ description?: string | null | undefined;
607
+ conditions?: {
608
+ categories: string[];
609
+ tiers: string[];
610
+ actions: string[];
611
+ dayOfWeek: number[];
612
+ minOrderAmount?: number | null | undefined;
613
+ dateRange?: {
614
+ start?: NativeDate | null | undefined;
615
+ end?: NativeDate | null | undefined;
616
+ } | null | undefined;
617
+ } | null | undefined;
618
+ reward?: {
619
+ roundingMode: "floor" | "round" | "ceil";
620
+ pointsPerAmount?: number | null | undefined;
621
+ amountPerPoint?: number | null | undefined;
622
+ fixedPoints?: number | null | undefined;
623
+ multiplier?: number | null | undefined;
624
+ maxPointsPerTransaction?: number | null | undefined;
625
+ } | null | undefined;
626
+ startsAt?: NativeDate | null | undefined;
627
+ endsAt?: NativeDate | null | undefined;
628
+ createdAt: NativeDate;
629
+ updatedAt: NativeDate;
630
+ } & {
631
+ _id: _$mongoose.Types.ObjectId;
632
+ } & {
633
+ __v: number;
634
+ }>, {
635
+ programId: string;
636
+ type: "order" | "action" | "category" | "tier_bonus";
637
+ name: string;
638
+ status: "active" | "expired" | "paused";
639
+ priority: number;
640
+ metadata?: any;
641
+ description?: string | null | undefined;
642
+ conditions?: {
643
+ categories: string[];
644
+ tiers: string[];
645
+ actions: string[];
646
+ dayOfWeek: number[];
647
+ minOrderAmount?: number | null | undefined;
648
+ dateRange?: {
649
+ start?: NativeDate | null | undefined;
650
+ end?: NativeDate | null | undefined;
651
+ } | null | undefined;
652
+ } | null | undefined;
653
+ reward?: {
654
+ roundingMode: "floor" | "round" | "ceil";
655
+ pointsPerAmount?: number | null | undefined;
656
+ amountPerPoint?: number | null | undefined;
657
+ fixedPoints?: number | null | undefined;
658
+ multiplier?: number | null | undefined;
659
+ maxPointsPerTransaction?: number | null | undefined;
660
+ } | null | undefined;
661
+ startsAt?: NativeDate | null | undefined;
662
+ endsAt?: NativeDate | null | undefined;
663
+ createdAt: NativeDate;
664
+ updatedAt: NativeDate;
665
+ } & {
666
+ _id: _$mongoose.Types.ObjectId;
667
+ } & {
668
+ __v: number;
669
+ }>;
670
+ TierDefinition: Model<{
671
+ programId: string;
672
+ name: string;
673
+ rank: number;
674
+ metadata?: any;
675
+ qualificationCriteria?: {
676
+ minLifetimePoints?: number | null | undefined;
677
+ minLifetimeSpend?: number | null | undefined;
678
+ evaluationPeriodDays?: number | null | undefined;
679
+ } | null | undefined;
680
+ benefits?: {
681
+ pointsMultiplier?: number | null | undefined;
682
+ discountPercent?: number | null | undefined;
683
+ freeShipping?: boolean | null | undefined;
684
+ customBenefits?: any;
685
+ } | null | undefined;
686
+ downgrade?: {
687
+ enabled: boolean;
688
+ gracePeriodDays: number;
689
+ } | null | undefined;
690
+ color?: string | null | undefined;
691
+ } & _$mongoose.DefaultTimestampProps, {}, {}, {
692
+ id: string;
693
+ }, _$mongoose.Document<unknown, {}, {
694
+ programId: string;
695
+ name: string;
696
+ rank: number;
697
+ metadata?: any;
698
+ qualificationCriteria?: {
699
+ minLifetimePoints?: number | null | undefined;
700
+ minLifetimeSpend?: number | null | undefined;
701
+ evaluationPeriodDays?: number | null | undefined;
702
+ } | null | undefined;
703
+ benefits?: {
704
+ pointsMultiplier?: number | null | undefined;
705
+ discountPercent?: number | null | undefined;
706
+ freeShipping?: boolean | null | undefined;
707
+ customBenefits?: any;
708
+ } | null | undefined;
709
+ downgrade?: {
710
+ enabled: boolean;
711
+ gracePeriodDays: number;
712
+ } | null | undefined;
713
+ color?: string | null | undefined;
714
+ } & _$mongoose.DefaultTimestampProps, {
715
+ id: string;
716
+ }, {
717
+ timestamps: true;
718
+ }> & Omit<{
719
+ programId: string;
720
+ name: string;
721
+ rank: number;
722
+ metadata?: any;
723
+ qualificationCriteria?: {
724
+ minLifetimePoints?: number | null | undefined;
725
+ minLifetimeSpend?: number | null | undefined;
726
+ evaluationPeriodDays?: number | null | undefined;
727
+ } | null | undefined;
728
+ benefits?: {
729
+ pointsMultiplier?: number | null | undefined;
730
+ discountPercent?: number | null | undefined;
731
+ freeShipping?: boolean | null | undefined;
732
+ customBenefits?: any;
733
+ } | null | undefined;
734
+ downgrade?: {
735
+ enabled: boolean;
736
+ gracePeriodDays: number;
737
+ } | null | undefined;
738
+ color?: string | null | undefined;
739
+ } & _$mongoose.DefaultTimestampProps & {
740
+ _id: _$mongoose.Types.ObjectId;
741
+ } & {
742
+ __v: number;
743
+ }, "id"> & {
744
+ id: string;
745
+ }, _$mongoose.Schema<any, Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
746
+ timestamps: true;
747
+ }, {
748
+ programId: string;
749
+ name: string;
750
+ rank: number;
751
+ metadata?: any;
752
+ qualificationCriteria?: {
753
+ minLifetimePoints?: number | null | undefined;
754
+ minLifetimeSpend?: number | null | undefined;
755
+ evaluationPeriodDays?: number | null | undefined;
756
+ } | null | undefined;
757
+ benefits?: {
758
+ pointsMultiplier?: number | null | undefined;
759
+ discountPercent?: number | null | undefined;
760
+ freeShipping?: boolean | null | undefined;
761
+ customBenefits?: any;
762
+ } | null | undefined;
763
+ downgrade?: {
764
+ enabled: boolean;
765
+ gracePeriodDays: number;
766
+ } | null | undefined;
767
+ color?: string | null | undefined;
768
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
769
+ programId: string;
770
+ name: string;
771
+ rank: number;
772
+ metadata?: any;
773
+ qualificationCriteria?: {
774
+ minLifetimePoints?: number | null | undefined;
775
+ minLifetimeSpend?: number | null | undefined;
776
+ evaluationPeriodDays?: number | null | undefined;
777
+ } | null | undefined;
778
+ benefits?: {
779
+ pointsMultiplier?: number | null | undefined;
780
+ discountPercent?: number | null | undefined;
781
+ freeShipping?: boolean | null | undefined;
782
+ customBenefits?: any;
783
+ } | null | undefined;
784
+ downgrade?: {
785
+ enabled: boolean;
786
+ gracePeriodDays: number;
787
+ } | null | undefined;
788
+ color?: string | null | undefined;
789
+ } & _$mongoose.DefaultTimestampProps, {
790
+ id: string;
791
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
792
+ timestamps: true;
793
+ }> & Omit<{
794
+ programId: string;
795
+ name: string;
796
+ rank: number;
797
+ metadata?: any;
798
+ qualificationCriteria?: {
799
+ minLifetimePoints?: number | null | undefined;
800
+ minLifetimeSpend?: number | null | undefined;
801
+ evaluationPeriodDays?: number | null | undefined;
802
+ } | null | undefined;
803
+ benefits?: {
804
+ pointsMultiplier?: number | null | undefined;
805
+ discountPercent?: number | null | undefined;
806
+ freeShipping?: boolean | null | undefined;
807
+ customBenefits?: any;
808
+ } | null | undefined;
809
+ downgrade?: {
810
+ enabled: boolean;
811
+ gracePeriodDays: number;
812
+ } | null | undefined;
813
+ color?: string | null | undefined;
814
+ } & _$mongoose.DefaultTimestampProps & {
815
+ _id: _$mongoose.Types.ObjectId;
816
+ } & {
817
+ __v: number;
818
+ }, "id"> & {
819
+ id: string;
820
+ }, unknown, {
821
+ programId: string;
822
+ name: string;
823
+ rank: number;
824
+ metadata?: any;
825
+ qualificationCriteria?: {
826
+ minLifetimePoints?: number | null | undefined;
827
+ minLifetimeSpend?: number | null | undefined;
828
+ evaluationPeriodDays?: number | null | undefined;
829
+ } | null | undefined;
830
+ benefits?: {
831
+ pointsMultiplier?: number | null | undefined;
832
+ discountPercent?: number | null | undefined;
833
+ freeShipping?: boolean | null | undefined;
834
+ customBenefits?: any;
835
+ } | null | undefined;
836
+ downgrade?: {
837
+ enabled: boolean;
838
+ gracePeriodDays: number;
839
+ } | null | undefined;
840
+ color?: string | null | undefined;
841
+ createdAt: NativeDate;
842
+ updatedAt: NativeDate;
843
+ } & {
844
+ _id: _$mongoose.Types.ObjectId;
845
+ } & {
846
+ __v: number;
847
+ }>, {
848
+ programId: string;
849
+ name: string;
850
+ rank: number;
851
+ metadata?: any;
852
+ qualificationCriteria?: {
853
+ minLifetimePoints?: number | null | undefined;
854
+ minLifetimeSpend?: number | null | undefined;
855
+ evaluationPeriodDays?: number | null | undefined;
856
+ } | null | undefined;
857
+ benefits?: {
858
+ pointsMultiplier?: number | null | undefined;
859
+ discountPercent?: number | null | undefined;
860
+ freeShipping?: boolean | null | undefined;
861
+ customBenefits?: any;
862
+ } | null | undefined;
863
+ downgrade?: {
864
+ enabled: boolean;
865
+ gracePeriodDays: number;
866
+ } | null | undefined;
867
+ color?: string | null | undefined;
868
+ createdAt: NativeDate;
869
+ updatedAt: NativeDate;
870
+ } & {
871
+ _id: _$mongoose.Types.ObjectId;
872
+ } & {
873
+ __v: number;
874
+ }>;
875
+ Redemption: Model<{
876
+ programId: string;
877
+ status: "expired" | "reserved" | "confirmed" | "released" | "reversed";
878
+ memberId: _$mongoose.Types.ObjectId;
879
+ pointsReserved: number;
880
+ pointsConfirmed: number;
881
+ discountAmount: number;
882
+ conversionRate: number;
883
+ ownerType: string;
884
+ ownerId: string;
885
+ expiresAt?: NativeDate | null | undefined;
886
+ confirmedAt?: NativeDate | null | undefined;
887
+ releasedAt?: NativeDate | null | undefined;
888
+ reversedAt?: NativeDate | null | undefined;
889
+ reversalReason?: string | null | undefined;
890
+ reversalTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
891
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
892
+ initialBalance?: number | null | undefined;
893
+ remainingBalance?: number | null | undefined;
894
+ } & _$mongoose.DefaultTimestampProps, {}, {}, {
895
+ id: string;
896
+ }, _$mongoose.Document<unknown, {}, {
897
+ programId: string;
898
+ status: "expired" | "reserved" | "confirmed" | "released" | "reversed";
899
+ memberId: _$mongoose.Types.ObjectId;
900
+ pointsReserved: number;
901
+ pointsConfirmed: number;
902
+ discountAmount: number;
903
+ conversionRate: number;
904
+ ownerType: string;
905
+ ownerId: string;
906
+ expiresAt?: NativeDate | null | undefined;
907
+ confirmedAt?: NativeDate | null | undefined;
908
+ releasedAt?: NativeDate | null | undefined;
909
+ reversedAt?: NativeDate | null | undefined;
910
+ reversalReason?: string | null | undefined;
911
+ reversalTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
912
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
913
+ initialBalance?: number | null | undefined;
914
+ remainingBalance?: number | null | undefined;
915
+ } & _$mongoose.DefaultTimestampProps, {
916
+ id: string;
917
+ }, {
918
+ timestamps: true;
919
+ }> & Omit<{
920
+ programId: string;
921
+ status: "expired" | "reserved" | "confirmed" | "released" | "reversed";
922
+ memberId: _$mongoose.Types.ObjectId;
923
+ pointsReserved: number;
924
+ pointsConfirmed: number;
925
+ discountAmount: number;
926
+ conversionRate: number;
927
+ ownerType: string;
928
+ ownerId: string;
929
+ expiresAt?: NativeDate | null | undefined;
930
+ confirmedAt?: NativeDate | null | undefined;
931
+ releasedAt?: NativeDate | null | undefined;
932
+ reversedAt?: NativeDate | null | undefined;
933
+ reversalReason?: string | null | undefined;
934
+ reversalTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
935
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
936
+ initialBalance?: number | null | undefined;
937
+ remainingBalance?: number | null | undefined;
938
+ } & _$mongoose.DefaultTimestampProps & {
939
+ _id: _$mongoose.Types.ObjectId;
940
+ } & {
941
+ __v: number;
942
+ }, "id"> & {
943
+ id: string;
944
+ }, _$mongoose.Schema<any, Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
945
+ timestamps: true;
946
+ }, {
947
+ programId: string;
948
+ status: "expired" | "reserved" | "confirmed" | "released" | "reversed";
949
+ memberId: _$mongoose.Types.ObjectId;
950
+ pointsReserved: number;
951
+ pointsConfirmed: number;
952
+ discountAmount: number;
953
+ conversionRate: number;
954
+ ownerType: string;
955
+ ownerId: string;
956
+ expiresAt?: NativeDate | null | undefined;
957
+ confirmedAt?: NativeDate | null | undefined;
958
+ releasedAt?: NativeDate | null | undefined;
959
+ reversedAt?: NativeDate | null | undefined;
960
+ reversalReason?: string | null | undefined;
961
+ reversalTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
962
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
963
+ initialBalance?: number | null | undefined;
964
+ remainingBalance?: number | null | undefined;
965
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
966
+ programId: string;
967
+ status: "expired" | "reserved" | "confirmed" | "released" | "reversed";
968
+ memberId: _$mongoose.Types.ObjectId;
969
+ pointsReserved: number;
970
+ pointsConfirmed: number;
971
+ discountAmount: number;
972
+ conversionRate: number;
973
+ ownerType: string;
974
+ ownerId: string;
975
+ expiresAt?: NativeDate | null | undefined;
976
+ confirmedAt?: NativeDate | null | undefined;
977
+ releasedAt?: NativeDate | null | undefined;
978
+ reversedAt?: NativeDate | null | undefined;
979
+ reversalReason?: string | null | undefined;
980
+ reversalTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
981
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
982
+ initialBalance?: number | null | undefined;
983
+ remainingBalance?: number | null | undefined;
984
+ } & _$mongoose.DefaultTimestampProps, {
985
+ id: string;
986
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
987
+ timestamps: true;
988
+ }> & Omit<{
989
+ programId: string;
990
+ status: "expired" | "reserved" | "confirmed" | "released" | "reversed";
991
+ memberId: _$mongoose.Types.ObjectId;
992
+ pointsReserved: number;
993
+ pointsConfirmed: number;
994
+ discountAmount: number;
995
+ conversionRate: number;
996
+ ownerType: string;
997
+ ownerId: string;
998
+ expiresAt?: NativeDate | null | undefined;
999
+ confirmedAt?: NativeDate | null | undefined;
1000
+ releasedAt?: NativeDate | null | undefined;
1001
+ reversedAt?: NativeDate | null | undefined;
1002
+ reversalReason?: string | null | undefined;
1003
+ reversalTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1004
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1005
+ initialBalance?: number | null | undefined;
1006
+ remainingBalance?: number | null | undefined;
1007
+ } & _$mongoose.DefaultTimestampProps & {
1008
+ _id: _$mongoose.Types.ObjectId;
1009
+ } & {
1010
+ __v: number;
1011
+ }, "id"> & {
1012
+ id: string;
1013
+ }, unknown, {
1014
+ programId: string;
1015
+ status: "expired" | "reserved" | "confirmed" | "released" | "reversed";
1016
+ memberId: _$mongoose.Types.ObjectId;
1017
+ pointsReserved: number;
1018
+ pointsConfirmed: number;
1019
+ discountAmount: number;
1020
+ conversionRate: number;
1021
+ ownerType: string;
1022
+ ownerId: string;
1023
+ expiresAt?: NativeDate | null | undefined;
1024
+ confirmedAt?: NativeDate | null | undefined;
1025
+ releasedAt?: NativeDate | null | undefined;
1026
+ reversedAt?: NativeDate | null | undefined;
1027
+ reversalReason?: string | null | undefined;
1028
+ reversalTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1029
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1030
+ initialBalance?: number | null | undefined;
1031
+ remainingBalance?: number | null | undefined;
1032
+ createdAt: NativeDate;
1033
+ updatedAt: NativeDate;
1034
+ } & {
1035
+ _id: _$mongoose.Types.ObjectId;
1036
+ } & {
1037
+ __v: number;
1038
+ }>, {
1039
+ programId: string;
1040
+ status: "expired" | "reserved" | "confirmed" | "released" | "reversed";
1041
+ memberId: _$mongoose.Types.ObjectId;
1042
+ pointsReserved: number;
1043
+ pointsConfirmed: number;
1044
+ discountAmount: number;
1045
+ conversionRate: number;
1046
+ ownerType: string;
1047
+ ownerId: string;
1048
+ expiresAt?: NativeDate | null | undefined;
1049
+ confirmedAt?: NativeDate | null | undefined;
1050
+ releasedAt?: NativeDate | null | undefined;
1051
+ reversedAt?: NativeDate | null | undefined;
1052
+ reversalReason?: string | null | undefined;
1053
+ reversalTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1054
+ transactionId?: _$mongoose.Types.ObjectId | null | undefined;
1055
+ initialBalance?: number | null | undefined;
1056
+ remainingBalance?: number | null | undefined;
1057
+ createdAt: NativeDate;
1058
+ updatedAt: NativeDate;
1059
+ } & {
1060
+ _id: _$mongoose.Types.ObjectId;
1061
+ } & {
1062
+ __v: number;
1063
+ }>;
1064
+ Referral: Model<{
1065
+ programId: string;
1066
+ status: "expired" | "pending" | "approved" | "rejected";
1067
+ referralCode: string;
1068
+ referrerId: _$mongoose.Types.ObjectId;
1069
+ refereeId: _$mongoose.Types.ObjectId;
1070
+ metadata?: any;
1071
+ expiresAt?: NativeDate | null | undefined;
1072
+ referrerRewardPoints?: number | null | undefined;
1073
+ refereeRewardPoints?: number | null | undefined;
1074
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1075
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1076
+ approvedAt?: NativeDate | null | undefined;
1077
+ rejectedAt?: NativeDate | null | undefined;
1078
+ rejectionReason?: string | null | undefined;
1079
+ } & _$mongoose.DefaultTimestampProps, {}, {}, {
1080
+ id: string;
1081
+ }, _$mongoose.Document<unknown, {}, {
1082
+ programId: string;
1083
+ status: "expired" | "pending" | "approved" | "rejected";
1084
+ referralCode: string;
1085
+ referrerId: _$mongoose.Types.ObjectId;
1086
+ refereeId: _$mongoose.Types.ObjectId;
1087
+ metadata?: any;
1088
+ expiresAt?: NativeDate | null | undefined;
1089
+ referrerRewardPoints?: number | null | undefined;
1090
+ refereeRewardPoints?: number | null | undefined;
1091
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1092
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1093
+ approvedAt?: NativeDate | null | undefined;
1094
+ rejectedAt?: NativeDate | null | undefined;
1095
+ rejectionReason?: string | null | undefined;
1096
+ } & _$mongoose.DefaultTimestampProps, {
1097
+ id: string;
1098
+ }, {
1099
+ timestamps: true;
1100
+ }> & Omit<{
1101
+ programId: string;
1102
+ status: "expired" | "pending" | "approved" | "rejected";
1103
+ referralCode: string;
1104
+ referrerId: _$mongoose.Types.ObjectId;
1105
+ refereeId: _$mongoose.Types.ObjectId;
1106
+ metadata?: any;
1107
+ expiresAt?: NativeDate | null | undefined;
1108
+ referrerRewardPoints?: number | null | undefined;
1109
+ refereeRewardPoints?: number | null | undefined;
1110
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1111
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1112
+ approvedAt?: NativeDate | null | undefined;
1113
+ rejectedAt?: NativeDate | null | undefined;
1114
+ rejectionReason?: string | null | undefined;
1115
+ } & _$mongoose.DefaultTimestampProps & {
1116
+ _id: _$mongoose.Types.ObjectId;
1117
+ } & {
1118
+ __v: number;
1119
+ }, "id"> & {
1120
+ id: string;
1121
+ }, _$mongoose.Schema<any, Model<any, any, any, any, any, any, any>, {}, {}, {}, {}, {
1122
+ timestamps: true;
1123
+ }, {
1124
+ programId: string;
1125
+ status: "expired" | "pending" | "approved" | "rejected";
1126
+ referralCode: string;
1127
+ referrerId: _$mongoose.Types.ObjectId;
1128
+ refereeId: _$mongoose.Types.ObjectId;
1129
+ metadata?: any;
1130
+ expiresAt?: NativeDate | null | undefined;
1131
+ referrerRewardPoints?: number | null | undefined;
1132
+ refereeRewardPoints?: number | null | undefined;
1133
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1134
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1135
+ approvedAt?: NativeDate | null | undefined;
1136
+ rejectedAt?: NativeDate | null | undefined;
1137
+ rejectionReason?: string | null | undefined;
1138
+ } & _$mongoose.DefaultTimestampProps, _$mongoose.Document<unknown, {}, {
1139
+ programId: string;
1140
+ status: "expired" | "pending" | "approved" | "rejected";
1141
+ referralCode: string;
1142
+ referrerId: _$mongoose.Types.ObjectId;
1143
+ refereeId: _$mongoose.Types.ObjectId;
1144
+ metadata?: any;
1145
+ expiresAt?: NativeDate | null | undefined;
1146
+ referrerRewardPoints?: number | null | undefined;
1147
+ refereeRewardPoints?: number | null | undefined;
1148
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1149
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1150
+ approvedAt?: NativeDate | null | undefined;
1151
+ rejectedAt?: NativeDate | null | undefined;
1152
+ rejectionReason?: string | null | undefined;
1153
+ } & _$mongoose.DefaultTimestampProps, {
1154
+ id: string;
1155
+ }, Omit<_$mongoose.DefaultSchemaOptions, "timestamps"> & {
1156
+ timestamps: true;
1157
+ }> & Omit<{
1158
+ programId: string;
1159
+ status: "expired" | "pending" | "approved" | "rejected";
1160
+ referralCode: string;
1161
+ referrerId: _$mongoose.Types.ObjectId;
1162
+ refereeId: _$mongoose.Types.ObjectId;
1163
+ metadata?: any;
1164
+ expiresAt?: NativeDate | null | undefined;
1165
+ referrerRewardPoints?: number | null | undefined;
1166
+ refereeRewardPoints?: number | null | undefined;
1167
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1168
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1169
+ approvedAt?: NativeDate | null | undefined;
1170
+ rejectedAt?: NativeDate | null | undefined;
1171
+ rejectionReason?: string | null | undefined;
1172
+ } & _$mongoose.DefaultTimestampProps & {
1173
+ _id: _$mongoose.Types.ObjectId;
1174
+ } & {
1175
+ __v: number;
1176
+ }, "id"> & {
1177
+ id: string;
1178
+ }, unknown, {
1179
+ programId: string;
1180
+ status: "expired" | "pending" | "approved" | "rejected";
1181
+ referralCode: string;
1182
+ referrerId: _$mongoose.Types.ObjectId;
1183
+ refereeId: _$mongoose.Types.ObjectId;
1184
+ metadata?: any;
1185
+ expiresAt?: NativeDate | null | undefined;
1186
+ referrerRewardPoints?: number | null | undefined;
1187
+ refereeRewardPoints?: number | null | undefined;
1188
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1189
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1190
+ approvedAt?: NativeDate | null | undefined;
1191
+ rejectedAt?: NativeDate | null | undefined;
1192
+ rejectionReason?: string | null | undefined;
1193
+ createdAt: NativeDate;
1194
+ updatedAt: NativeDate;
1195
+ } & {
1196
+ _id: _$mongoose.Types.ObjectId;
1197
+ } & {
1198
+ __v: number;
1199
+ }>, {
1200
+ programId: string;
1201
+ status: "expired" | "pending" | "approved" | "rejected";
1202
+ referralCode: string;
1203
+ referrerId: _$mongoose.Types.ObjectId;
1204
+ refereeId: _$mongoose.Types.ObjectId;
1205
+ metadata?: any;
1206
+ expiresAt?: NativeDate | null | undefined;
1207
+ referrerRewardPoints?: number | null | undefined;
1208
+ refereeRewardPoints?: number | null | undefined;
1209
+ referrerTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1210
+ refereeTransactionId?: _$mongoose.Types.ObjectId | null | undefined;
1211
+ approvedAt?: NativeDate | null | undefined;
1212
+ rejectedAt?: NativeDate | null | undefined;
1213
+ rejectionReason?: string | null | undefined;
1214
+ createdAt: NativeDate;
1215
+ updatedAt: NativeDate;
1216
+ } & {
1217
+ _id: _$mongoose.Types.ObjectId;
1218
+ } & {
1219
+ __v: number;
1220
+ }>;
1221
+ };
1222
+ /** Mongoose 9 schema-inferred model types. */
1223
+ type LoyaltyModels = ReturnType<typeof createModels>;
1224
+ //#endregion
1225
+ export { LoyaltyModelCollisionError, type LoyaltyModelName, LoyaltyModels, createModels };