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