@marqeta/ux-toolkit-sdk-javascript 0.24.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.
@@ -0,0 +1,3126 @@
1
+ import { ContainerModule, Container } from 'inversify';
2
+ import * as msw from 'msw';
3
+
4
+ type gpaObject = {
5
+ currencyCode: string;
6
+ ledgerBalance: number;
7
+ availableBalance: number;
8
+ pendingCredits: number;
9
+ balances: {
10
+ [currency: string]: {
11
+ currencyCode: string;
12
+ ledgerBalance: number;
13
+ availableBalance: number;
14
+ pendingCredits: number;
15
+ };
16
+ };
17
+ };
18
+ declare class AccountBalancesEntity {
19
+ _programName: string;
20
+ _gpa: gpaObject;
21
+ _buttonText: string;
22
+ constructor(input: AccountBalancesEntityJsonType);
23
+ get gpa(): gpaObject;
24
+ get programName(): string;
25
+ get buttonText(): string;
26
+ getBalanceByCurrencyCode(currencyCode: string): number | undefined;
27
+ }
28
+ interface AccountBalancesEntityJsonType {
29
+ gpa: gpaObject;
30
+ programName: string;
31
+ buttonText: string;
32
+ }
33
+
34
+ declare class BaseEntity {
35
+ toJson(): Record<string, unknown>;
36
+ toJsonString(): string;
37
+ static isEntity(item: unknown): item is BaseEntity;
38
+ }
39
+
40
+ type UserStatus = 'UNVERIFIED' | 'LIMITED' | 'ACTIVE' | 'SUSPENDED' | 'CLOSED';
41
+ declare class UserEntity extends BaseEntity {
42
+ private _token;
43
+ private _active;
44
+ private _createdTime;
45
+ private _firstName;
46
+ private _middleName;
47
+ private _lastName;
48
+ private _address1;
49
+ private _address2?;
50
+ private _city;
51
+ private _state;
52
+ private _postalCode;
53
+ private _country;
54
+ private _status;
55
+ constructor(input: UserEntityJsonType);
56
+ get token(): string;
57
+ get active(): boolean;
58
+ get createdTime(): string;
59
+ get firstName(): string;
60
+ get middleName(): string;
61
+ get lastName(): string;
62
+ get address1(): string;
63
+ get address2(): string | undefined;
64
+ get city(): string;
65
+ get state(): string;
66
+ get postalCode(): string;
67
+ get country(): string;
68
+ get status(): UserStatus;
69
+ isActive(): boolean;
70
+ hasWarningStatus(): boolean;
71
+ hasErrorStatus(): boolean;
72
+ }
73
+ interface UserEntityJsonType {
74
+ token: string;
75
+ active: boolean;
76
+ createdTime: string;
77
+ firstName: string;
78
+ middleName: string;
79
+ lastName: string;
80
+ address1: string;
81
+ address2?: string;
82
+ city: string;
83
+ state: string;
84
+ postalCode: string;
85
+ country: string;
86
+ status: UserStatus;
87
+ }
88
+ interface UserAddressEntity {
89
+ address1: string;
90
+ address2?: string;
91
+ city: string;
92
+ state: string;
93
+ postalCode: string;
94
+ country: string;
95
+ }
96
+
97
+ declare class CardEntity extends BaseEntity {
98
+ private _token;
99
+ private _state;
100
+ private _lastFour;
101
+ private _cardActions;
102
+ private _cardProductToken;
103
+ private _cvvNumber?;
104
+ private _expiration;
105
+ private _pan?;
106
+ private _userToken;
107
+ private _user;
108
+ private _name?;
109
+ private _instrumentType?;
110
+ private _network?;
111
+ private _productType?;
112
+ private _fulfillmentState?;
113
+ constructor(input: CardEntityJsonType);
114
+ get token(): string;
115
+ get state(): string;
116
+ get lastFour(): string;
117
+ get cardProductToken(): string;
118
+ get cardActions(): CardActionsListEntity;
119
+ get cvvNumber(): string | undefined;
120
+ get expiration(): string;
121
+ get pan(): string | undefined;
122
+ get userToken(): string;
123
+ get user(): UserEntity | undefined;
124
+ get name(): string | undefined;
125
+ get instrumentType(): string | undefined;
126
+ get network(): string | undefined;
127
+ get productType(): string | undefined;
128
+ get fulfillmentState(): string | undefined;
129
+ }
130
+ interface CardEntityJsonType {
131
+ token: string;
132
+ state: string;
133
+ network?: string;
134
+ lastFour: string;
135
+ cardActions: CardActionsListEntity;
136
+ cardProductToken: string;
137
+ cvvNumber?: string;
138
+ expiration: string;
139
+ pan?: string;
140
+ userToken: string;
141
+ user?: UserEntityJsonType;
142
+ name?: string;
143
+ productType?: string;
144
+ fulfillmentState?: string;
145
+ instrumentType?: string;
146
+ }
147
+ interface CardActionEntity {
148
+ id: string;
149
+ titleKey: string;
150
+ subheadingKey?: string;
151
+ typeIcon: string;
152
+ actionType: string;
153
+ enabled: boolean;
154
+ }
155
+ type CardActionsListEntity = CardActionEntity[];
156
+ interface UpdatePinResponse {
157
+ pin: string;
158
+ card: CardEntity;
159
+ }
160
+ interface PinResponse {
161
+ pin: string;
162
+ }
163
+ declare enum CardStates {
164
+ ACTIVE = "ACTIVE",
165
+ SUSPENDED = "SUSPENDED",
166
+ TERMINATED = "TERMINATED",
167
+ UNACTIVATED = "UNACTIVATED",
168
+ EXPIRED = "EXPIRED"
169
+ }
170
+ declare enum CardholderVerificationMethods {
171
+ BIOMETRIC_FACE = "BIOMETRIC_FACE",
172
+ BIOMETRIC_FINGERPRINT = "BIOMETRIC_FINGERPRINT",
173
+ LOGIN = "LOGIN",
174
+ EXP_CVV = "EXP_CVV",
175
+ OTP_CVV = "OTP_CVV",
176
+ OTP = "OTP",
177
+ OTHER = "OTHER"
178
+ }
179
+
180
+ declare abstract class iCardRepository {
181
+ abstract getCardByToken(cardToken: string): Promise<CardEntity>;
182
+ abstract getCardsByUserToken(): Promise<CardEntity[]>;
183
+ abstract getShowpanByCardToken(cardToken: string): Promise<CardEntity>;
184
+ abstract activateCardByTokenOrPan(cardToken: string, cvv: string, expiry: string, pan?: string): Promise<CardEntity>;
185
+ abstract lockCardByToken(cardToken: string): Promise<CardEntity>;
186
+ abstract replaceCardByToken(cardToken: string, cardProductToken: string, reasonCode: string): Promise<CardEntity>;
187
+ abstract unlockCardByToken(cardToken: string): Promise<CardEntity>;
188
+ abstract updatePinByCardToken(pin: string, cardToken: string): Promise<UpdatePinResponse>;
189
+ abstract getPinByCardToken(cardToken: string, cardholderVerificationMethod: string): Promise<PinResponse>;
190
+ }
191
+
192
+ declare const TEST_CARD_PRODUCT_TOKEN: string;
193
+ declare const TEST_CARD_TOKEN: string;
194
+ declare const TEST_CARD_TOKEN_IS_ACTIVE: string;
195
+ declare const TEST_CARD_TOKEN_IS_VIRTUAL: string;
196
+ declare const TEST_CARD_TOKEN_IS_ACTIVE_VIRTUAL: string;
197
+ declare const TEST_CARD_TOKEN_IS_SUSPENDED_VIRTUAL: string;
198
+ declare const TEST_CARD_TOKEN_INVALID: string;
199
+ declare const TEST_CARD_TOKEN_LOADING: string;
200
+ declare const TEST_CARD_TOKEN_LIMIT_EXCEEDED: string;
201
+ declare const TEST_CARD_TOKEN_IS_SUSPENDED: string;
202
+ declare const TEST_CARD_TOKEN_IS_UNACTIVATED: string;
203
+ declare const TEST_CARD_TOKEN_IS_EXPIRED: string;
204
+ declare const TEST_CARD_TOKEN_IS_TERMINATED: string;
205
+ declare const TEST_CARDHOLDER_VERIFICATION_METHOD = "OTHER";
206
+ declare const TEST_CVV_NUMBER: string;
207
+ declare const TEST_EXPIRATION: string;
208
+ declare const TEST_PIN: string;
209
+ declare const TEST_CARD_ACTIONS: ({
210
+ id: string;
211
+ title_key: string;
212
+ type_icon: string;
213
+ action_type: string;
214
+ enabled: boolean;
215
+ subheading_key?: undefined;
216
+ } | {
217
+ id: string;
218
+ title_key: string;
219
+ subheading_key: string;
220
+ type_icon: string;
221
+ action_type: string;
222
+ enabled: boolean;
223
+ })[];
224
+ declare const ACTIVE_CARD_ACTIONS: ({
225
+ enabled: boolean;
226
+ id: string;
227
+ title_key: string;
228
+ type_icon: string;
229
+ action_type: string;
230
+ subheading_key?: undefined;
231
+ } | {
232
+ enabled: boolean;
233
+ id: string;
234
+ title_key: string;
235
+ subheading_key: string;
236
+ type_icon: string;
237
+ action_type: string;
238
+ })[];
239
+ declare const TERMINATED_CARD_ACTIONS: ({
240
+ enabled: boolean;
241
+ id: string;
242
+ title_key: string;
243
+ type_icon: string;
244
+ action_type: string;
245
+ subheading_key?: undefined;
246
+ } | {
247
+ enabled: boolean;
248
+ id: string;
249
+ title_key: string;
250
+ subheading_key: string;
251
+ type_icon: string;
252
+ action_type: string;
253
+ })[];
254
+ declare const SUSPENDED_CARD_ACTIONS: ({
255
+ id: string;
256
+ title_key: string;
257
+ type_icon: string;
258
+ action_type: string;
259
+ enabled: boolean;
260
+ subheading_key?: undefined;
261
+ } | {
262
+ id: string;
263
+ title_key: string;
264
+ subheading_key: string;
265
+ type_icon: string;
266
+ action_type: string;
267
+ enabled: boolean;
268
+ })[];
269
+ declare const TEST_CARD: {
270
+ token: string;
271
+ state: string;
272
+ lastFour: string;
273
+ cardActions: CardActionsListEntity;
274
+ cardProductToken: string;
275
+ expiration: string;
276
+ userToken: string;
277
+ };
278
+ declare const TEST_ACTIVE_CARD: {
279
+ state: CardStates;
280
+ network: string;
281
+ pan: string;
282
+ cvv_number: string;
283
+ instrument_type: string;
284
+ user: {
285
+ first_name: string;
286
+ last_name: string;
287
+ };
288
+ token: string;
289
+ lastFour: string;
290
+ cardActions: CardActionsListEntity;
291
+ cardProductToken: string;
292
+ expiration: string;
293
+ userToken: string;
294
+ };
295
+ declare const TEST_ACTIVE_CARD_VIRTUAL: {
296
+ state: CardStates;
297
+ pan: string;
298
+ cvv_number: string;
299
+ instrument_type: string;
300
+ user: {
301
+ first_name: string;
302
+ middle_name: string;
303
+ last_name: string;
304
+ };
305
+ token: string;
306
+ lastFour: string;
307
+ cardActions: CardActionsListEntity;
308
+ cardProductToken: string;
309
+ expiration: string;
310
+ userToken: string;
311
+ };
312
+ declare const TEST_SUSPENDED_CARD_VIRTUAL: {
313
+ state: CardStates;
314
+ pan: string;
315
+ cvv_number: string;
316
+ instrument_type: string;
317
+ user: {
318
+ first_name: string;
319
+ last_name: string;
320
+ };
321
+ token: string;
322
+ lastFour: string;
323
+ cardActions: CardActionsListEntity;
324
+ cardProductToken: string;
325
+ expiration: string;
326
+ userToken: string;
327
+ };
328
+ declare const TEST_WEAK_PINS: string[];
329
+ declare class MockCardRepository implements iCardRepository {
330
+ lockCardByToken(cardToken: string): Promise<CardEntity>;
331
+ replaceCardByToken(cardProductToken: string, reasonCode: string): Promise<CardEntity>;
332
+ unlockCardByToken(cardToken: string): Promise<CardEntity>;
333
+ getShowpanByCardToken(cardToken: string): Promise<CardEntity>;
334
+ getCardByToken(cardToken: string): Promise<CardEntity>;
335
+ getCardsByUserToken(): Promise<CardEntity[]>;
336
+ activateCardByTokenOrPan(cardToken: string, cvv: string, expiry: string, pan: string): Promise<CardEntity>;
337
+ updatePinByCardToken(pin: string, cardToken: string): Promise<UpdatePinResponse>;
338
+ getPinByCardToken(cardToken: string, cardholderVerificationMethod: string): Promise<PinResponse>;
339
+ }
340
+
341
+ declare class GetCardByToken {
342
+ cardRepository: iCardRepository;
343
+ execute(cardToken: string): Promise<CardEntity>;
344
+ }
345
+
346
+ declare class GetCardsByUserToken {
347
+ cardRepository: iCardRepository;
348
+ execute(): Promise<CardEntity[]>;
349
+ }
350
+
351
+ declare class GetShowpanByCardToken {
352
+ cardRepository: iCardRepository;
353
+ execute(cardToken: string): Promise<CardEntity>;
354
+ }
355
+
356
+ declare class ActivateCardByTokenOrPan {
357
+ cardRepository: iCardRepository;
358
+ execute(cardToken: string, cvv: string, expiry: string, pan?: string): Promise<CardEntity | undefined>;
359
+ }
360
+
361
+ declare class LockCardByToken {
362
+ cardRepository: iCardRepository;
363
+ execute(cardToken: string): Promise<CardEntity | undefined>;
364
+ }
365
+
366
+ declare class ReplaceCardByToken {
367
+ cardRepository: iCardRepository;
368
+ execute(cardToken: string, cardProductToken: string, reasonCode: string): Promise<CardEntity | undefined>;
369
+ }
370
+
371
+ declare class UnlockCardByToken {
372
+ cardRepository: iCardRepository;
373
+ execute(cardToken: string): Promise<CardEntity | undefined>;
374
+ }
375
+
376
+ declare class UpdatePinByCardToken {
377
+ cardRepository: iCardRepository;
378
+ execute(pin: string, cardToken: string): Promise<UpdatePinResponse>;
379
+ }
380
+
381
+ declare class GetPinByCardToken {
382
+ cardRepository: iCardRepository;
383
+ execute(cardToken: string, cardholderVerificationMethod: string): Promise<PinResponse>;
384
+ }
385
+
386
+ declare const cardsIOCModule: ContainerModule;
387
+
388
+ declare const mockCardsIOCModule: ContainerModule;
389
+
390
+ declare const ITF_CARD_REPOSITORY: unique symbol;
391
+ declare const INTR_GET_CARD_BY_TOKEN: unique symbol;
392
+ declare const INTR_GET_SHOWPAN_BY_CARD_TOKEN: unique symbol;
393
+ declare const INTR_ACTIVATE_CARD_BY_TOKEN_OR_PAN: unique symbol;
394
+ declare const INTR_LOCK_CARD_BY_TOKEN: unique symbol;
395
+ declare const INTR_REPLACE_CARD_BY_TOKEN: unique symbol;
396
+ declare const INTR_UNLOCK_CARD_BY_TOKEN: unique symbol;
397
+ declare const INTR_UPDATE_PIN_BY_CARD_TOKEN: unique symbol;
398
+ declare const INTR_GET_PIN_BY_CARD_TOKEN: unique symbol;
399
+ declare const INTR_GET_CARDS_BY_USER_TOKEN: unique symbol;
400
+
401
+ declare const mswCardsHandlers: msw.HttpHandler[];
402
+
403
+ declare class AccountHolderGroupEntity extends BaseEntity {
404
+ _token: string;
405
+ _name: string;
406
+ _config: {
407
+ kycRequired: string;
408
+ isReloadable: boolean;
409
+ preKycControls: {
410
+ cashAccessEnabled: boolean;
411
+ internationalEnabled: boolean;
412
+ balanceMax: number;
413
+ enableNonProgramLoads: boolean;
414
+ isReloadablePreKyc: boolean;
415
+ };
416
+ };
417
+ _user: UserEntity | undefined;
418
+ constructor(input: AccountHolderGroupEntityJsonType);
419
+ get token(): string;
420
+ get name(): string;
421
+ get user(): UserEntity | undefined;
422
+ }
423
+ interface AccountHolderGroupEntityJsonType {
424
+ token: string;
425
+ name: string;
426
+ config: {
427
+ kycRequired: string;
428
+ isReloadable: boolean;
429
+ preKycControls: {
430
+ cashAccessEnabled: boolean;
431
+ internationalEnabled: boolean;
432
+ balanceMax: number;
433
+ enableNonProgramLoads: boolean;
434
+ isReloadablePreKyc: boolean;
435
+ };
436
+ };
437
+ user?: UserEntityJsonType;
438
+ }
439
+
440
+ type DepositAccountState = 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' | 'UNACTIVATED';
441
+ type DepositAccountType = 'DEPOSIT_ACCOUNT' | 'CHECKING';
442
+ declare class DepositAccountEntity extends BaseEntity {
443
+ private _accountNumber;
444
+ private _routingNumber;
445
+ private _token;
446
+ private _userToken;
447
+ private _state;
448
+ private _type;
449
+ private _createdTime;
450
+ private _lastModifiedTime;
451
+ constructor(input: DepositAccountEntityJsonType);
452
+ get accountNumber(): string;
453
+ get routingNumber(): string;
454
+ get token(): string;
455
+ get userToken(): string;
456
+ get state(): string;
457
+ get type(): string;
458
+ get createdTime(): string;
459
+ get lastModifiedTime(): string;
460
+ }
461
+ interface DepositAccountEntityJsonType {
462
+ account_number: string;
463
+ routing_number: string;
464
+ token: string;
465
+ user_token: string;
466
+ state: DepositAccountState;
467
+ type: DepositAccountType;
468
+ created_time: string;
469
+ last_modified_time: string;
470
+ }
471
+
472
+ declare const mockAccountBalances: AccountBalancesEntityJsonType;
473
+ declare const mockAccountHolderGroup: {
474
+ token: string;
475
+ name: string;
476
+ config: {
477
+ kycRequired: string;
478
+ isReloadable: boolean;
479
+ preKycControls: {
480
+ cashAccessEnabled: boolean;
481
+ internationalEnabled: boolean;
482
+ balanceMax: number;
483
+ enableNonProgramLoads: boolean;
484
+ isReloadablePreKyc: boolean;
485
+ };
486
+ };
487
+ user: {
488
+ active: boolean;
489
+ status: string;
490
+ token: string;
491
+ firstName: string;
492
+ middleName: string;
493
+ lastName: string;
494
+ };
495
+ };
496
+ declare const mockDepositAccountJson: DepositAccountEntityJsonType;
497
+
498
+ declare abstract class iAccountRepository {
499
+ abstract getAccountHolderGroup(): Promise<AccountHolderGroupEntity>;
500
+ abstract getAccountBalances(): Promise<AccountBalancesEntity>;
501
+ abstract getDepositAccounts(): Promise<DepositAccountEntity[]>;
502
+ }
503
+
504
+ declare const TEST_USER_TOKEN = "test-user-token";
505
+ declare const TEST_DEPOSIT_ACCOUNT: DepositAccountEntityJsonType;
506
+ declare class MockAccountRepository implements iAccountRepository {
507
+ getAccountHolderGroup(): Promise<AccountHolderGroupEntity>;
508
+ getAccountBalances(): Promise<AccountBalancesEntity>;
509
+ getDepositAccounts(): Promise<DepositAccountEntity[]>;
510
+ }
511
+
512
+ declare class GetAccountHolderGroup {
513
+ accountRepository: iAccountRepository;
514
+ execute(): Promise<AccountHolderGroupEntity>;
515
+ }
516
+
517
+ declare class GetAccountBalances {
518
+ accountRepository: iAccountRepository;
519
+ execute(): Promise<AccountBalancesEntity>;
520
+ }
521
+
522
+ declare class GetDepositAccounts {
523
+ accountRepository: iAccountRepository;
524
+ execute(): Promise<DepositAccountEntity[]>;
525
+ }
526
+
527
+ declare const accountsIOCModule: ContainerModule;
528
+
529
+ declare const ITF_ACCOUNT_REPOSITORY: unique symbol;
530
+ declare const INTR_GET_ACCT_HOLDER_GRP_BY_TOKEN: unique symbol;
531
+ declare const INTR_GET_DEPOSIT_ACCT_BY_TOKEN: unique symbol;
532
+ declare const INTR_GET_ACCT_BALANCE_BY_TOKEN: unique symbol;
533
+
534
+ declare const mockAccountsIOCModule: ContainerModule;
535
+
536
+ declare const EMPTY_DEPOSIT_ACCOUNTS_CUI_AUTH_TOKEN = "EMPTY_DEPOSIT_ACCOUNTS_CUI_AUTH_TOKEN";
537
+ declare const DEPOSIT_ACCOUNTS_TERMINATED_CUI_AUTH_TOKEN = "DEPOSIT_ACCOUNT_TERMINATED_CUI_AUTH_TOKEN";
538
+ declare const ACCOUNT_LOADING_CUI_AUTH_TOKEN = "ACCOUNT_LOADING_CUI_AUTH_TOKEN";
539
+ declare const ACCOUNT_LIMITED_CUI_AUTH_TOKEN = "ACCOUNT_LIMITED_CUI_AUTH_TOKEN";
540
+ declare const ACCOUNT_UNVERIFIED_CUI_AUTH_TOKEN = "ACCOUNT_UNVERIFIED_CUI_AUTH_TOKEN";
541
+ declare const ACCOUNT_SUSPENDED_CUI_AUTH_TOKEN = "ACCOUNT_SUSPENDED_CUI_AUTH_TOKEN";
542
+ declare const ACCOUNT_CLOSED_CUI_AUTH_TOKEN = "ACCOUNT_CLOSED_CUI_AUTH_TOKEN";
543
+
544
+ declare const mswAccountHandlers: msw.HttpHandler[];
545
+
546
+ type MetaProperties = {
547
+ [key: string]: any;
548
+ };
549
+ declare abstract class iAnalyticsService {
550
+ abstract track(eventName: string, category: string, properties?: MetaProperties): Promise<void>;
551
+ }
552
+
553
+ declare function trackEvent(eventName: string, category: string, properties?: MetaProperties): Promise<void>;
554
+
555
+ declare function getClientId(): Promise<string>;
556
+
557
+ declare function getSessionId(): Promise<string>;
558
+
559
+ declare class MockAnalyticsService extends iAnalyticsService {
560
+ track(eventName: string, category: string, properties?: MetaProperties): Promise<void>;
561
+ }
562
+
563
+ declare abstract class iSessionService {
564
+ abstract getClientId(): Promise<string>;
565
+ abstract getSessionId(): Promise<string>;
566
+ }
567
+
568
+ declare const TEST_CLIENT_ID = "1234567890.1234567890";
569
+ declare const TEST_SESSION_ID = "1234567890";
570
+ declare class MockSessionService implements iSessionService {
571
+ getClientId(): Promise<string>;
572
+ getSessionId(): Promise<string>;
573
+ }
574
+
575
+ declare const mockAnalyticsIOCModule: ContainerModule;
576
+
577
+ declare const ITF_ANALYTICS_SERVICE: unique symbol;
578
+ declare const ITF_SESSION_SERVICE: unique symbol;
579
+ declare const INTR_GET_SESSION_ID: unique symbol;
580
+ declare const INTR_GET_CLIENT_ID: unique symbol;
581
+
582
+ declare const SESSION_TTL = 1800;
583
+ declare class VanillaSessionService implements iSessionService {
584
+ private cacheService;
585
+ getClientId(): Promise<string>;
586
+ getSessionId(): Promise<string>;
587
+ private sessionNeedsReset;
588
+ private resetSessionId;
589
+ private resetExpireTime;
590
+ }
591
+
592
+ declare class GaMeasurementAnalyticsService extends iAnalyticsService {
593
+ private registerCleanupHandler;
594
+ private getEnvConfigValueByName;
595
+ private eventQueue;
596
+ private intervalId?;
597
+ private hasRegisteredCleanupHandler;
598
+ track(eventName: string, category: string, properties?: MetaProperties): Promise<void>;
599
+ private initService;
600
+ private checkEventQueue;
601
+ private sendEvents;
602
+ }
603
+
604
+ declare const mswAnalyticsHandlers: msw.HttpHandler[];
605
+
606
+ declare class CardholderContextEntity extends BaseEntity {
607
+ private _currency;
608
+ private _programShortCode;
609
+ private _userTokenHash;
610
+ constructor(input: CardholderContextEntityJsonType);
611
+ get currency(): string;
612
+ get programShortCode(): string;
613
+ get userTokenHash(): string;
614
+ }
615
+ interface CardholderContextEntityJsonType {
616
+ currency: string;
617
+ programShortCode: string;
618
+ userTokenHash: string;
619
+ }
620
+
621
+ declare abstract class iAuthService {
622
+ abstract getCachedAuthToken(): string;
623
+ abstract getCardholderContext(): Promise<CardholderContextEntity>;
624
+ abstract getUserProgram(): Promise<string>;
625
+ abstract getUserTokenHash(): Promise<string>;
626
+ abstract setCachedAuthToken(token: string): void;
627
+ abstract setRefreshAuthToken(): void;
628
+ }
629
+
630
+ declare class MockAuthService implements iAuthService {
631
+ private authtoken;
632
+ private cardholderContext;
633
+ private programShortCode;
634
+ private refreshToken;
635
+ private userTokenHash;
636
+ setCachedAuthToken(token: string): void;
637
+ getCachedAuthToken(): string;
638
+ getCardholderContext(): Promise<CardholderContextEntity>;
639
+ setRefreshAuthToken(): void;
640
+ getUserProgram(): Promise<string>;
641
+ setUserProgram(programShortCode: string): void;
642
+ getUserTokenHash(): Promise<string>;
643
+ setCardholderContext(cardholderContext: CardholderContextEntity): void;
644
+ setUserTokenHash(userTokenHash: string): void;
645
+ setMockAuthToken(token: string): void;
646
+ setMockRefreshToken(token: string): void;
647
+ }
648
+
649
+ declare const AUTH_REFRESH_INTERVAL_ID = "authRefreshIntervalId";
650
+
651
+ declare class GetCachedAuthToken {
652
+ authService: iAuthService;
653
+ execute(): string;
654
+ }
655
+
656
+ declare function getCardholderContext(): Promise<CardholderContextEntity>;
657
+
658
+ declare function getUserProgram(): Promise<string>;
659
+
660
+ declare function getUserTokenHash(): Promise<string>;
661
+
662
+ declare function setCachedAuthToken(authToken: string): void;
663
+
664
+ declare function startAuthTokenRefreshPolling(pollingIntervalInMillis: number): Promise<void>;
665
+
666
+ declare class RestAuthService implements iAuthService {
667
+ private cacheService;
668
+ private getEnvConfigValueByName;
669
+ getUserProgram(): Promise<string>;
670
+ getCardholderContext(): Promise<CardholderContextEntity>;
671
+ setCachedAuthToken(token: string): void;
672
+ getCachedAuthToken(): string;
673
+ getUserTokenHash(): Promise<string>;
674
+ setRefreshAuthToken(): Promise<void>;
675
+ }
676
+
677
+ declare const INVALID_CUI_AUTH_TOKEN = "INVALID_CUI_AUTH_TOKEN";
678
+ declare const INVALID_CARD_DETAILS_CUI_AUTH_TOKEN = "INVALID_CARD_DETAILS_CUI_AUTH_TOKEN";
679
+ declare const NOT_OK_CUI_AUTH_TOKEN = "NOT_OK_CUI_AUTH_TOKEN";
680
+ declare const REFRESHED_CUI_AUTH_TOKEN = "REFRESHED_CUI_AUTH_TOKEN";
681
+ declare const VALID_CUI_AUTH_TOKEN = "VALID_CUI_AUTH_TOKEN";
682
+ declare const VALID_PROGRAM_SHORT_CODE = "VALID_PROGRAM_SHORT_CODE";
683
+ declare const VALID_USER_TOKEN_HASH = "VALID_USER_TOKEN_HASH";
684
+
685
+ declare const mswAuthHandlers: msw.HttpHandler[];
686
+
687
+ declare const authIOCModule: ContainerModule;
688
+
689
+ declare const mockAuthIOCModule: ContainerModule;
690
+
691
+ declare const ITF_AUTH_SERVICE: unique symbol;
692
+ declare const INTR_GET_CACHED_AUTH_TOKEN: unique symbol;
693
+
694
+ declare abstract class iCacheService {
695
+ abstract get(key: string): any;
696
+ abstract set(key: string, value: any): void;
697
+ }
698
+
699
+ declare abstract class iPersistedCacheService {
700
+ abstract get(key: string): Promise<any>;
701
+ abstract set(key: string, value: any): Promise<void>;
702
+ }
703
+
704
+ type Dictionary$1 = {
705
+ [x: string]: unknown;
706
+ };
707
+ declare abstract class iRegistryService extends iCacheService {
708
+ abstract getAll(): Dictionary$1;
709
+ }
710
+
711
+ declare class MockCacheService implements iCacheService {
712
+ private store;
713
+ get(key: string): any;
714
+ set(key: string, value: any): void;
715
+ }
716
+
717
+ declare class MockPersistedCacheService implements iPersistedCacheService {
718
+ private store;
719
+ get(key: string): Promise<any>;
720
+ set(key: string, value: any): Promise<void>;
721
+ }
722
+
723
+ declare class MockRegistryService implements iRegistryService {
724
+ private store;
725
+ getAll(): {
726
+ [x: string]: any;
727
+ };
728
+ get(key: string): any;
729
+ set(key: string, value: any): void;
730
+ }
731
+
732
+ declare class LocalStorageCacheService implements iPersistedCacheService {
733
+ get(key: string): Promise<any>;
734
+ set(key: string, value: any): Promise<void>;
735
+ }
736
+
737
+ declare global {
738
+ interface Window {
739
+ marqeta: any;
740
+ }
741
+ }
742
+ declare class WindowCacheService implements iCacheService {
743
+ private cache;
744
+ constructor();
745
+ get(key: string): any;
746
+ set(key: string, value: any): void;
747
+ }
748
+
749
+ declare class ReactNativeAsyncStorageCacheService implements iPersistedCacheService {
750
+ get(key: string): Promise<any>;
751
+ set(key: string, value: any): Promise<void>;
752
+ }
753
+
754
+ declare class RegisterCleanupHandler {
755
+ cleanupRegisterHandler: iRegistryService;
756
+ execute(registerKey: string, handler: Function): Promise<void>;
757
+ }
758
+
759
+ declare class CleanupOnUnload {
760
+ cleanupRegisterHandler: iRegistryService;
761
+ execute(): Promise<void>;
762
+ }
763
+
764
+ declare class MqSDKError extends Error {
765
+ msg: string;
766
+ originalError: Error | undefined;
767
+ status?: number;
768
+ constructor(msg: string, err?: any);
769
+ }
770
+
771
+ type DebugItem = {
772
+ source: string;
773
+ code?: string;
774
+ err: Error;
775
+ };
776
+ declare class StandardizedError extends Error {
777
+ msg: string;
778
+ debug: Array<DebugItem>;
779
+ details: any | undefined;
780
+ constructor(msg: string, debug: Array<DebugItem>, details?: any);
781
+ }
782
+
783
+ declare const commonIOCModule: ContainerModule;
784
+
785
+ declare const mockCommonIOCModule: ContainerModule;
786
+
787
+ declare const reactNativeCommonIOCModule: ContainerModule;
788
+
789
+ declare const ITF_CACHE_SERVICE: unique symbol;
790
+ declare const ITF_PERSISTED_CACHE_SERVICE: unique symbol;
791
+ declare const INTR_REGISTER_CLEANUP_HANDLER: unique symbol;
792
+ declare const INTR_CLEANUP_ON_UNLOAD: unique symbol;
793
+ declare const ITF_REGISTRY_SERVICE: unique symbol;
794
+
795
+ type ApiResponse<T> = {
796
+ status: number;
797
+ ok: boolean;
798
+ result: T;
799
+ };
800
+
801
+ declare function loadEnabledComponentsByShortCode(): Promise<void>;
802
+
803
+ declare function isComponentEnabled(componentName: string): boolean;
804
+
805
+ declare abstract class iComponentsRepository {
806
+ abstract getEnabledComponentsByShortCode(): Promise<Array<string>>;
807
+ }
808
+
809
+ declare const CUI_ENABLED_SHORT_CODE = "cui-enabled-short-code";
810
+ declare const REPOSITORY_METHOD_FAILING_SHORT_CODE = "bad-short-code";
811
+ declare const LIST_OF_ENABLED_COMPONENTS: string[];
812
+ declare class MockComponentsRepository implements iComponentsRepository {
813
+ private registry;
814
+ private shouldFail;
815
+ setShouldFail(shouldFail: boolean): void;
816
+ getEnabledComponentsByShortCode(): Promise<Array<string>>;
817
+ }
818
+
819
+ declare const componentsIOCModule: ContainerModule;
820
+
821
+ declare class RestComponentsRepository implements iComponentsRepository {
822
+ private httpClient;
823
+ private getEnvConfigValueByName;
824
+ getEnabledComponentsByShortCode(): Promise<Array<string>>;
825
+ }
826
+
827
+ declare const mswComponentsHandlers: msw.HttpHandler[];
828
+
829
+ type SubmitAnswerPayload = {
830
+ answers?: Array<{
831
+ question_id?: string;
832
+ values?: Array<string>;
833
+ }>;
834
+ skip?: boolean;
835
+ };
836
+
837
+ type SuccessBaseResponse = {
838
+ status?: number;
839
+ ok?: boolean;
840
+ };
841
+ type DisputeSuccessResponse<T> = SuccessBaseResponse & {
842
+ data: {
843
+ status: string;
844
+ message: string;
845
+ description: string;
846
+ response_data?: T;
847
+ };
848
+ };
849
+ type SubmitDisputeSuccessResponse = DisputeSuccessResponse<undefined>;
850
+ type StepResponse = {
851
+ schema?: Schema;
852
+ uiSchema?: UiSchemaType;
853
+ defaultValues?: DefaultValues;
854
+ stepId?: number;
855
+ completedTime?: string;
856
+ disputeId?: string;
857
+ completed?: string;
858
+ infoLabel?: string;
859
+ };
860
+ type DependantSchema = Schema & {
861
+ oneOf: Array<Schema>;
862
+ };
863
+ type SchemaProperty = {
864
+ type: string;
865
+ enum?: string[];
866
+ oneOf?: Array<{
867
+ const: string;
868
+ title?: string;
869
+ }>;
870
+ anyOf?: Array<{
871
+ const: string;
872
+ title?: string;
873
+ }>;
874
+ title?: string;
875
+ description?: string;
876
+ properties?: Record<string, SchemaProperty>;
877
+ dependencies?: Record<string, DependantSchema>;
878
+ required?: string[];
879
+ minItems?: number;
880
+ };
881
+ type Schema = {
882
+ properties: Record<string, SchemaProperty>;
883
+ dependencies?: Record<string, any>;
884
+ required?: string[];
885
+ };
886
+ type BreakpointSizes = 'sm' | 'xs' | 'md' | 'lg';
887
+ type BreakpointsGap = {
888
+ [key in BreakpointSizes]?: number;
889
+ };
890
+ type FieldSets = Array<{
891
+ 'ui:title'?: string;
892
+ 'ui:description'?: string;
893
+ 'ui:fields'?: string[];
894
+ }>;
895
+ type GlobalUISchemaOptions = {
896
+ classNames?: string;
897
+ autocomplete?: boolean;
898
+ hideError?: boolean;
899
+ readonly?: boolean;
900
+ inline?: boolean;
901
+ rowGap?: BreakpointsGap;
902
+ columnGap?: BreakpointsGap;
903
+ fieldSets?: FieldSets;
904
+ };
905
+ declare enum FormField {
906
+ text = "text",
907
+ number = "number",
908
+ range = "range",
909
+ date = "date",
910
+ datetime = "datetime",
911
+ month = "month",
912
+ week = "week",
913
+ time = "time",
914
+ checkbox = "checkbox",
915
+ radio = "radio",
916
+ file = "file",
917
+ textarea = "textarea",
918
+ select = "select",
919
+ amount = "amount",
920
+ masked = "masked"
921
+ }
922
+ type OptionValueType = string | number | boolean;
923
+ type AmountFieldOptions = {
924
+ currencyOptions: Array<{
925
+ const: string;
926
+ title?: string;
927
+ }>;
928
+ currencySelected?: string;
929
+ currencyReadonly?: boolean;
930
+ currencyFieldName: string;
931
+ hasCurrency?: boolean;
932
+ };
933
+ type MaskedFieldOptions = {
934
+ maskOptions: any;
935
+ maskedFieldName: string;
936
+ };
937
+ type UiSchemaField = {
938
+ 'ui:classNames'?: string;
939
+ 'ui:style'?: Partial<CSSStyleDeclaration>;
940
+ 'ui:title'?: string;
941
+ 'ui:description'?: string;
942
+ 'ui:placeholder'?: string;
943
+ 'ui:help'?: string;
944
+ 'ui:autofocus'?: boolean;
945
+ 'ui:autocomplete'?: string;
946
+ 'ui:disabled'?: boolean;
947
+ 'ui:defaultInitialValue'?: any;
948
+ 'ui:enumDisabled'?: Array<OptionValueType>;
949
+ 'ui:hideError'?: boolean;
950
+ 'ui:readonly'?: boolean;
951
+ 'ui:inline'?: boolean;
952
+ 'ui:inputType'?: string;
953
+ 'ui:rows'?: number;
954
+ 'ui:widget'?: FormField | keyof typeof FormField;
955
+ 'ui:fields'?: {
956
+ [field: string]: UiSchemaField;
957
+ };
958
+ 'ui:columnSpan'?: {
959
+ [key in BreakpointSizes]?: number;
960
+ };
961
+ 'ui:enumDescriptions'?: {
962
+ [key: string]: string;
963
+ };
964
+ 'ui:amountOptions'?: AmountFieldOptions;
965
+ 'ui:maskOptions'?: MaskedFieldOptions;
966
+ 'ui:fileOptions'?: {
967
+ multiple?: boolean;
968
+ };
969
+ };
970
+ type UiSchemaType = {
971
+ 'ui:globalOptions'?: GlobalUISchemaOptions;
972
+ 'ui:rootFieldId'?: string;
973
+ 'ui:fields'?: {
974
+ [field: string]: UiSchemaField;
975
+ };
976
+ };
977
+ type DefaultValues = {
978
+ [key: string]: OptionValueType;
979
+ };
980
+
981
+ type AllStepsResponse = {
982
+ steps: Step[];
983
+ answersForReview: AnswersForReview[];
984
+ disputeId?: string;
985
+ documentQuestions: string[];
986
+ };
987
+ type Step = {
988
+ stepId: number;
989
+ completedTimestamp: string;
990
+ status: string;
991
+ type: string;
992
+ };
993
+ type AnswersForReview = {
994
+ question: string;
995
+ answers: string[];
996
+ questionId: string;
997
+ };
998
+
999
+ declare abstract class iDisputesRepository {
1000
+ abstract startDispute(transactionToken: string): Promise<StepResponse>;
1001
+ abstract getAllStepsOfDispute(disputeId: string): Promise<AllStepsResponse>;
1002
+ abstract getStepOfDisputeByStepId(disputeId: string, stepId: string): Promise<StepResponse>;
1003
+ abstract submitAnswerForDisputeQuestion(disputeId: string, stepId: string, data: SubmitAnswerPayload): Promise<StepResponse>;
1004
+ abstract submitDispute(disputeId: string, data: {
1005
+ submit: boolean;
1006
+ }): Promise<SubmitDisputeSuccessResponse>;
1007
+ abstract uploadDocumentForDispute(disputeId: string, file: File, type: string, name: string): Promise<any>;
1008
+ abstract deleteDocumentForDispute(disputeId: string, documentId: string): Promise<any>;
1009
+ abstract retrieveDocumentForDispute(disputeId: string): Promise<any>;
1010
+ abstract downloadDocumentForDispute(disputeId: string, documentId: string): Promise<any>;
1011
+ }
1012
+
1013
+ type Document = {
1014
+ id: string;
1015
+ name: string;
1016
+ type: string;
1017
+ };
1018
+ type DisputeDocUploadResponse = SuccessBaseResponse & {
1019
+ data: {
1020
+ document: Document;
1021
+ };
1022
+ };
1023
+ type DisputeGetDocseResponse = SuccessBaseResponse & {
1024
+ data: {
1025
+ documents: Document[];
1026
+ };
1027
+ };
1028
+
1029
+ declare class MockDisputesRepository implements iDisputesRepository {
1030
+ startDispute(transactionToken: string): Promise<StepResponse>;
1031
+ submitAnswerForDisputeQuestion(disputeId: string, stepId: string, _data: SubmitAnswerPayload): Promise<StepResponse>;
1032
+ getAllStepsOfDispute(disputeId: string): Promise<AllStepsResponse>;
1033
+ getStepOfDisputeByStepId(disputeId: string, stepId: string): Promise<StepResponse>;
1034
+ submitDispute(disputeId: string, _data: {
1035
+ submit: boolean;
1036
+ }): Promise<SubmitDisputeSuccessResponse>;
1037
+ uploadDocumentForDispute(disputeId: string, _file: File, _type: string, _name: string): Promise<DisputeDocUploadResponse>;
1038
+ deleteDocumentForDispute(disputeId: string, _documentId: string): Promise<SuccessBaseResponse>;
1039
+ retrieveDocumentForDispute(disputeId: string): Promise<DisputeGetDocseResponse>;
1040
+ downloadDocumentForDispute(disputeId: string, _documentId: string): Promise<any>;
1041
+ }
1042
+
1043
+ declare class StartDispute {
1044
+ disputesRepository: iDisputesRepository;
1045
+ execute(transactionToken: string): Promise<StepResponse>;
1046
+ }
1047
+
1048
+ declare class SubmitAnswerForDisputeQuestion {
1049
+ disputesRepository: iDisputesRepository;
1050
+ execute(disputeId: string, stepId: string, payload: SubmitAnswerPayload): Promise<StepResponse>;
1051
+ }
1052
+
1053
+ declare class GetAllStepsOfDispute {
1054
+ disputesRepository: iDisputesRepository;
1055
+ execute(disputeId: string): Promise<AllStepsResponse>;
1056
+ }
1057
+
1058
+ declare class GetStepOfDisputeByStepId {
1059
+ disputesRepository: iDisputesRepository;
1060
+ execute(disputeId: string, stepId: string): Promise<StepResponse>;
1061
+ }
1062
+
1063
+ declare class SubmitDispute {
1064
+ disputesRepository: iDisputesRepository;
1065
+ execute(disputeId: string, payload: {
1066
+ submit: boolean;
1067
+ }): Promise<SubmitDisputeSuccessResponse>;
1068
+ }
1069
+
1070
+ declare class UploadDocumentForDispute {
1071
+ disputesRepository: iDisputesRepository;
1072
+ execute(disputeId: string, file: File, type: string, name: string): Promise<any>;
1073
+ }
1074
+
1075
+ declare class DeleteDocumentForDispute {
1076
+ disputesRepository: iDisputesRepository;
1077
+ execute(disputeId: string, documentId: string): Promise<any>;
1078
+ }
1079
+
1080
+ declare class RetrieveDocumentForDispute {
1081
+ disputesRepository: iDisputesRepository;
1082
+ execute(disputeId: string): Promise<any>;
1083
+ }
1084
+
1085
+ declare class DownloadDocumentForDispute {
1086
+ disputesRepository: iDisputesRepository;
1087
+ execute(disputeId: string, documentId: string): Promise<any>;
1088
+ }
1089
+
1090
+ declare const disputesIOCModule: ContainerModule;
1091
+
1092
+ declare const mockDisputesIOCModule: ContainerModule;
1093
+
1094
+ declare const ITF_DISPUTES_REPOSITORY: unique symbol;
1095
+ declare const INTR_START_DISPUTE: unique symbol;
1096
+ declare const INTR_SUBMIT_ANS_DISPUTE: unique symbol;
1097
+ declare const INTR_GET_ALL_STEPS_OF_DISPUTE: unique symbol;
1098
+ declare const INTR_GET_STEP_OF_DISPUTE_BY_STEP_ID: unique symbol;
1099
+ declare const INTR_SUBMIT_DISPUTE: unique symbol;
1100
+ declare const INTR_UPLOAD_DOCUMENT_FOR_DISPUTE: unique symbol;
1101
+ declare const INTR_DELETE_DOCUMENT_FOR_DISPUTE: unique symbol;
1102
+ declare const INTR_RETRIEVE_DOCUMENT_FOR_DISPUTE: unique symbol;
1103
+ declare const INTR_DOWNLOAD_DOCUMENT_FOR_DISPUTE: unique symbol;
1104
+
1105
+ declare const mswDisputesHandlers: msw.HttpHandler[];
1106
+
1107
+ declare const MOCK_GET_ALL_STEPS_RESPONSE: AllStepsResponse;
1108
+ declare const MOCK_STEP_COMPLETION_RESPONSE: {
1109
+ status: number;
1110
+ ok: boolean;
1111
+ completed: string;
1112
+ disputeId: string;
1113
+ };
1114
+ declare const MOCK_TRANSFORMED_ERROR_RESPONSE: {
1115
+ error: {
1116
+ id: string;
1117
+ debug: {
1118
+ source: string;
1119
+ code: string;
1120
+ message: string;
1121
+ }[];
1122
+ };
1123
+ };
1124
+ declare const MOCK_DISPUTE_ID = "6c780fa0-0cfc-424c-8a73-93e3055cbf76";
1125
+ declare const MOCK_SUBMIT_DISPUTE_RESPONSE: SubmitDisputeSuccessResponse;
1126
+ declare const MOCK_AMOUNT_STEP_RESPONSE: StepResponse;
1127
+ declare const MOCK_INVALID_TRANSACTION_TOKEN = "invalid_transaction_token";
1128
+ declare const MOCK_RECOGNIZED_TRANSACTION_RESPONSE: StepResponse;
1129
+ declare const MOCK_STEP1_RESPONSE: StepResponse;
1130
+ declare const MOCK_FRAUD_STEP_RESPONSE: StepResponse;
1131
+ declare const MOCK_START_DISPUTE_RESPONSE: StepResponse;
1132
+ declare const MOCK_DOCUMENT_ID1 = "314c1e44-57fb-44fc-9ade-f9688796abd8";
1133
+ declare const MOCK_DOCUMENT_ID2 = "314c1e44-57fb-44fc-9ade-f9688796abd9";
1134
+ declare const MOCK_DOCUMENT1: {
1135
+ id: string;
1136
+ name: string;
1137
+ type: string;
1138
+ };
1139
+ declare const MOCK_DOCUMENT2: {
1140
+ id: string;
1141
+ name: string;
1142
+ type: string;
1143
+ };
1144
+ declare const MOCK_RETRIEVE_DOCUMENTS_RESPONSE: DisputeGetDocseResponse;
1145
+ declare const MOCK_UPLOAD_DOCUMENTS_RESPONSE: DisputeDocUploadResponse;
1146
+ declare const MOCK_DELETE_DOCUMENTS_RESPONSE: SuccessBaseResponse;
1147
+
1148
+ declare const CUI_API_BASE_URL$4 = "https://ux-toolkit-api.qa.marqeta.com";
1149
+ declare const CUI_IFRAME_BASE_URL$3 = "https://web.ux-toolkit.dev.marqeta.com";
1150
+ declare const CDN_ICONS_BASE_URL$4 = "https://web.ux-toolkit.dev.marqeta.com";
1151
+ declare const CDN_CARD_ART_BASE_URL$3 = "https://web.ux-toolkit.dev.marqeta.com";
1152
+ declare const I18N_BASE_URL$3 = "https://web.ux-toolkit.dev.marqeta.com";
1153
+ declare const GA_MAX_QUEUE_TTL$3 = 5000;
1154
+ declare const GA_MAX_REQUEST_EVENT_LIMIT$3 = 3;
1155
+
1156
+ declare namespace development {
1157
+ export { CDN_CARD_ART_BASE_URL$3 as CDN_CARD_ART_BASE_URL, CDN_ICONS_BASE_URL$4 as CDN_ICONS_BASE_URL, CUI_API_BASE_URL$4 as CUI_API_BASE_URL, CUI_IFRAME_BASE_URL$3 as CUI_IFRAME_BASE_URL, GA_MAX_QUEUE_TTL$3 as GA_MAX_QUEUE_TTL, GA_MAX_REQUEST_EVENT_LIMIT$3 as GA_MAX_REQUEST_EVENT_LIMIT, I18N_BASE_URL$3 as I18N_BASE_URL };
1158
+ }
1159
+
1160
+ declare const CUI_API_BASE_URL$3 = "http://localhost:4001";
1161
+ declare const CUI_IFRAME_BASE_URL$2 = "http://localhost:4001";
1162
+ declare const CDN_ICONS_BASE_URL$3 = "http://localhost:4001/static";
1163
+ declare const CDN_CARD_ART_BASE_URL$2 = "https://web.ux-toolkit.qa.marqeta.com";
1164
+ declare const I18N_BASE_URL$2 = "http://localhost:4001/static";
1165
+ declare const GA_MAX_QUEUE_TTL$2 = 5000;
1166
+ declare const GA_MAX_REQUEST_EVENT_LIMIT$2 = 3;
1167
+
1168
+ declare namespace localhost {
1169
+ export { CDN_CARD_ART_BASE_URL$2 as CDN_CARD_ART_BASE_URL, CDN_ICONS_BASE_URL$3 as CDN_ICONS_BASE_URL, CUI_API_BASE_URL$3 as CUI_API_BASE_URL, CUI_IFRAME_BASE_URL$2 as CUI_IFRAME_BASE_URL, GA_MAX_QUEUE_TTL$2 as GA_MAX_QUEUE_TTL, GA_MAX_REQUEST_EVENT_LIMIT$2 as GA_MAX_REQUEST_EVENT_LIMIT, I18N_BASE_URL$2 as I18N_BASE_URL };
1170
+ }
1171
+
1172
+ declare const CUI_API_BASE_URL$2 = "https://cui-service-mock";
1173
+ declare const CDN_ICONS_BASE_URL$2 = "https://cui-sdk-web-mock";
1174
+
1175
+ declare namespace mockMode {
1176
+ export { CDN_ICONS_BASE_URL$2 as CDN_ICONS_BASE_URL, CUI_API_BASE_URL$2 as CUI_API_BASE_URL };
1177
+ }
1178
+
1179
+ declare const CUI_API_BASE_URL$1 = "https://ux-toolkit-api.marqeta.com";
1180
+ declare const CUI_IFRAME_BASE_URL$1 = "https://web.ux-toolkit.marqeta.com";
1181
+ declare const CDN_ICONS_BASE_URL$1 = "https://web.ux-toolkit.marqeta.com";
1182
+ declare const CDN_CARD_ART_BASE_URL$1 = "https://web.ux-toolkit.marqeta.com";
1183
+ declare const I18N_BASE_URL$1 = "https://web.ux-toolkit.marqeta.com";
1184
+ declare const GA_MAX_QUEUE_TTL$1 = 5000;
1185
+ declare const GA_MAX_REQUEST_EVENT_LIMIT$1 = 25;
1186
+
1187
+ declare namespace production {
1188
+ export { CDN_CARD_ART_BASE_URL$1 as CDN_CARD_ART_BASE_URL, CDN_ICONS_BASE_URL$1 as CDN_ICONS_BASE_URL, CUI_API_BASE_URL$1 as CUI_API_BASE_URL, CUI_IFRAME_BASE_URL$1 as CUI_IFRAME_BASE_URL, GA_MAX_QUEUE_TTL$1 as GA_MAX_QUEUE_TTL, GA_MAX_REQUEST_EVENT_LIMIT$1 as GA_MAX_REQUEST_EVENT_LIMIT, I18N_BASE_URL$1 as I18N_BASE_URL };
1189
+ }
1190
+
1191
+ declare const CUI_API_BASE_URL = "https://ux-toolkit-api.qa.marqeta.com";
1192
+ declare const CUI_IFRAME_BASE_URL = "https://web.ux-toolkit.qa.marqeta.com";
1193
+ declare const CDN_ICONS_BASE_URL = "https://web.ux-toolkit.qa.marqeta.com";
1194
+ declare const CDN_CARD_ART_BASE_URL = "https://web.ux-toolkit.qa.marqeta.com";
1195
+ declare const I18N_BASE_URL = "https://web.ux-toolkit.qa.marqeta.com";
1196
+ declare const GA_MAX_QUEUE_TTL = 5000;
1197
+ declare const GA_MAX_REQUEST_EVENT_LIMIT = 25;
1198
+
1199
+ declare const qa_CDN_CARD_ART_BASE_URL: typeof CDN_CARD_ART_BASE_URL;
1200
+ declare const qa_CDN_ICONS_BASE_URL: typeof CDN_ICONS_BASE_URL;
1201
+ declare const qa_CUI_API_BASE_URL: typeof CUI_API_BASE_URL;
1202
+ declare const qa_CUI_IFRAME_BASE_URL: typeof CUI_IFRAME_BASE_URL;
1203
+ declare const qa_GA_MAX_QUEUE_TTL: typeof GA_MAX_QUEUE_TTL;
1204
+ declare const qa_GA_MAX_REQUEST_EVENT_LIMIT: typeof GA_MAX_REQUEST_EVENT_LIMIT;
1205
+ declare const qa_I18N_BASE_URL: typeof I18N_BASE_URL;
1206
+ declare namespace qa {
1207
+ export { qa_CDN_CARD_ART_BASE_URL as CDN_CARD_ART_BASE_URL, qa_CDN_ICONS_BASE_URL as CDN_ICONS_BASE_URL, qa_CUI_API_BASE_URL as CUI_API_BASE_URL, qa_CUI_IFRAME_BASE_URL as CUI_IFRAME_BASE_URL, qa_GA_MAX_QUEUE_TTL as GA_MAX_QUEUE_TTL, qa_GA_MAX_REQUEST_EVENT_LIMIT as GA_MAX_REQUEST_EVENT_LIMIT, qa_I18N_BASE_URL as I18N_BASE_URL };
1208
+ }
1209
+
1210
+ declare class GetActiveEnvName {
1211
+ private cacheService;
1212
+ execute(): string;
1213
+ }
1214
+
1215
+ type Dictionary = {
1216
+ [x: string]: number | string;
1217
+ };
1218
+ type EnvType = {
1219
+ [key: string]: Dictionary;
1220
+ };
1221
+ declare class GetEnvConfigValueByName {
1222
+ private cacheService;
1223
+ private isMockModeEnabled;
1224
+ private readonly defaultActiveEnv;
1225
+ execute(configName: string): string | number;
1226
+ private validateConfigs;
1227
+ }
1228
+
1229
+ declare class IsMockModeEnabled {
1230
+ cacheService: iCacheService;
1231
+ execute(): boolean;
1232
+ }
1233
+
1234
+ declare class SetActiveEnvName {
1235
+ private cacheService;
1236
+ execute(envName: string): Promise<void>;
1237
+ }
1238
+
1239
+ declare class SetMockMode {
1240
+ cacheService: iCacheService;
1241
+ execute(enabled: boolean): void;
1242
+ }
1243
+
1244
+ declare class GetLanguageCode {
1245
+ private cacheService;
1246
+ execute(): string;
1247
+ }
1248
+
1249
+ declare abstract class iGetEnvConfigValueByName {
1250
+ abstract execute(configName: string): any;
1251
+ }
1252
+
1253
+ declare class MockGetEnvConfigValueByName implements iGetEnvConfigValueByName {
1254
+ execute(configName: string): string | number;
1255
+ }
1256
+
1257
+ declare const envConfigIOCModule: ContainerModule;
1258
+
1259
+ declare const mockEnvConfigIOCModule: ContainerModule;
1260
+
1261
+ declare const INTR_GET_ENV_CONFIG_VALUE_BY_NAME: unique symbol;
1262
+ declare const INTR_GET_ACTIVE_ENV_NAME: unique symbol;
1263
+ declare const INTR_SET_ACTIVE_ENV_NAME: unique symbol;
1264
+ declare const INTR_IS_MOCK_MODE_ENABLED: unique symbol;
1265
+ declare const INTR_SET_MOCK_MODE: unique symbol;
1266
+ declare const INTR_GET_LANGUAGE_CODE: unique symbol;
1267
+
1268
+ declare function featureFlagIsEnabled(flagName: string): boolean;
1269
+
1270
+ declare function loadFeatureFlags(): Promise<void>;
1271
+
1272
+ declare abstract class iFeatureFlagService {
1273
+ abstract loadFlagsData(): Promise<void>;
1274
+ abstract featureFlagIsEnabled(flagName: string): boolean;
1275
+ }
1276
+
1277
+ declare class MockFeatureFlagService extends iFeatureFlagService {
1278
+ private flagData;
1279
+ loadMockFlagData(flagData: {
1280
+ [key: string]: boolean;
1281
+ }): void;
1282
+ loadFlagsData(): Promise<void>;
1283
+ featureFlagIsEnabled(flagName: string): boolean;
1284
+ }
1285
+
1286
+ declare const featureFlagsIOCModule: ContainerModule;
1287
+
1288
+ declare const mockFeatureFlagIOCModule: ContainerModule;
1289
+
1290
+ declare const reactNativeFeatureFlagsIOCModule: ContainerModule;
1291
+
1292
+ declare const FFLAGS_SESSION_STORAGE_KEY = "mqcui-feature-flags";
1293
+ declare class SessionStorageFeatureFlagService implements iFeatureFlagService {
1294
+ private flagsData;
1295
+ constructor();
1296
+ private internalLoadFlagsData;
1297
+ loadFlagsData(): Promise<void>;
1298
+ featureFlagIsEnabled(flagName: string): boolean;
1299
+ private tryGettingFlagValue;
1300
+ private initFalseFlagValue;
1301
+ }
1302
+
1303
+ declare class StubFeatureFlagService implements iFeatureFlagService {
1304
+ private flagsData;
1305
+ loadFlagsData(): Promise<void>;
1306
+ featureFlagIsEnabled(flagName: string): boolean;
1307
+ setFlag(flagName: string, value: boolean): void;
1308
+ }
1309
+
1310
+ declare function getActiveIocContainer(): Container;
1311
+
1312
+ declare let ACTIVE_IOC_CONTAINER: Container | undefined;
1313
+ declare function setActiveIocContainer(container: Container | undefined): void;
1314
+
1315
+ declare const mswKycHandlers: msw.HttpHandler[];
1316
+
1317
+ type KycVerificationRequest = {
1318
+ /**
1319
+ * Associates the specified account holder group with the cardholder.
1320
+ * @type {string}
1321
+ * @memberof KycVerificationRequest
1322
+ */
1323
+ accountHolderGroupToken?: string;
1324
+ /**
1325
+ * Unique identifier of the user to update.
1326
+ * @type {string}
1327
+ * @memberof KycVerificationRequest
1328
+ */
1329
+ userToken?: string;
1330
+ /**
1331
+ * Cardholder\'s address. Required for KYC verification. Cannot be a PO Box.
1332
+ * @type {string}
1333
+ * @memberof KycVerificationRequest
1334
+ */
1335
+ address1?: string;
1336
+ /**
1337
+ * Additional address information for the cardholder. Cannot be a PO Box.
1338
+ * @type {string}
1339
+ * @memberof KycVerificationRequest
1340
+ */
1341
+ address2?: string;
1342
+ /**
1343
+ * Cardholder\'s date of birth. Required for KYC verification.
1344
+ * @type {string}
1345
+ * @memberof KycVerificationRequest
1346
+ */
1347
+ birthDate?: string;
1348
+ /**
1349
+ * City where the cardholder resides. Required for KYC verification.
1350
+ * @type {string}
1351
+ * @memberof KycVerificationRequest
1352
+ */
1353
+ city?: string;
1354
+ /**
1355
+ * Country where the cardholder resides. Required for KYC verification. ISO alpha-2 country code required.
1356
+ * @type {string}
1357
+ * @memberof KycVerificationRequest
1358
+ */
1359
+ country?: string;
1360
+ /**
1361
+ * Valid email address of the cardholder. Required for KYC verification by certain banks.
1362
+ * @type {string}
1363
+ * @memberof KycVerificationRequest
1364
+ */
1365
+ email?: string;
1366
+ /**
1367
+ * Cardholder\'s first name. Required for KYC verification.
1368
+ * @type {string}
1369
+ * @memberof KycVerificationRequest
1370
+ */
1371
+ firstName?: string;
1372
+ /**
1373
+ * Type of identification. Full Social Security Number (SSN) is required for US-based cardholder KYC verification.
1374
+ * @type {string}
1375
+ * @memberof KycVerificationRequest
1376
+ */
1377
+ identifierType?: KycVerificationRequestIdentifierTypeEnum;
1378
+ /**
1379
+ * Value of identification.
1380
+ * @type {string}
1381
+ * @memberof KycVerificationRequest
1382
+ */
1383
+ identifierValue?: string;
1384
+ /**
1385
+ * Cardholder\'s last name. Required for KYC verification.
1386
+ * @type {string}
1387
+ * @memberof KycVerificationRequest
1388
+ */
1389
+ lastName?: string;
1390
+ /**
1391
+ * Set to true to designate a user account holder as having passed a verification check without Marqeta performing the check through one of its KYC providers.
1392
+ * @type {boolean}
1393
+ * @memberof KycVerificationRequest
1394
+ */
1395
+ manualOverride?: boolean;
1396
+ /**
1397
+ * Telephone number of the cardholder (including area code), prepended by the + symbol and the country calling code.
1398
+ * @type {string}
1399
+ * @memberof KycVerificationRequest
1400
+ */
1401
+ phone?: string;
1402
+ /**
1403
+ * Postal code of the cardholder\'s address. Required for KYC verification.
1404
+ * @type {string}
1405
+ * @memberof KycVerificationRequest
1406
+ */
1407
+ postalCode?: string;
1408
+ /**
1409
+ * Can be specified only if manualOverride=true. If you verified a user account holder\'s identity outside of the Marqeta platform, you can use this field to store the reference number returned by that KYC provider.
1410
+ * @type {string}
1411
+ * @memberof KycVerificationRequest
1412
+ */
1413
+ referenceId?: string;
1414
+ /**
1415
+ * State or province where the cardholder resides. Valid two-character abbreviation required for KYC verification.
1416
+ * @type {string}
1417
+ * @memberof KycVerificationRequest
1418
+ */
1419
+ state?: string;
1420
+ /**
1421
+ * Cardholder has agreed to the terms and disclosures
1422
+ * @type {boolean}
1423
+ * @memberof KycVerificationRequest
1424
+ */
1425
+ disclosureTerms?: boolean;
1426
+ };
1427
+ declare const KycVerificationRequestIdentifierTypeEnum: {
1428
+ readonly Ssn: "SSN";
1429
+ readonly Tin: "TIN";
1430
+ };
1431
+ type KycVerificationRequestIdentifierTypeEnum = (typeof KycVerificationRequestIdentifierTypeEnum)[keyof typeof KycVerificationRequestIdentifierTypeEnum];
1432
+
1433
+ type KycVerificationResponse = {
1434
+ /**
1435
+ * Indicates if manual override was used.
1436
+ * @type {boolean}
1437
+ * @memberof KycVerificationResponse
1438
+ */
1439
+ manualOverride?: boolean;
1440
+ /**
1441
+ * Notes associated with the manual override.
1442
+ * @type {string}
1443
+ * @memberof KycVerificationResponse
1444
+ */
1445
+ notes?: string;
1446
+ /**
1447
+ * Reference identifier returned by the KYC provider.
1448
+ * @type {string}
1449
+ * @memberof KycVerificationResponse
1450
+ */
1451
+ referenceId?: string;
1452
+ /**
1453
+ * Unique identifier of the KYC verification process.
1454
+ * @type {string}
1455
+ * @memberof KycVerificationResponse
1456
+ */
1457
+ token?: string;
1458
+ /**
1459
+ * The user account holder on which the identity check was performed.
1460
+ * @type {string}
1461
+ * @memberof KycVerificationResponse
1462
+ */
1463
+ userToken?: string;
1464
+ };
1465
+
1466
+ declare const LOADING_SSN = "000000000";
1467
+ declare const DOB_ISSUE_SSN = "222222222";
1468
+ declare const NAME_ISSUE_SSN = "444444444";
1469
+ declare const ADDRESS_ISSUE_SSN = "555555555";
1470
+ declare const OBAC_ISSUE_SSN = "888888888";
1471
+ declare const BAD_GENERAL_SSN = "999999999";
1472
+ declare const mockKycVerificationRequest: KycVerificationRequest;
1473
+ declare const mockInvalidKycVerificationRequest: KycVerificationRequest;
1474
+ declare const mockKycVerificationResponse: KycVerificationResponse;
1475
+
1476
+ declare function postVerifyKyc(kycVerificationAttributes: KycVerificationRequest): Promise<KycVerificationResponse>;
1477
+
1478
+ declare abstract class iKycRepository {
1479
+ abstract postVerifyKyc(kycVerificationAttributes: KycVerificationRequest): Promise<KycVerificationResponse>;
1480
+ }
1481
+
1482
+ declare class RestKycRepository implements iKycRepository {
1483
+ private httpClient;
1484
+ private getEnvConfigValueByName;
1485
+ postVerifyKyc(kycVerificationAttributes: KycVerificationRequest): Promise<KycVerificationResponse>;
1486
+ }
1487
+
1488
+ declare const kycIOCModule: ContainerModule;
1489
+
1490
+ declare const ITF_KYC: unique symbol;
1491
+
1492
+ type SourceCardsRecordEntity = {
1493
+ expiration: string;
1494
+ funding_source_name: string;
1495
+ is_default: boolean;
1496
+ last_four: string;
1497
+ network: string;
1498
+ source_type: string;
1499
+ status: string;
1500
+ token: string;
1501
+ transfer_cost: string;
1502
+ transfer_speed: string;
1503
+ };
1504
+ type UnlinkSourceCardResponse = {
1505
+ ok: boolean;
1506
+ };
1507
+ type SourceCardsListEntity = SourceCardsRecordEntity[];
1508
+ type SourceCardsResponseEntity = {
1509
+ count: number;
1510
+ start_index: number;
1511
+ end_index: number;
1512
+ is_more: boolean;
1513
+ data: SourceCardsListEntity;
1514
+ };
1515
+
1516
+ type StandardOkResponse = {
1517
+ ok: boolean;
1518
+ };
1519
+
1520
+ declare abstract class iMoneyMovementRepository {
1521
+ abstract addSourceCard(pan: string, expiration: string, cvv: string, birth_date: string, postal_code: string): Promise<StandardOkResponse>;
1522
+ abstract getSourceCards(): Promise<SourceCardsResponseEntity>;
1523
+ abstract initiateFunding(card_token: string, amount: string, currency: string, statement_descriptor: string): Promise<StandardOkResponse>;
1524
+ abstract removeSourceCard(token: string): Promise<StandardOkResponse>;
1525
+ }
1526
+
1527
+ declare const TEST_SOURCE_CARD: {
1528
+ expiration: string;
1529
+ funding_source_name: string;
1530
+ is_default: boolean;
1531
+ last_four: string;
1532
+ network: string;
1533
+ source_type: string;
1534
+ status: string;
1535
+ token: string;
1536
+ transfer_cost: string;
1537
+ transfer_speed: string;
1538
+ };
1539
+ declare const TEST_SOURCE_CARDS_RESPONSE: {
1540
+ count: number;
1541
+ start_index: number;
1542
+ end_index: number;
1543
+ is_more: boolean;
1544
+ ok: boolean;
1545
+ data: {
1546
+ expiration: string;
1547
+ funding_source_name: string;
1548
+ is_default: boolean;
1549
+ last_four: string;
1550
+ network: string;
1551
+ source_type: string;
1552
+ status: string;
1553
+ token: string;
1554
+ transfer_cost: string;
1555
+ transfer_speed: string;
1556
+ }[];
1557
+ };
1558
+ declare const TEST_OK_RESPONSE: {
1559
+ ok: boolean;
1560
+ };
1561
+ declare class MockMoneyMovementRepository implements iMoneyMovementRepository {
1562
+ addSourceCard(pan: string, expiration: string, cvv: string, birth_date: string, postal_code: string): Promise<StandardOkResponse>;
1563
+ getSourceCards(): Promise<SourceCardsResponseEntity>;
1564
+ initiateFunding(card_token: string, amount: string, currency: string, statement_descriptor: string): Promise<StandardOkResponse>;
1565
+ removeSourceCard(token: string): Promise<StandardOkResponse>;
1566
+ }
1567
+
1568
+ declare class AddSourceCard {
1569
+ moneyMovementRepository: iMoneyMovementRepository;
1570
+ execute(pan: string, expiration: string, cvv: string, birth_date: string, postal_code: string): Promise<StandardOkResponse>;
1571
+ }
1572
+
1573
+ declare class InitiateFunding {
1574
+ moneyMovementRepository: iMoneyMovementRepository;
1575
+ execute(card_token: string, amount: string, currency: string, statement_descriptor: string): Promise<StandardOkResponse>;
1576
+ }
1577
+
1578
+ declare class GetSourceCards {
1579
+ moneyMovementRepository: iMoneyMovementRepository;
1580
+ execute(): Promise<SourceCardsResponseEntity>;
1581
+ }
1582
+
1583
+ declare class RemoveSourceCard {
1584
+ moneyMovementRepository: iMoneyMovementRepository;
1585
+ execute(token: string): Promise<StandardOkResponse>;
1586
+ }
1587
+
1588
+ declare const mockMoneyMovementIOCModule: ContainerModule;
1589
+
1590
+ declare const moneyMovementIOCModule: ContainerModule;
1591
+
1592
+ declare const ITF_MONEY_MOVEMENT: unique symbol;
1593
+ declare const INTR_ADD_SOURCE_CARD: unique symbol;
1594
+ declare const INTR_INITIATE_FUNDING: unique symbol;
1595
+ declare const INTR_GET_SOURCE_CARDS: unique symbol;
1596
+ declare const INTR_REMOVE_SOURCE_CARD: unique symbol;
1597
+
1598
+ declare const mswSourceCardsHandler: msw.HttpHandler[];
1599
+
1600
+ declare const mockSourceCards: {
1601
+ expiration: string;
1602
+ funding_source_name: string;
1603
+ is_default: boolean;
1604
+ last_four: string;
1605
+ network: string;
1606
+ source_type: string;
1607
+ status: string;
1608
+ token: string;
1609
+ transfer_cost: string;
1610
+ transfer_speed: string;
1611
+ }[];
1612
+
1613
+ type StatementsPaginationParams = {
1614
+ issuedEndDate: string;
1615
+ issuedStartDate: string;
1616
+ };
1617
+ type StatementsResponse = {
1618
+ data: StatementSummary[];
1619
+ end_index: number;
1620
+ is_more: boolean;
1621
+ start_index: number;
1622
+ };
1623
+ type StatementSummary = {
1624
+ cardholder_token: string;
1625
+ issued_date: string;
1626
+ readable_issued_date: string;
1627
+ };
1628
+ type StatementAssetResponse = {
1629
+ signed_url: SignedUrlResponse;
1630
+ state: StatementAssetStateEnum;
1631
+ };
1632
+ declare enum StatementAssetStateEnum {
1633
+ PENDING = "Pending",
1634
+ RENDERED = "Rendered",
1635
+ FAILED = "Failed"
1636
+ }
1637
+ type SignedUrlResponse = {
1638
+ pdf: string;
1639
+ };
1640
+
1641
+ declare abstract class iStatementsRepository {
1642
+ abstract getStatements(paginationParams: StatementsPaginationParams): Promise<StatementsResponse>;
1643
+ abstract getStatementAsset(issued_date: string): Promise<StatementAssetResponse>;
1644
+ }
1645
+
1646
+ declare class GetStatements {
1647
+ statementsRepository: iStatementsRepository;
1648
+ execute(paginationParams: StatementsPaginationParams): Promise<StatementsResponse>;
1649
+ }
1650
+
1651
+ declare class GetStatementAsset {
1652
+ statementsRepository: iStatementsRepository;
1653
+ execute(issuedDate: string): Promise<StatementAssetResponse>;
1654
+ }
1655
+
1656
+ declare const statementsIOCModule: ContainerModule;
1657
+
1658
+ declare const ITF_STATEMENTS: unique symbol;
1659
+ declare const INTR_GET_STATEMENTS: unique symbol;
1660
+ declare const ITF_STATEMENT_ASSET: unique symbol;
1661
+ declare const INTR_GET_STATEMENT_ASSET: unique symbol;
1662
+
1663
+ declare const mswStatementsHandlers: msw.HttpHandler[];
1664
+
1665
+ declare const handleGetStatements: (userToken: string, issuedEndDate?: string, issuedStartDate?: string) => {
1666
+ is_more: boolean;
1667
+ data: StatementSummary[];
1668
+ end_index: number;
1669
+ start_index: number;
1670
+ };
1671
+ declare const handleGetStatementAsset: () => {
1672
+ state: StatementAssetStateEnum;
1673
+ signed_url: {
1674
+ pdf: string;
1675
+ };
1676
+ };
1677
+
1678
+ declare const toDateType: (dateString: string) => Date;
1679
+ declare const formatDateForApi: (date: Date) => string;
1680
+ declare const generateStatementsDateQueries: () => {
1681
+ ISSUED_END_DATE: string;
1682
+ ISSUED_START_DATE: string;
1683
+ };
1684
+
1685
+ declare const MOCK_STATEMENT_ASSET_SIGNED_URL_PDF = "https://statements-demo.prod.mq01-prod.marqeta.io/Statements_Oct_1_demo.pdf";
1686
+ declare const MOCK_USER: {
1687
+ token: string;
1688
+ active: boolean;
1689
+ createdTime: string;
1690
+ firstName: string;
1691
+ middleName: string;
1692
+ lastName: string;
1693
+ status: string;
1694
+ address1: string;
1695
+ address2: string;
1696
+ city: string;
1697
+ state: string;
1698
+ postalCode: string;
1699
+ country: string;
1700
+ };
1701
+
1702
+ declare const DEFAULT_THEME: {
1703
+ fontFaces: string[];
1704
+ colors: {
1705
+ primary: {
1706
+ primary50: string;
1707
+ primary100: string;
1708
+ primary200: string;
1709
+ primary300: string;
1710
+ primary400: string;
1711
+ primary500: string;
1712
+ primary600: string;
1713
+ primary700: string;
1714
+ primary800: string;
1715
+ primary900: string;
1716
+ };
1717
+ secondary: {
1718
+ secondary50: string;
1719
+ secondary100: string;
1720
+ secondary200: string;
1721
+ secondary300: string;
1722
+ secondary400: string;
1723
+ secondary500: string;
1724
+ secondary600: string;
1725
+ secondary700: string;
1726
+ secondary800: string;
1727
+ secondary900: string;
1728
+ };
1729
+ neutral: {
1730
+ white: string;
1731
+ black: string;
1732
+ neutral50: string;
1733
+ neutral100: string;
1734
+ neutral200: string;
1735
+ neutral300: string;
1736
+ neutral400: string;
1737
+ neutral500: string;
1738
+ neutral600: string;
1739
+ neutral700: string;
1740
+ neutral800: string;
1741
+ neutral900: string;
1742
+ };
1743
+ warning: {
1744
+ warningLight: string;
1745
+ warningBase: string;
1746
+ warningDark: string;
1747
+ };
1748
+ error: {
1749
+ errorLight: string;
1750
+ errorBase: string;
1751
+ errorDark: string;
1752
+ };
1753
+ success: {
1754
+ successLight: string;
1755
+ successBase: string;
1756
+ successDark: string;
1757
+ };
1758
+ info: {
1759
+ infoLight: string;
1760
+ infoBase: string;
1761
+ infoDark: string;
1762
+ };
1763
+ overlay: {
1764
+ overlay500: string;
1765
+ };
1766
+ transparent: {
1767
+ transparent: string;
1768
+ };
1769
+ };
1770
+ spacing: {
1771
+ spacing0: string;
1772
+ spacing100: string;
1773
+ spacing200: string;
1774
+ spacing300: string;
1775
+ spacing400: string;
1776
+ spacing500: string;
1777
+ spacing600: string;
1778
+ spacing800: string;
1779
+ spacing1000: string;
1780
+ spacing1200: string;
1781
+ spacing1600: string;
1782
+ };
1783
+ borderRadius: {
1784
+ radius0: string;
1785
+ radius100: string;
1786
+ radius200: string;
1787
+ radius300: string;
1788
+ radius400: string;
1789
+ radius500: string;
1790
+ radius600: string;
1791
+ radiusFull: string;
1792
+ };
1793
+ typography: {
1794
+ number: {
1795
+ numberTitleFontColor: string;
1796
+ numberFontSize: string;
1797
+ numberFontWeight: string;
1798
+ numberLetterSpacing: string;
1799
+ numberLineHeight: string;
1800
+ };
1801
+ sectionTitle: {
1802
+ sectionTitleFontColor: string;
1803
+ sectionTitleFontSize: string;
1804
+ sectionTitleFontWeight: string;
1805
+ sectionTitleLetterSpacing: string;
1806
+ sectionTitleLineHeight: string;
1807
+ };
1808
+ subsectionTitle: {
1809
+ subsectionTitleFontColor: string;
1810
+ subsectionTitleFontSize: string;
1811
+ subsectionTitleFontWeight: string;
1812
+ subsectionTitleLetterSpacing: string;
1813
+ subsectionTitleLineHeight: string;
1814
+ };
1815
+ heading: {
1816
+ headingFontColor: string;
1817
+ headingFontSize: string;
1818
+ headingFontWeight: string;
1819
+ headingLetterSpacing: string;
1820
+ headingLineHeight: string;
1821
+ };
1822
+ body: {
1823
+ defaultBodyFontColor: string;
1824
+ defaultBodyFontFamily: string;
1825
+ defaultBodyFontSize: string;
1826
+ defaultBodyFontWeight: string;
1827
+ defaultBodyLetterSpacing: string;
1828
+ defaultBodyLineHeight: string;
1829
+ strongFontWeight: string;
1830
+ };
1831
+ largeBody: {
1832
+ largeBodyBodyFontColor: string;
1833
+ largeBodyFontSize: string;
1834
+ largeBodyFontWeight: string;
1835
+ largeBodyLetterSpacing: string;
1836
+ largeBodyLineHeight: string;
1837
+ strongFontWeight: string;
1838
+ };
1839
+ link: {
1840
+ defaultLinkFontColor: string;
1841
+ defaultLinkFontFamily: string;
1842
+ defaultLinkFontSize: string;
1843
+ defaultLinkFontWeight: string;
1844
+ defaultLinkLetterSpacing: string;
1845
+ defaultLinkLineHeight: string;
1846
+ defaultLinkTextDecoration: string;
1847
+ };
1848
+ button: {
1849
+ buttonLinkFontSize: string;
1850
+ buttonLinkFontWeight: string;
1851
+ buttonLinkLineHeight: string;
1852
+ buttonLinkLetterSpacing: string;
1853
+ buttonLinkLeading: string;
1854
+ };
1855
+ smallButton: {
1856
+ smallButtonFontFamily: string;
1857
+ smallButtonFontSize: string;
1858
+ smallButtonFontWeight: string;
1859
+ smallButtonLineHeight: string;
1860
+ smallButtonLetterSpacing: string;
1861
+ };
1862
+ label: {
1863
+ defaultLabelFontColor: string;
1864
+ defaultLabelFontSize: string;
1865
+ defaultLabelFontWeight: string;
1866
+ defaultLabelLetterSpacing: string;
1867
+ defaultLabelLineHeight: string;
1868
+ };
1869
+ small: {
1870
+ smallLabelFontColor: string;
1871
+ smallLabelFontSize: string;
1872
+ smallLabelFontWeight: string;
1873
+ smallLabelLetterSpacing: string;
1874
+ smallLabelLineHeight: string;
1875
+ };
1876
+ caption: {
1877
+ defaultCaptionFontColor: string;
1878
+ defaultCaptionFontSize: string;
1879
+ defaultCaptionFontWeight: string;
1880
+ defaultCaptionLetterSpacing: string;
1881
+ defaultCaptionLineHeight: string;
1882
+ };
1883
+ hero: {
1884
+ defaultHeroFontColor: string;
1885
+ defaultHeroFontSize: string;
1886
+ defaultHeroFontWeight: string;
1887
+ defaultHeroLetterSpacing: string;
1888
+ defaultHeroLineHeight: string;
1889
+ };
1890
+ };
1891
+ elevation: {
1892
+ elevation1: string;
1893
+ elevation2: string;
1894
+ };
1895
+ animation: {
1896
+ animationDuration: {
1897
+ duration0: string;
1898
+ duration50: string;
1899
+ duration150: string;
1900
+ duration200: string;
1901
+ duration250: string;
1902
+ duration300: string;
1903
+ duration350: string;
1904
+ duration400: string;
1905
+ duration450: string;
1906
+ };
1907
+ };
1908
+ styles: {
1909
+ background: {
1910
+ statusSuccessColor: string;
1911
+ statusWarningColor: string;
1912
+ statusInfoColor: string;
1913
+ statusErrorColor: string;
1914
+ surfacePrimaryColor: string;
1915
+ surfacePrimaryHoverColor: string;
1916
+ surfacePrimaryActiveColor: string;
1917
+ surfaceSecondaryColor: string;
1918
+ surfaceSecondaryHoverColor: string;
1919
+ surfaceTertiaryColor: string;
1920
+ surfaceTertiaryHoverColor: string;
1921
+ };
1922
+ border: {
1923
+ borderDefaultColor: string;
1924
+ borderDisabledColor: string;
1925
+ borderErrorColor: string;
1926
+ focusOutlineColor: string;
1927
+ borderWidth: string;
1928
+ };
1929
+ text: {
1930
+ textPrimaryColor: string;
1931
+ textSecondaryColor: string;
1932
+ textTertiaryColor: string;
1933
+ textDisabledColor: string;
1934
+ textInverseColor: string;
1935
+ textInverseSecondaryColor: string;
1936
+ textInverseTertiaryColor: string;
1937
+ textBrandColor: string;
1938
+ textErrorColor: string;
1939
+ textWarningColor: string;
1940
+ textSuccessColor: string;
1941
+ textInfoColor: string;
1942
+ };
1943
+ icons: {
1944
+ iconDefaultColor: string;
1945
+ iconInverseColor: string;
1946
+ iconBrandColor: string;
1947
+ iconDisabledColor: string;
1948
+ iconErrorColor: string;
1949
+ iconInfoColor: string;
1950
+ iconWarningColor: string;
1951
+ };
1952
+ };
1953
+ elements: {
1954
+ primaryButton: {
1955
+ buttonPrimaryText: string;
1956
+ buttonPrimaryBackground: string;
1957
+ buttonPrimaryHoverText: string;
1958
+ buttonPrimaryHoverBackground: string;
1959
+ buttonPrimaryActiveText: string;
1960
+ buttonPrimaryActiveBackground: string;
1961
+ buttonPrimaryFocusOutline: string;
1962
+ buttonPrimaryDisabledText: string;
1963
+ buttonPrimaryBorderRadius: string;
1964
+ buttonPrimaryDisabledBackground: string;
1965
+ buttonPrimarynBorderRadius: string;
1966
+ };
1967
+ secondaryButton: {
1968
+ buttonSecondaryBorder: string;
1969
+ buttonSecondaryText: string;
1970
+ buttonSecondaryBackground: string;
1971
+ buttonSecondaryHoverBorder: string;
1972
+ buttonSecondaryHoverBackground: string;
1973
+ buttonSecondaryActiveBorder: string;
1974
+ buttonSecondaryActiveText: string;
1975
+ buttonSecondaryActiveBackground: string;
1976
+ buttonSecondaryFocusOutline: string;
1977
+ buttonSecondaryBorderRadius: string;
1978
+ buttonSecondaryDisabledBorder: string;
1979
+ buttonSecondaryDisabledText: string;
1980
+ buttonSecondaryDisabledBackground: string;
1981
+ };
1982
+ tertiaryButton: {
1983
+ buttonTertiaryBorder: string;
1984
+ buttonTertiaryText: string;
1985
+ buttonTertiaryBackground: string;
1986
+ buttonTertiaryHoverBorder: string;
1987
+ buttonTertiaryHoverText: string;
1988
+ buttonTertiaryHoverBackground: string;
1989
+ buttonTertiaryActiveBorder: string;
1990
+ buttonTertiaryActiveText: string;
1991
+ buttonTertiaryActiveBackground: string;
1992
+ buttonTertiaryBorderRadius: string;
1993
+ buttonTertiaryFocusOutline: string;
1994
+ buttonTertiaryFocusText: string;
1995
+ buttonTertiaryDisabledBorder: string;
1996
+ buttonTertiaryDisabledText: string;
1997
+ buttonTertiaryDisabledBackground: string;
1998
+ };
1999
+ input: {
2000
+ inputBackgroundColor: string;
2001
+ inputBorderColor: string;
2002
+ inputHoverBorderColor: string;
2003
+ inputDisabledBackgroundColor: string;
2004
+ inputErrorBackgroundColor: string;
2005
+ inputActiveBackground: string;
2006
+ inputBorderRadius: string;
2007
+ };
2008
+ progress: {
2009
+ progressBar: string;
2010
+ progressBarTrack: string;
2011
+ };
2012
+ toggle: {
2013
+ background: string;
2014
+ hoverBackground: string;
2015
+ selectedBackground: string;
2016
+ selectedDot: string;
2017
+ disabledDot: string;
2018
+ disabledBackground: string;
2019
+ selectedDisabledBackground: string;
2020
+ selectedDisabledDot: string;
2021
+ selectedHoverBackground: string;
2022
+ };
2023
+ link: {
2024
+ linkDefaultColor: string;
2025
+ linkHoverColor: string;
2026
+ linkActiveColor: string;
2027
+ linkSmallFontSize: string;
2028
+ linkLargeFontSize: string;
2029
+ };
2030
+ };
2031
+ components: {
2032
+ universal: {
2033
+ padding: string;
2034
+ backgroundColor: string;
2035
+ borderRadius: string;
2036
+ borderWidth: string;
2037
+ borderColor: string;
2038
+ };
2039
+ accounts: {
2040
+ accountSummaryHeaderColor: string;
2041
+ accountSummaryBodyColor: string;
2042
+ };
2043
+ cardDetails: {
2044
+ cardDetailsTextColor: string;
2045
+ cardDetailsBackgroundColor: string;
2046
+ cardDetailsIconColor: string;
2047
+ };
2048
+ };
2049
+ };
2050
+
2051
+ type ThemeObject = {
2052
+ [x: string]: string | string[] | ThemeObject;
2053
+ };
2054
+ type IconsObject = {
2055
+ [x: string]: string | string[] | IconsObject;
2056
+ };
2057
+
2058
+ type ThemeResponse = {
2059
+ theme?: ThemeObject;
2060
+ themeName?: string;
2061
+ };
2062
+ declare class GetActiveTheme {
2063
+ cacheService: iCacheService;
2064
+ execute(): ThemeResponse | undefined;
2065
+ }
2066
+ declare function deepMergeThemeObject(target: ThemeObject, source: ThemeObject | undefined): ThemeObject;
2067
+
2068
+ declare abstract class iThemeRepository {
2069
+ abstract getThemeByName(themeName: string): Promise<ThemeObject>;
2070
+ }
2071
+
2072
+ declare const TEST_THEME_NAME = "myTestTheme";
2073
+ declare const TEST_THEME_OBJECT: {
2074
+ colors: {
2075
+ brand: {
2076
+ primary: string;
2077
+ };
2078
+ colorPrimary: {
2079
+ primary100: string;
2080
+ primary300: string;
2081
+ primary400: string;
2082
+ primary500: string;
2083
+ primary600: string;
2084
+ primary700: string;
2085
+ };
2086
+ };
2087
+ };
2088
+ declare class MockThemeRepository {
2089
+ private internalRepo;
2090
+ getThemeByName(themeName: string): Promise<ThemeObject>;
2091
+ }
2092
+
2093
+ declare abstract class iIconsRepository {
2094
+ abstract getIconsByName(iconsName: string): Promise<IconsObject>;
2095
+ }
2096
+
2097
+ declare class SetActiveThemeByName {
2098
+ cacheService: iCacheService;
2099
+ themeRepository: iThemeRepository;
2100
+ execute(themeName?: string): Promise<void>;
2101
+ }
2102
+
2103
+ declare class GetIconsByName {
2104
+ iconsRepository: iIconsRepository;
2105
+ execute(iconsName: string): Promise<IconsObject>;
2106
+ }
2107
+
2108
+ declare const mockThemesIOCModule: ContainerModule;
2109
+
2110
+ declare const themesIOCModule: ContainerModule;
2111
+
2112
+ declare const INTR_GET_ACTIVE_THEME: unique symbol;
2113
+ declare const INTR_SET_ACTIVE_THEME_BY_NAME: unique symbol;
2114
+ declare const ITF_THEME_REPOSITORY: unique symbol;
2115
+ declare const INTR_GET_ICONS: unique symbol;
2116
+ declare const ITF_ICONS_REPOSITORY: unique symbol;
2117
+
2118
+ declare const iconsIOCModule: ContainerModule;
2119
+
2120
+ type TransactionsPaginationParams = {
2121
+ startIndex: number;
2122
+ currentTimestamp: string;
2123
+ getPending: boolean;
2124
+ limit: number;
2125
+ };
2126
+ type TransactionsResponse = {
2127
+ count: number;
2128
+ startIndex: number;
2129
+ endIndex: number;
2130
+ hasMore: boolean;
2131
+ data: TransactionRecord[];
2132
+ };
2133
+ declare enum TransactionRecordStatus {
2134
+ PENDING = "Pending",
2135
+ DECLINED = "Declined",
2136
+ COMPLETION = "Completion"
2137
+ }
2138
+ type TransactionRecord = {
2139
+ account_balance: string;
2140
+ amount: string;
2141
+ created_time: string;
2142
+ currency_code: string;
2143
+ description: string;
2144
+ status: TransactionRecordStatus;
2145
+ token: string;
2146
+ type_icon: string;
2147
+ type: string;
2148
+ };
2149
+ type TransactionDetailsRecord = {
2150
+ amount: string;
2151
+ description: string;
2152
+ date_time: string;
2153
+ mq_payment_source?: string;
2154
+ merchant_category_group_name: string;
2155
+ merchant_category_group_icon: string;
2156
+ network_transaction_icon: string;
2157
+ payment_method: string;
2158
+ status: string;
2159
+ type: string;
2160
+ type_icon: string;
2161
+ can_file_new_disputes: boolean;
2162
+ txns_details_banner_data?: TransactionDetailsBannerData;
2163
+ };
2164
+ declare enum TransactionDetailsBannerType {
2165
+ INFO = "INFO",
2166
+ WARNING = "WARNING"
2167
+ }
2168
+ type TransactionDetailsBannerData = {
2169
+ banner_type: TransactionDetailsBannerType;
2170
+ title: string;
2171
+ description: string;
2172
+ };
2173
+ type TransactionDetailsResponse = {
2174
+ data: TransactionDetailsRecord;
2175
+ };
2176
+
2177
+ declare abstract class iTransactionsRepository {
2178
+ abstract getTransactions(paginationParams: TransactionsPaginationParams): Promise<TransactionsResponse>;
2179
+ abstract getTransactionDetails(transaction_token: string): Promise<TransactionDetailsResponse>;
2180
+ }
2181
+
2182
+ declare class MockTransactionsRepository implements iTransactionsRepository {
2183
+ private transactionDetailsIndex;
2184
+ private transactionsStore;
2185
+ loadTransactionsList(transactions: TransactionRecord[]): void;
2186
+ getTransactions(paginationParams: TransactionsPaginationParams): Promise<TransactionsResponse>;
2187
+ loadTransactionDetails(transactionToken: string, transactionDetails: TransactionDetailsRecord): void;
2188
+ getTransactionDetails(transactionToken: string): Promise<TransactionDetailsResponse>;
2189
+ }
2190
+
2191
+ type GetTransactionsResponse = {
2192
+ count: number;
2193
+ startIndex: number;
2194
+ endIndex: number;
2195
+ hasMorePending: boolean;
2196
+ hasMore: boolean;
2197
+ data: TransactionRecord[];
2198
+ };
2199
+ declare class GetTransactions {
2200
+ transactionsRepository: iTransactionsRepository;
2201
+ execute(paginationParams: TransactionsPaginationParams): Promise<GetTransactionsResponse>;
2202
+ private addNonPendingTransactions;
2203
+ private addNonPendingPaginationParams;
2204
+ }
2205
+
2206
+ declare class GetTransactionDetails {
2207
+ transactionsRepository: iTransactionsRepository;
2208
+ execute(transaction_token: string): Promise<TransactionDetailsResponse>;
2209
+ }
2210
+
2211
+ declare const transactionsIOCModule: ContainerModule;
2212
+
2213
+ declare const ITF_TRANSACTIONS: unique symbol;
2214
+ declare const INTR_GET_TRANSACTIONS: unique symbol;
2215
+ declare const INTR_GET_TRANSACTIONS_V2: unique symbol;
2216
+ declare const INTR_GET_TRANSACTION_DETAILS: unique symbol;
2217
+
2218
+ declare const mswTransactionsHandlers: msw.HttpHandler[];
2219
+
2220
+ declare const mswUsersHandlers: msw.HttpHandler[];
2221
+
2222
+ type CreateUserRequest = {
2223
+ /**
2224
+ * Associates the specified account holder group with the cardholder.
2225
+ * @type {string}
2226
+ * @memberof CreateUserRequest
2227
+ */
2228
+ accountHolderGroupToken?: string;
2229
+ /**
2230
+ * Specifies if the cardholder is in the ACTIVE state on the platform.
2231
+ * @type {boolean}
2232
+ * @memberof CreateUserRequest
2233
+ */
2234
+ active?: boolean;
2235
+ /**
2236
+ * Cardholder\'s address. Required for KYC verification. Cannot be a PO Box.
2237
+ * @type {string}
2238
+ * @memberof CreateUserRequest
2239
+ */
2240
+ address1?: string;
2241
+ /**
2242
+ * Additional address information for the cardholder. Cannot be a PO Box.
2243
+ * @type {string}
2244
+ * @memberof CreateUserRequest
2245
+ */
2246
+ address2?: string;
2247
+ /**
2248
+ * Cardholder\'s date of birth. Required for KYC verification.
2249
+ * @type {string}
2250
+ * @memberof CreateUserRequest
2251
+ */
2252
+ birthDate?: string;
2253
+ /**
2254
+ * City where the cardholder resides. Required for KYC verification.
2255
+ * @type {string}
2256
+ * @memberof CreateUserRequest
2257
+ */
2258
+ city?: string;
2259
+ /**
2260
+ * Company name.
2261
+ * @type {string}
2262
+ * @memberof CreateUserRequest
2263
+ */
2264
+ company?: string;
2265
+ /**
2266
+ * Specifies if the cardholder holds a corporate card.
2267
+ * @type {boolean}
2268
+ * @memberof CreateUserRequest
2269
+ */
2270
+ corporateCardHolder?: boolean;
2271
+ /**
2272
+ * Country where the cardholder resides. Required for KYC verification. ISO alpha-2 country code required.
2273
+ * @type {string}
2274
+ * @memberof CreateUserRequest
2275
+ */
2276
+ country?: string;
2277
+ /**
2278
+ * Valid email address of the cardholder. Required for KYC verification by certain banks.
2279
+ * @type {string}
2280
+ * @memberof CreateUserRequest
2281
+ */
2282
+ email?: string;
2283
+ /**
2284
+ * Cardholder\'s first name. Required for KYC verification.
2285
+ * @type {string}
2286
+ * @memberof CreateUserRequest
2287
+ */
2288
+ firstName?: string;
2289
+ /**
2290
+ *
2291
+ * @type {Array<CreateUserRequestIdentificationsInner>}
2292
+ * @memberof CreateUserRequest
2293
+ */
2294
+ identifications?: Array<CreateUserRequestIdentificationsInner>;
2295
+ /**
2296
+ * Cardholder\'s last name. Required for KYC verification.
2297
+ * @type {string}
2298
+ * @memberof CreateUserRequest
2299
+ */
2300
+ lastName?: string;
2301
+ /**
2302
+ * Unique identifier of the parent user or business resource. Required if usesParentAccount is true.
2303
+ * @type {string}
2304
+ * @memberof CreateUserRequest
2305
+ */
2306
+ parentToken?: string;
2307
+ /**
2308
+ * Telephone number of the cardholder (including area code), prepended by the + symbol and the country calling code.
2309
+ * @type {string}
2310
+ * @memberof CreateUserRequest
2311
+ */
2312
+ phone?: string;
2313
+ /**
2314
+ * Postal code of the cardholder\'s address. Required for KYC verification.
2315
+ * @type {string}
2316
+ * @memberof CreateUserRequest
2317
+ */
2318
+ postalCode?: string;
2319
+ /**
2320
+ * State or province where the cardholder resides. Valid two-character abbreviation required for KYC verification.
2321
+ * @type {string}
2322
+ * @memberof CreateUserRequest
2323
+ */
2324
+ state?: string;
2325
+ /**
2326
+ * Indicates whether the child shares balances with the parent (true), or the child\'s balances are independent of the parent (false). If set to true, you must also include a parentToken in the request.
2327
+ * @type {boolean}
2328
+ * @memberof CreateUserRequest
2329
+ */
2330
+ usesParentAccount?: boolean;
2331
+ };
2332
+ type CreateUserRequestIdentificationsInner = {
2333
+ /**
2334
+ * Expiration date of the identification, if applicable.
2335
+ * @type {string}
2336
+ * @memberof CreateUserRequestIdentificationsInner
2337
+ */
2338
+ expirationDate?: string;
2339
+ /**
2340
+ * Type of identification. Full Social Security Number (SSN) is required for US-based cardholder KYC verification.
2341
+ * @type {string}
2342
+ * @memberof CreateUserRequestIdentificationsInner
2343
+ */
2344
+ type?: CreateUserRequestIdentificationsInnerTypeEnum;
2345
+ /**
2346
+ * Number associated with the identification. Digits only, no separators.
2347
+ * @type {string}
2348
+ * @memberof CreateUserRequestIdentificationsInner
2349
+ */
2350
+ value?: string;
2351
+ };
2352
+ declare const CreateUserRequestIdentificationsInnerTypeEnum: {
2353
+ readonly Ssn: "SSN";
2354
+ readonly Tin: "TIN";
2355
+ readonly Sin: "SIN";
2356
+ readonly Nin: "NIN";
2357
+ readonly PassportNumber: "PASSPORT_NUMBER";
2358
+ readonly DriversLicense: "DRIVERS_LICENSE";
2359
+ readonly BusinessNumber: "BUSINESS_NUMBER";
2360
+ readonly BusinessTaxId: "BUSINESS_TAX_ID";
2361
+ readonly TaxpayerReference: "TAXPAYER_REFERENCE";
2362
+ };
2363
+ type CreateUserRequestIdentificationsInnerTypeEnum = (typeof CreateUserRequestIdentificationsInnerTypeEnum)[keyof typeof CreateUserRequestIdentificationsInnerTypeEnum];
2364
+
2365
+ type CreateUserResponse = {
2366
+ /**
2367
+ * Associates the specified account holder group with the cardholder.
2368
+ * @type {string}
2369
+ * @memberof CreateUserResponse
2370
+ */
2371
+ accountHolderGroupToken?: string;
2372
+ /**
2373
+ * Specifies if the cardholder is in the ACTIVE state on the Marqeta platform.
2374
+ * @type {boolean}
2375
+ * @memberof CreateUserResponse
2376
+ */
2377
+ active?: boolean;
2378
+ /**
2379
+ * Cardholder\'s address.
2380
+ * @type {string}
2381
+ * @memberof CreateUserResponse
2382
+ */
2383
+ address1?: string;
2384
+ /**
2385
+ * Additional address information for the cardholder.
2386
+ * @type {string}
2387
+ * @memberof CreateUserResponse
2388
+ */
2389
+ address2?: string;
2390
+ /**
2391
+ * Cardholder\'s date of birth.
2392
+ * @type {string}
2393
+ * @memberof CreateUserResponse
2394
+ */
2395
+ birthDate?: string;
2396
+ /**
2397
+ * Unique identifier of the business resource.
2398
+ * @type {string}
2399
+ * @memberof CreateUserResponse
2400
+ */
2401
+ businessToken?: string;
2402
+ /**
2403
+ * City where the cardholder resides.
2404
+ * @type {string}
2405
+ * @memberof CreateUserResponse
2406
+ */
2407
+ city?: string;
2408
+ /**
2409
+ * Company name.
2410
+ * @type {string}
2411
+ * @memberof CreateUserResponse
2412
+ */
2413
+ company?: string;
2414
+ /**
2415
+ * Specifies if the cardholder holds a corporate card.
2416
+ * @type {boolean}
2417
+ * @memberof CreateUserResponse
2418
+ */
2419
+ corporateCardHolder?: boolean;
2420
+ /**
2421
+ * Country where the cardholder resides.
2422
+ * @type {string}
2423
+ * @memberof CreateUserResponse
2424
+ */
2425
+ country?: string;
2426
+ /**
2427
+ * Date and time when the resource was created, in UTC.
2428
+ * @type {string}
2429
+ * @memberof CreateUserResponse
2430
+ */
2431
+ createdTime?: string;
2432
+ /**
2433
+ * Valid email address of the cardholder.
2434
+ * @type {string}
2435
+ * @memberof CreateUserResponse
2436
+ */
2437
+ email?: string;
2438
+ /**
2439
+ * Cardholder\'s first name.
2440
+ * @type {string}
2441
+ * @memberof CreateUserResponse
2442
+ */
2443
+ firstName?: string;
2444
+ /**
2445
+ * Cardholder\'s IP address.
2446
+ * @type {string}
2447
+ * @memberof CreateUserResponse
2448
+ */
2449
+ ipAddress?: string;
2450
+ /**
2451
+ * Date and time when the resource was last updated, in UTC.
2452
+ * @type {string}
2453
+ * @memberof CreateUserResponse
2454
+ */
2455
+ lastModifiedTime?: string;
2456
+ /**
2457
+ * Cardholder\'s last name.
2458
+ * @type {string}
2459
+ * @memberof CreateUserResponse
2460
+ */
2461
+ lastName?: string;
2462
+ /**
2463
+ * Unique identifier of the parent user or business resource.
2464
+ * @type {string}
2465
+ * @memberof CreateUserResponse
2466
+ */
2467
+ parentToken?: string;
2468
+ /**
2469
+ * Cardholder\'s telephone number.
2470
+ * @type {string}
2471
+ * @memberof CreateUserResponse
2472
+ */
2473
+ phone?: string;
2474
+ /**
2475
+ * Postal code of the cardholder\'s address.
2476
+ * @type {string}
2477
+ * @memberof CreateUserResponse
2478
+ */
2479
+ postalCode?: string;
2480
+ /**
2481
+ * State or province where the cardholder resides.
2482
+ * @type {string}
2483
+ * @memberof CreateUserResponse
2484
+ */
2485
+ state?: string;
2486
+ /**
2487
+ * Specifies the status of the cardholder on the Marqeta platform.
2488
+ * @type {string}
2489
+ * @memberof CreateUserResponse
2490
+ */
2491
+ status?: CreateUserResponseStatusEnum;
2492
+ /**
2493
+ * Unique identifier of the cardholder.
2494
+ * @type {string}
2495
+ * @memberof CreateUserResponse
2496
+ */
2497
+ token?: string;
2498
+ /**
2499
+ * Indicates whether the child shares balances with the parent (true), or the child\'s balances are independent of the parent (false).
2500
+ * @type {boolean}
2501
+ * @memberof CreateUserResponse
2502
+ */
2503
+ usesParentAccount?: boolean;
2504
+ /**
2505
+ * United States ZIP code of the cardholder\'s address.
2506
+ * @type {string}
2507
+ * @memberof CreateUserResponse
2508
+ */
2509
+ zip?: string;
2510
+ };
2511
+ declare const CreateUserResponseStatusEnum: {
2512
+ readonly Unverified: "UNVERIFIED";
2513
+ readonly Limited: "LIMITED";
2514
+ readonly Active: "ACTIVE";
2515
+ readonly Suspended: "SUSPENDED";
2516
+ readonly Closed: "CLOSED";
2517
+ };
2518
+ type CreateUserResponseStatusEnum = (typeof CreateUserResponseStatusEnum)[keyof typeof CreateUserResponseStatusEnum];
2519
+
2520
+ declare const INVALID_ACCOUNT_HOLDER = "INVALID_ACCT";
2521
+ declare const mockCreateUserRequest: CreateUserRequest;
2522
+ declare const mockInvalidCreateUserRequest: CreateUserRequest;
2523
+ declare const mockCreatedUserResponse: CreateUserResponse;
2524
+ declare const getMockUserRequestToCreateResponse: (mockCreateUserAttributes: CreateUserRequest) => CreateUserResponse;
2525
+ declare const mockUpdateUserResponse: CreateUserResponse;
2526
+ declare const getMockUpdatedUserRequestToCreateResponse: (mockCreateUserAttributes: CreateUserRequest) => CreateUserResponse;
2527
+
2528
+ declare abstract class iUsersRepository {
2529
+ abstract getUser(): Promise<UserEntity>;
2530
+ abstract postCreateUser(createUserAttributes: CreateUserRequest): Promise<CreateUserResponse>;
2531
+ abstract putUpdateUser(updateUserAttributes: CreateUserRequest): Promise<CreateUserResponse>;
2532
+ }
2533
+
2534
+ declare const VALID_CUI_USER_RESPONSE: {
2535
+ token: string;
2536
+ active: boolean;
2537
+ created_time: string;
2538
+ first_name: string;
2539
+ middle_name: string;
2540
+ last_name: string;
2541
+ status: string;
2542
+ address1: string;
2543
+ address2: string;
2544
+ city: string;
2545
+ state: string;
2546
+ postal_code: string;
2547
+ country: string;
2548
+ };
2549
+ declare class MockiUsersRepository implements iUsersRepository {
2550
+ getUser(): Promise<UserEntity>;
2551
+ postCreateUser(mockCreateUserRequest: CreateUserRequest): Promise<CreateUserResponse>;
2552
+ putUpdateUser(mockUpdateUserRequest: CreateUserRequest): Promise<CreateUserResponse>;
2553
+ }
2554
+
2555
+ declare class GetUser {
2556
+ userRepository: iUsersRepository;
2557
+ execute(): Promise<UserEntity>;
2558
+ }
2559
+
2560
+ declare function postCreateUser(createUserAttributes: CreateUserRequest): Promise<CreateUserResponse>;
2561
+
2562
+ declare class PutUpdateUser {
2563
+ userRepository: iUsersRepository;
2564
+ execute(updateUserAttributes: CreateUserRequest): Promise<CreateUserResponse>;
2565
+ }
2566
+
2567
+ declare class RestUsersRepository implements iUsersRepository {
2568
+ private httpClient;
2569
+ private getEnvConfigValueByName;
2570
+ getUser(): Promise<UserEntity>;
2571
+ postCreateUser(createUserAttributes: CreateUserRequest): Promise<CreateUserResponse>;
2572
+ putUpdateUser(updateUserAttributes: CreateUserRequest): Promise<CreateUserResponse>;
2573
+ }
2574
+
2575
+ declare const usersIOCModule: ContainerModule;
2576
+
2577
+ declare const ITF_USERS: unique symbol;
2578
+ declare const INTR_GET_USER: unique symbol;
2579
+ declare const INTR_POST_CREATE_USER: unique symbol;
2580
+ declare const INTR_PUT_UPDATE_USER: unique symbol;
2581
+
2582
+ declare const mockUsersIOCModule: ContainerModule;
2583
+
2584
+ type GetAccountTransactionsRequest = {
2585
+ account_token: string;
2586
+ status?: Array<TransactionStatus$1>;
2587
+ start_index?: number;
2588
+ count?: number;
2589
+ };
2590
+ declare enum TransactionStatus$1 {
2591
+ PENDING = "PENDING",
2592
+ BLOCKED = "BLOCKED",
2593
+ FULFILLED = "FULFILLED",
2594
+ CANCELED = "CANCELED",
2595
+ REFUNDED = "REFUNDED"
2596
+ }
2597
+
2598
+ declare enum OnboardingStatus {
2599
+ CREATED = "CREATED",
2600
+ APPLICATION_SUBMITTED = "APPLICATION_SUBMITTED",
2601
+ APPLICATION_KYC = "APPLICATION_KYC",
2602
+ APPLICATION_APPROVED = "APPLICATION_APPROVED",
2603
+ APPLICATION_REJECTED = "APPLICATION_REJECTED",
2604
+ ACCOUNT_ACTIVATED = "ACCOUNT_ACTIVATED",
2605
+ ACCOUNT_VERIFIED = "ACCOUNT_VERIFIED",
2606
+ PHYSICAL_CARD_ORDERED = "PHYSICAL_CARD_ORDERED",
2607
+ PHYSICAL_CARD_PIN_SET = "PHYSICAL_CARD_PIN_SET",
2608
+ ACCOUNT_CLAIMED = "ACCOUNT_CLAIMED",
2609
+ ONBOARDING_COMPLETED = "ONBOARDING_COMPLETED"
2610
+ }
2611
+
2612
+ type UserResponse = {
2613
+ application_token?: string;
2614
+ email: string;
2615
+ external_user_id: string;
2616
+ first_name: string;
2617
+ initials?: string;
2618
+ kyc_url?: string;
2619
+ last_name: string;
2620
+ loyalty_tier?: LoyaltyTier;
2621
+ middle_name?: string;
2622
+ onboarding_status?: OnboardingStatus;
2623
+ phone_number?: string;
2624
+ role?: UserRole;
2625
+ status: WlaUserStatus;
2626
+ user_token: string;
2627
+ };
2628
+ declare enum LoyaltyTier {
2629
+ NOT_SET = "NOT_SET",
2630
+ GREEN = "GREEN",
2631
+ BLUE = "BLUE",
2632
+ GOLD = "GOLD",
2633
+ PLATINUM = "PLATINUM",
2634
+ DIAMOND = "DIAMOND"
2635
+ }
2636
+ declare enum UserRole {
2637
+ COURIER = "COURIER",
2638
+ DRIVER = "DRIVER"
2639
+ }
2640
+ declare enum WlaUserStatus {
2641
+ ONBOARDING = "ONBOARDING",
2642
+ ACTIVE = "ACTIVE",
2643
+ SUSPENDED = "SUSPENDED",
2644
+ TERMINATED = "TERMINATED"
2645
+ }
2646
+
2647
+ type CardRequest = {
2648
+ activation_actions?: ActivationActionsModel;
2649
+ bulk_issuance_token?: string;
2650
+ card_product_token: string;
2651
+ expedite?: boolean;
2652
+ fulfillment?: CardFulfillmentRequest;
2653
+ metadata?: {
2654
+ [key: string]: string;
2655
+ };
2656
+ new_pan_from_card_token?: string;
2657
+ reissue_pan_from_card_token?: string;
2658
+ token?: string;
2659
+ translate_pin_from_card_token?: string;
2660
+ };
2661
+ type CardFulfillmentRequest = {
2662
+ card_fulfillment_reason?: CardFulfillmentRequestCardFulfillmentReasonEnum;
2663
+ shipping?: Shipping;
2664
+ };
2665
+ declare enum CardFulfillmentRequestCardFulfillmentReasonEnum {
2666
+ NEW = "NEW",
2667
+ LOST_STOLEN = "LOST_STOLEN",
2668
+ EXPIRED = "EXPIRED"
2669
+ }
2670
+ declare enum ShippingMethodEnum {
2671
+ LOCAL_MAIL = "LOCAL_MAIL",
2672
+ LOCAL_MAIL_PACKAGE = "LOCAL_MAIL_PACKAGE",
2673
+ GROUND = "GROUND",
2674
+ TWO_DAY = "TWO_DAY",
2675
+ OVERNIGHT = "OVERNIGHT",
2676
+ INTERNATIONAL = "INTERNATIONAL",
2677
+ INTERNATIONAL_PRIORITY = "INTERNATIONAL_PRIORITY",
2678
+ LOCAL_PRIORITY = "LOCAL_PRIORITY",
2679
+ FEDEX_EXPEDITED = "FEDEX_EXPEDITED",
2680
+ FEDEX_REGULAR = "FEDEX_REGULAR",
2681
+ UPS_EXPEDITED = "UPS_EXPEDITED",
2682
+ UPS_REGULAR = "UPS_REGULAR",
2683
+ USPS_EXPEDITED = "USPS_EXPEDITED",
2684
+ USPS_REGULAR = "USPS_REGULAR"
2685
+ }
2686
+ type ActivationActionsModel = {
2687
+ swap_digital_wallet_tokens_from_card_token?: string;
2688
+ terminate_reissued_source_card?: boolean;
2689
+ };
2690
+ type Shipping = {
2691
+ care_of_line?: string;
2692
+ method?: ShippingMethodEnum;
2693
+ recipient_address?: FulfillmentAddressRequest;
2694
+ return_address?: FulfillmentAddressRequest;
2695
+ };
2696
+ type FulfillmentAddressRequest = {
2697
+ address1?: string;
2698
+ address2?: string;
2699
+ city?: string;
2700
+ country?: string;
2701
+ first_name?: string;
2702
+ last_name?: string;
2703
+ middle_name?: string;
2704
+ phone?: string;
2705
+ postal_code?: string;
2706
+ state?: string;
2707
+ zip?: string;
2708
+ };
2709
+ type CreateCardResponse = {
2710
+ data: {
2711
+ card_token: string;
2712
+ user: UserResponse;
2713
+ };
2714
+ };
2715
+
2716
+ type CardResponse = {
2717
+ '3csc'?: string;
2718
+ 'activation_actions'?: ActivationActions;
2719
+ 'barcode': string;
2720
+ 'bulk_issuance_token'?: string;
2721
+ 'card_art': CardResponseCardArt;
2722
+ 'card_product_token': string;
2723
+ 'chip_cvv_contactless_number'?: string;
2724
+ 'chip_cvv_number'?: string;
2725
+ 'contactless_exemption_counter'?: number;
2726
+ 'contactless_exemption_total_amount'?: number;
2727
+ 'created_time': string;
2728
+ 'cvv_number'?: string;
2729
+ 'expedite'?: boolean;
2730
+ 'expiration': string;
2731
+ 'expiration_time': string;
2732
+ 'fulfillment'?: CardFulfillmentResponse;
2733
+ 'fulfillment_status': CardResponseFulfillmentStatusEnum;
2734
+ 'instrument_type'?: CardResponseInstrumentTypeEnum;
2735
+ 'last_four': string;
2736
+ 'last_modified_time': string;
2737
+ 'metadata'?: {
2738
+ [key: string]: string;
2739
+ };
2740
+ 'new_pan_from_card_token'?: string;
2741
+ 'pan': string;
2742
+ 'pin_is_set': boolean;
2743
+ 'reissue_pan_from_card_token'?: string;
2744
+ 'state': CardResponseStateEnum;
2745
+ 'state_reason': string;
2746
+ 'token': string;
2747
+ 'translate_pin_from_card_token'?: string;
2748
+ 'user_token': string;
2749
+ };
2750
+ type CardResponseStateEnum = {
2751
+ Active: 'ACTIVE';
2752
+ Suspended: 'SUSPENDED';
2753
+ Terminated: 'TERMINATED';
2754
+ Unsupported: 'UNSUPPORTED';
2755
+ Unactivated: 'UNACTIVATED';
2756
+ Limited: 'LIMITED';
2757
+ };
2758
+ type CardResponseInstrumentTypeEnum = {
2759
+ PhysicalMsr: 'PHYSICAL_MSR';
2760
+ PhysicalIcc: 'PHYSICAL_ICC';
2761
+ PhysicalContactless: 'PHYSICAL_CONTACTLESS';
2762
+ PhysicalCombo: 'PHYSICAL_COMBO';
2763
+ VirtualPan: 'VIRTUAL_PAN';
2764
+ };
2765
+ type CardFulfillmentResponse = {
2766
+ card_fulfillment_reason?: CardFulfillmentResponseCardFulfillmentReasonEnum;
2767
+ shipping?: ShippingInformationResponse;
2768
+ };
2769
+ type CardFulfillmentResponseCardFulfillmentReasonEnum = {
2770
+ New: 'NEW';
2771
+ LostStolen: 'LOST_STOLEN';
2772
+ Expired: 'EXPIRED';
2773
+ };
2774
+ type ShippingInformationResponse = {
2775
+ care_of_line?: string;
2776
+ method?: ShippingInformationResponseMethodEnum;
2777
+ recipient_address?: FulfillmentAddressResponse;
2778
+ return_address?: FulfillmentAddressResponse;
2779
+ };
2780
+ type ShippingInformationResponseMethodEnum = {
2781
+ LocalMail: 'LOCAL_MAIL';
2782
+ LocalMailPackage: 'LOCAL_MAIL_PACKAGE';
2783
+ Ground: 'GROUND';
2784
+ TwoDay: 'TWO_DAY';
2785
+ Overnight: 'OVERNIGHT';
2786
+ International: 'INTERNATIONAL';
2787
+ InternationalPriority: 'INTERNATIONAL_PRIORITY';
2788
+ LocalPriority: 'LOCAL_PRIORITY';
2789
+ FedexExpedited: 'FEDEX_EXPEDITED';
2790
+ FedexRegular: 'FEDEX_REGULAR';
2791
+ UpsExpedited: 'UPS_EXPEDITED';
2792
+ UpsRegular: 'UPS_REGULAR';
2793
+ UspsExpedited: 'USPS_EXPEDITED';
2794
+ UspsRegular: 'USPS_REGULAR';
2795
+ };
2796
+ type FulfillmentAddressResponse = {
2797
+ address1?: string;
2798
+ address2?: string;
2799
+ city?: string;
2800
+ country?: string;
2801
+ first_name?: string;
2802
+ last_name?: string;
2803
+ middle_name?: string;
2804
+ phone?: string;
2805
+ postal_code?: string;
2806
+ state?: string;
2807
+ zip?: string;
2808
+ };
2809
+ type CardResponseFulfillmentStatusEnum = {
2810
+ Issued: 'ISSUED';
2811
+ Ordered: 'ORDERED';
2812
+ Reordered: 'REORDERED';
2813
+ Rejected: 'REJECTED';
2814
+ Shipped: 'SHIPPED';
2815
+ Delivered: 'DELIVERED';
2816
+ DigitallyPresented: 'DIGITALLY_PRESENTED';
2817
+ };
2818
+ type ActivationActions = {
2819
+ swap_digital_wallet_tokens_from_card_token?: string;
2820
+ terminate_reissued_source_card?: boolean;
2821
+ };
2822
+ type CardResponseCardArt = {
2823
+ back?: string;
2824
+ front?: string;
2825
+ };
2826
+
2827
+ type ExternalAccountListRequest = {
2828
+ count?: number;
2829
+ start_index?: number;
2830
+ sort_by?: string;
2831
+ status?: Array<ExternalAccountStatus$1>;
2832
+ };
2833
+ declare enum ExternalAccountStatus$1 {
2834
+ ACTIVE = "ACTIVE",
2835
+ SUSPENDED = "SUSPENDED",
2836
+ TERMINATED = "TERMINATED"
2837
+ }
2838
+
2839
+ type ExternalAccountResponse = {
2840
+ account_number?: string;
2841
+ alias?: string;
2842
+ bic?: string;
2843
+ business_name?: string;
2844
+ business_token?: string;
2845
+ country: string;
2846
+ created_time: string;
2847
+ currency: string;
2848
+ first_name?: string;
2849
+ iban?: string;
2850
+ last_modified_time: string;
2851
+ last_name?: string;
2852
+ override?: boolean;
2853
+ routing_number?: string;
2854
+ sort_code?: string;
2855
+ status: string;
2856
+ token: string;
2857
+ user_token?: string;
2858
+ verification_token?: string;
2859
+ };
2860
+
2861
+ declare enum ExternalAccountStatus {
2862
+ ACTIVE = "ACTIVE",
2863
+ SUSPENDED = "SUSPENDED",
2864
+ TERMINATED = "TERMINATED"
2865
+ }
2866
+ type ExternalAccountListResponse = {
2867
+ count: number;
2868
+ start_index: number;
2869
+ end_index: number;
2870
+ is_more: boolean;
2871
+ data: Array<ExternalAccountResponse>;
2872
+ };
2873
+
2874
+ type ExternalAccountRequest = {
2875
+ account_number: string;
2876
+ alias: string;
2877
+ bic?: string;
2878
+ business_name?: string;
2879
+ business_token?: string;
2880
+ country?: string;
2881
+ currency?: string;
2882
+ first_name: string;
2883
+ iban?: string;
2884
+ last_name: string;
2885
+ override_verification?: boolean;
2886
+ routing_number?: string;
2887
+ sort_code: string;
2888
+ token?: string;
2889
+ user_token?: string;
2890
+ verification_token: string;
2891
+ };
2892
+
2893
+ type SecondaryIdentification = {
2894
+ passport?: string;
2895
+ drivers_license?: string;
2896
+ id?: string;
2897
+ };
2898
+ type ExternalAccountVerificationRequest = {
2899
+ token?: string;
2900
+ business_name?: string;
2901
+ first_name?: string;
2902
+ last_name?: string;
2903
+ secondary_identification?: SecondaryIdentification;
2904
+ account_number: string;
2905
+ routing_number?: string;
2906
+ sort_code?: string;
2907
+ iban?: string;
2908
+ bic?: string;
2909
+ };
2910
+
2911
+ type ExternalAccountVerificationResponse = {
2912
+ token: string;
2913
+ business_token?: string;
2914
+ business_name?: string;
2915
+ user_token?: string;
2916
+ first_name?: string;
2917
+ last_name?: string;
2918
+ secondary_identification?: SecondaryIdentification;
2919
+ account_number?: string;
2920
+ sort_code?: string;
2921
+ routing_number?: string;
2922
+ iban?: string;
2923
+ bic?: string;
2924
+ country: string;
2925
+ currency: string;
2926
+ status: string;
2927
+ reason?: string;
2928
+ external_account_holder_name?: string;
2929
+ created_time: string;
2930
+ last_modified_time: string;
2931
+ };
2932
+
2933
+ type OfferListResponse = {
2934
+ count: number;
2935
+ end_index: number;
2936
+ is_more: boolean;
2937
+ start_index: number;
2938
+ data: Array<OfferSummaryResponse>;
2939
+ };
2940
+ type OfferSummaryResponse = {
2941
+ banner: string;
2942
+ headline: string;
2943
+ headline_background_colour: string;
2944
+ merchant_logo: string;
2945
+ merchant_name: string;
2946
+ token: string;
2947
+ };
2948
+ type OfferResponse = {
2949
+ banner: string;
2950
+ expiry_date: string;
2951
+ headline: string;
2952
+ headline_background_colour: string;
2953
+ is_active: boolean;
2954
+ merchant_logo: string;
2955
+ merchant_name: string;
2956
+ offerDetails: Array<OfferDetail>;
2957
+ terms_and_conditions: string;
2958
+ token: string;
2959
+ };
2960
+ type OfferDetail = {
2961
+ background_color?: string;
2962
+ description: string;
2963
+ icon?: string;
2964
+ };
2965
+
2966
+ type PushRegistrationRequest = {
2967
+ device_platform: PushRegistrationRequestDevicePlatformEnum;
2968
+ device_token: string;
2969
+ };
2970
+ declare enum PushRegistrationRequestDevicePlatformEnum {
2971
+ IOS = "IOS",
2972
+ ANDROID = "ANDROID"
2973
+ }
2974
+
2975
+ declare enum TransactionStatus {
2976
+ PENDING = "PENDING",
2977
+ BLOCKED = "BLOCKED",
2978
+ FULFILLED = "FULFILLED",
2979
+ CANCELED = "CANCELED",
2980
+ REFUNDED = "REFUNDED"
2981
+ }
2982
+ type TransactionListResponse = {
2983
+ count: number;
2984
+ end_index: number;
2985
+ is_more: boolean;
2986
+ start_index: number;
2987
+ data: Array<TransactionResponse>;
2988
+ };
2989
+ type TransactionResponse = {
2990
+ amount: number;
2991
+ created_on: string;
2992
+ currency_code?: string;
2993
+ description?: string;
2994
+ token: string;
2995
+ is_logo_visible?: boolean;
2996
+ merchant_logo?: string;
2997
+ merchant_name?: string;
2998
+ status: TransactionStatus;
2999
+ type: TransactionType;
3000
+ };
3001
+ declare enum TransactionType {
3002
+ PURCHASE = "PURCHASE",
3003
+ PAYOUT = "PAYOUT",
3004
+ TRANSFER = "TRANSFER"
3005
+ }
3006
+
3007
+ type UserProfileResponse = {
3008
+ data: {
3009
+ accounts?: Array<AccountResponse>;
3010
+ user: UserResponse;
3011
+ user_config?: UserConfigResponse;
3012
+ user_device?: {
3013
+ is_registered_for_push_notifications?: boolean;
3014
+ };
3015
+ };
3016
+ };
3017
+ type AccountResponse = {
3018
+ account_holder_name?: string;
3019
+ account_number?: string;
3020
+ balance: number;
3021
+ branch_code?: string;
3022
+ currency_code: string;
3023
+ token: string;
3024
+ last_four?: string;
3025
+ routing_number?: string;
3026
+ type: AccountType;
3027
+ };
3028
+ declare enum AccountType {
3029
+ CHECKING = "CHECKING",
3030
+ SAVINGS = "SAVINGS"
3031
+ }
3032
+ type UserConfigResponse = {
3033
+ is_cashback_enabled?: boolean;
3034
+ is_debit_enabled?: boolean;
3035
+ is_holiday_pay_enabled?: boolean;
3036
+ is_money_transfer_enabled?: boolean;
3037
+ is_offers_enabled?: boolean;
3038
+ is_physical_card_active?: boolean;
3039
+ is_savings_enabled?: boolean;
3040
+ is_virtual_card_active?: boolean;
3041
+ };
3042
+
3043
+ declare abstract class iWlaService {
3044
+ abstract createCard(requestBody: CardRequest): Promise<CreateCardResponse>;
3045
+ abstract createWlaExternalAccount(requestBody: ExternalAccountRequest): Promise<ExternalAccountResponse>;
3046
+ abstract deleteRegistrationForPushNotifications(): Promise<void>;
3047
+ abstract getAccountTransactions(requestBody: GetAccountTransactionsRequest): Promise<TransactionListResponse>;
3048
+ abstract getCardByToken(cardToken: string): Promise<CardResponse>;
3049
+ abstract getExternalAccountList(requestBody: ExternalAccountListRequest): Promise<ExternalAccountListResponse>;
3050
+ abstract getOfferDetails(offerId: string): Promise<OfferResponse>;
3051
+ abstract getOffers(): Promise<OfferListResponse>;
3052
+ abstract getUserProfileDetails(): Promise<UserProfileResponse>;
3053
+ abstract markAccountVerified(): Promise<{
3054
+ data: UserResponse;
3055
+ }>;
3056
+ abstract registerDeviceForPushNotifications(requestBody: PushRegistrationRequest): Promise<void>;
3057
+ abstract setAppConfig(appVersion: string, deviceId: string, clientIp: string): void;
3058
+ abstract setPin(cardToken: string, pin: string): Promise<{
3059
+ data: UserResponse;
3060
+ }>;
3061
+ abstract verifyExternalAccount(requestBody: ExternalAccountVerificationRequest): Promise<ExternalAccountVerificationResponse>;
3062
+ }
3063
+
3064
+ declare class RestWlaService implements iWlaService {
3065
+ private cacheService;
3066
+ private httpClient;
3067
+ private getEnvConfigValueByName;
3068
+ setAppConfig(appVersion: string, deviceId: string, clientIp: string): void;
3069
+ private getAppConfig;
3070
+ private getCommonWlaApiHeaders;
3071
+ getUserProfileDetails(): Promise<any>;
3072
+ createCard(requestBody: CardRequest): Promise<CreateCardResponse>;
3073
+ setPin(cardToken: string, pin: string): Promise<{
3074
+ data: UserResponse;
3075
+ }>;
3076
+ markAccountVerified(): Promise<{
3077
+ data: UserResponse;
3078
+ }>;
3079
+ registerDeviceForPushNotifications(requestBody: PushRegistrationRequest): Promise<void>;
3080
+ deleteRegistrationForPushNotifications(): Promise<void>;
3081
+ getOffers(): Promise<OfferListResponse>;
3082
+ getOfferDetails(offerId: string): Promise<OfferResponse>;
3083
+ getAccountTransactions(requestBody: GetAccountTransactionsRequest): Promise<TransactionListResponse>;
3084
+ getCardByToken(cardToken: string): Promise<CardResponse>;
3085
+ getExternalAccountList(requestBody: ExternalAccountListRequest): Promise<ExternalAccountListResponse>;
3086
+ createWlaExternalAccount(requestBody: ExternalAccountRequest): Promise<ExternalAccountResponse>;
3087
+ verifyExternalAccount(requestBody: ExternalAccountVerificationRequest): Promise<ExternalAccountVerificationResponse>;
3088
+ }
3089
+
3090
+ declare function createWlaCard(payload: CardRequest): Promise<CreateCardResponse>;
3091
+
3092
+ declare function createWlaExternalAccount(payload: ExternalAccountRequest): Promise<ExternalAccountResponse>;
3093
+
3094
+ declare function deleteRegistrationForPushNotifications(): Promise<void>;
3095
+
3096
+ declare function getAccountTransactions(requestBody: GetAccountTransactionsRequest): Promise<TransactionListResponse>;
3097
+
3098
+ declare function getOfferDetails(offerId: string): Promise<OfferResponse>;
3099
+
3100
+ declare function getOffers(): Promise<OfferListResponse>;
3101
+
3102
+ declare function getWlaCardByToken(cardToken: string): Promise<CardResponse>;
3103
+
3104
+ declare function getWlaUserProfile(): Promise<UserProfileResponse>;
3105
+
3106
+ declare function markAccountVerified(): Promise<{
3107
+ data: UserResponse;
3108
+ }>;
3109
+
3110
+ declare function registerDeviceForPushNotifications(requestBody: PushRegistrationRequest): Promise<void>;
3111
+
3112
+ declare function setWlaCardPin(cardToken: string, pin: string): Promise<{
3113
+ data: UserResponse;
3114
+ }>;
3115
+
3116
+ declare function setWlaConfig(appVersion: string, deviceId: string, clientIp: string): Promise<void>;
3117
+
3118
+ declare const WlaIocModule: ContainerModule;
3119
+
3120
+ declare const ITF_WLA_SERVICE: unique symbol;
3121
+
3122
+ declare const container: Container;
3123
+
3124
+ declare const reactNativeContainer: Container;
3125
+
3126
+ export { ACCOUNT_CLOSED_CUI_AUTH_TOKEN, ACCOUNT_LIMITED_CUI_AUTH_TOKEN, ACCOUNT_LOADING_CUI_AUTH_TOKEN, ACCOUNT_SUSPENDED_CUI_AUTH_TOKEN, ACCOUNT_UNVERIFIED_CUI_AUTH_TOKEN, ACTIVE_CARD_ACTIONS, ACTIVE_IOC_CONTAINER, ADDRESS_ISSUE_SSN, AUTH_REFRESH_INTERVAL_ID, AccountBalancesEntity, type AccountBalancesEntityJsonType, AccountHolderGroupEntity, type AccountHolderGroupEntityJsonType, type AccountResponse, AccountType, ActivateCardByTokenOrPan, type ActivationActions, type ActivationActionsModel, AddSourceCard, type AllStepsResponse, type ApiResponse, BAD_GENERAL_SSN, CUI_ENABLED_SHORT_CODE, type CardActionEntity, type CardActionsListEntity, CardEntity, type CardEntityJsonType, type CardFulfillmentRequest, CardFulfillmentRequestCardFulfillmentReasonEnum, type CardFulfillmentResponse, type CardFulfillmentResponseCardFulfillmentReasonEnum, type CardRequest, type CardResponse, type CardResponseCardArt, type CardResponseFulfillmentStatusEnum, type CardResponseInstrumentTypeEnum, type CardResponseStateEnum, CardStates, CardholderContextEntity, type CardholderContextEntityJsonType, CardholderVerificationMethods, CleanupOnUnload, type CreateCardResponse, type CreateUserRequest, type CreateUserRequestIdentificationsInner, CreateUserRequestIdentificationsInnerTypeEnum, type CreateUserResponse, CreateUserResponseStatusEnum, DEFAULT_THEME, DEPOSIT_ACCOUNTS_TERMINATED_CUI_AUTH_TOKEN, DOB_ISSUE_SSN, type DebugItem, DeleteDocumentForDispute, DepositAccountEntity, type DepositAccountEntityJsonType, type Dictionary, type DisputeSuccessResponse, DownloadDocumentForDispute, EMPTY_DEPOSIT_ACCOUNTS_CUI_AUTH_TOKEN, type EnvType, type ExternalAccountListRequest, type ExternalAccountListResponse, type ExternalAccountRequest, type ExternalAccountResponse, ExternalAccountStatus, type ExternalAccountVerificationRequest, type ExternalAccountVerificationResponse, FFLAGS_SESSION_STORAGE_KEY, FormField, type FulfillmentAddressRequest, type FulfillmentAddressResponse, GaMeasurementAnalyticsService, GetAccountBalances, GetAccountHolderGroup, type GetAccountTransactionsRequest, GetActiveEnvName, GetActiveTheme, GetAllStepsOfDispute, GetCachedAuthToken, GetCardByToken, GetCardsByUserToken, GetDepositAccounts, GetEnvConfigValueByName, GetIconsByName, GetLanguageCode, GetPinByCardToken, GetShowpanByCardToken, GetSourceCards, GetStatementAsset, GetStatements, GetStepOfDisputeByStepId, GetTransactionDetails, GetTransactions, type GetTransactionsResponse, GetUser, INTR_ACTIVATE_CARD_BY_TOKEN_OR_PAN, INTR_ADD_SOURCE_CARD, INTR_CLEANUP_ON_UNLOAD, INTR_DELETE_DOCUMENT_FOR_DISPUTE, INTR_DOWNLOAD_DOCUMENT_FOR_DISPUTE, INTR_GET_ACCT_BALANCE_BY_TOKEN, INTR_GET_ACCT_HOLDER_GRP_BY_TOKEN, INTR_GET_ACTIVE_ENV_NAME, INTR_GET_ACTIVE_THEME, INTR_GET_ALL_STEPS_OF_DISPUTE, INTR_GET_CACHED_AUTH_TOKEN, INTR_GET_CARDS_BY_USER_TOKEN, INTR_GET_CARD_BY_TOKEN, INTR_GET_CLIENT_ID, INTR_GET_DEPOSIT_ACCT_BY_TOKEN, INTR_GET_ENV_CONFIG_VALUE_BY_NAME, INTR_GET_ICONS, INTR_GET_LANGUAGE_CODE, INTR_GET_PIN_BY_CARD_TOKEN, INTR_GET_SESSION_ID, INTR_GET_SHOWPAN_BY_CARD_TOKEN, INTR_GET_SOURCE_CARDS, INTR_GET_STATEMENTS, INTR_GET_STATEMENT_ASSET, INTR_GET_STEP_OF_DISPUTE_BY_STEP_ID, INTR_GET_TRANSACTIONS, INTR_GET_TRANSACTIONS_V2, INTR_GET_TRANSACTION_DETAILS, INTR_GET_USER, INTR_INITIATE_FUNDING, INTR_IS_MOCK_MODE_ENABLED, INTR_LOCK_CARD_BY_TOKEN, INTR_POST_CREATE_USER, INTR_PUT_UPDATE_USER, INTR_REGISTER_CLEANUP_HANDLER, INTR_REMOVE_SOURCE_CARD, INTR_REPLACE_CARD_BY_TOKEN, INTR_RETRIEVE_DOCUMENT_FOR_DISPUTE, INTR_SET_ACTIVE_ENV_NAME, INTR_SET_ACTIVE_THEME_BY_NAME, INTR_SET_MOCK_MODE, INTR_START_DISPUTE, INTR_SUBMIT_ANS_DISPUTE, INTR_SUBMIT_DISPUTE, INTR_UNLOCK_CARD_BY_TOKEN, INTR_UPDATE_PIN_BY_CARD_TOKEN, INTR_UPLOAD_DOCUMENT_FOR_DISPUTE, INVALID_ACCOUNT_HOLDER, INVALID_CARD_DETAILS_CUI_AUTH_TOKEN, INVALID_CUI_AUTH_TOKEN, ITF_ACCOUNT_REPOSITORY, ITF_ANALYTICS_SERVICE, ITF_AUTH_SERVICE, ITF_CACHE_SERVICE, ITF_CARD_REPOSITORY, ITF_DISPUTES_REPOSITORY, ITF_ICONS_REPOSITORY, ITF_KYC, ITF_MONEY_MOVEMENT, ITF_PERSISTED_CACHE_SERVICE, ITF_REGISTRY_SERVICE, ITF_SESSION_SERVICE, ITF_STATEMENTS, ITF_STATEMENT_ASSET, ITF_THEME_REPOSITORY, ITF_TRANSACTIONS, ITF_USERS, ITF_WLA_SERVICE, type IconsObject, InitiateFunding, IsMockModeEnabled, type KycVerificationRequest, KycVerificationRequestIdentifierTypeEnum, type KycVerificationResponse, LIST_OF_ENABLED_COMPONENTS, LOADING_SSN, LocalStorageCacheService, LockCardByToken, LoyaltyTier, MOCK_AMOUNT_STEP_RESPONSE, MOCK_DELETE_DOCUMENTS_RESPONSE, MOCK_DISPUTE_ID, MOCK_DOCUMENT1, MOCK_DOCUMENT2, MOCK_DOCUMENT_ID1, MOCK_DOCUMENT_ID2, MOCK_FRAUD_STEP_RESPONSE, MOCK_GET_ALL_STEPS_RESPONSE, MOCK_INVALID_TRANSACTION_TOKEN, MOCK_RECOGNIZED_TRANSACTION_RESPONSE, MOCK_RETRIEVE_DOCUMENTS_RESPONSE, MOCK_START_DISPUTE_RESPONSE, MOCK_STATEMENT_ASSET_SIGNED_URL_PDF, MOCK_STEP1_RESPONSE, MOCK_STEP_COMPLETION_RESPONSE, MOCK_SUBMIT_DISPUTE_RESPONSE, MOCK_TRANSFORMED_ERROR_RESPONSE, MOCK_UPLOAD_DOCUMENTS_RESPONSE, type MetaProperties, MockAccountRepository, MockAnalyticsService, MockAuthService, MockCacheService, MockCardRepository, MockComponentsRepository, MockDisputesRepository, MockFeatureFlagService, MockGetEnvConfigValueByName, MockMoneyMovementRepository, MockPersistedCacheService, MockRegistryService, MockSessionService, MockThemeRepository, MockTransactionsRepository, MockiUsersRepository, MqSDKError, NAME_ISSUE_SSN, NOT_OK_CUI_AUTH_TOKEN, OBAC_ISSUE_SSN, type OfferListResponse, type OfferResponse, OnboardingStatus, type PinResponse, type PushRegistrationRequest, PushRegistrationRequestDevicePlatformEnum, PutUpdateUser, REFRESHED_CUI_AUTH_TOKEN, REPOSITORY_METHOD_FAILING_SHORT_CODE, ReactNativeAsyncStorageCacheService, RegisterCleanupHandler, RemoveSourceCard, ReplaceCardByToken, RestAuthService, RestComponentsRepository, RestKycRepository, RestUsersRepository, RestWlaService, RetrieveDocumentForDispute, SESSION_TTL, MOCK_USER as STATEMENTS_MOCK_USER, SUSPENDED_CARD_ACTIONS, type SecondaryIdentification, SessionStorageFeatureFlagService, SetActiveEnvName, SetActiveThemeByName, SetMockMode, type Shipping, type ShippingInformationResponse, type ShippingInformationResponseMethodEnum, ShippingMethodEnum, type SourceCardsListEntity, type SourceCardsRecordEntity, type SourceCardsResponseEntity, type StandardOkResponse, StandardizedError, StartDispute, type StatementAssetResponse, StatementAssetStateEnum, type StatementSummary, type StatementsPaginationParams, type StatementsResponse, type StepResponse, StubFeatureFlagService, SubmitAnswerForDisputeQuestion, type SubmitAnswerPayload, SubmitDispute, type SubmitDisputeSuccessResponse, type SuccessBaseResponse, TERMINATED_CARD_ACTIONS, TEST_ACTIVE_CARD, TEST_ACTIVE_CARD_VIRTUAL, TEST_CARD, TEST_CARDHOLDER_VERIFICATION_METHOD, TEST_CARD_ACTIONS, TEST_CARD_PRODUCT_TOKEN, TEST_CARD_TOKEN, TEST_CARD_TOKEN_INVALID, TEST_CARD_TOKEN_IS_ACTIVE, TEST_CARD_TOKEN_IS_ACTIVE_VIRTUAL, TEST_CARD_TOKEN_IS_EXPIRED, TEST_CARD_TOKEN_IS_SUSPENDED, TEST_CARD_TOKEN_IS_SUSPENDED_VIRTUAL, TEST_CARD_TOKEN_IS_TERMINATED, TEST_CARD_TOKEN_IS_UNACTIVATED, TEST_CARD_TOKEN_IS_VIRTUAL, TEST_CARD_TOKEN_LIMIT_EXCEEDED, TEST_CARD_TOKEN_LOADING, TEST_CLIENT_ID, TEST_CVV_NUMBER, TEST_DEPOSIT_ACCOUNT, TEST_EXPIRATION, TEST_OK_RESPONSE, TEST_PIN, TEST_SESSION_ID, TEST_SOURCE_CARD, TEST_SOURCE_CARDS_RESPONSE, TEST_SUSPENDED_CARD_VIRTUAL, TEST_THEME_NAME, TEST_THEME_OBJECT, TEST_USER_TOKEN, TEST_WEAK_PINS, type ThemeObject, type TransactionDetailsBannerData, TransactionDetailsBannerType, type TransactionDetailsRecord, type TransactionDetailsResponse, type TransactionListResponse, type TransactionRecord, TransactionRecordStatus, type TransactionResponse, TransactionStatus, TransactionType, type TransactionsPaginationParams, type TransactionsResponse, type UnlinkSourceCardResponse, UnlockCardByToken, UpdatePinByCardToken, type UpdatePinResponse, UploadDocumentForDispute, type UserAddressEntity, type UserConfigResponse, UserEntity, type UserEntityJsonType, type UserProfileResponse, type UserResponse, UserRole, type UserStatus, VALID_CUI_AUTH_TOKEN, VALID_CUI_USER_RESPONSE, VALID_PROGRAM_SHORT_CODE, VALID_USER_TOKEN_HASH, VanillaSessionService, WindowCacheService, WlaIocModule, WlaUserStatus, accountsIOCModule, authIOCModule, cardsIOCModule, commonIOCModule, componentsIOCModule, createWlaCard, createWlaExternalAccount, deepMergeThemeObject, deleteRegistrationForPushNotifications, development, disputesIOCModule, envConfigIOCModule, featureFlagIsEnabled, featureFlagsIOCModule, formatDateForApi, generateStatementsDateQueries, getAccountTransactions, getActiveIocContainer, getCardholderContext, getClientId, getMockUpdatedUserRequestToCreateResponse, getMockUserRequestToCreateResponse, getOfferDetails, getOffers, getSessionId, getUserProgram, getUserTokenHash, getWlaCardByToken, getWlaUserProfile, handleGetStatementAsset, handleGetStatements, iAccountRepository, iAnalyticsService, iAuthService, iCacheService, iCardRepository, iComponentsRepository, iDisputesRepository, iFeatureFlagService, iGetEnvConfigValueByName, iIconsRepository, iKycRepository, iMoneyMovementRepository, iPersistedCacheService, iRegistryService, iSessionService, iStatementsRepository, iThemeRepository, iTransactionsRepository, iUsersRepository, iconsIOCModule, isComponentEnabled, kycIOCModule, loadEnabledComponentsByShortCode, loadFeatureFlags, localhost, markAccountVerified, mockAccountBalances, mockAccountHolderGroup, mockAccountsIOCModule, mockAnalyticsIOCModule, mockAuthIOCModule, mockCardsIOCModule, mockCommonIOCModule, mockCreateUserRequest, mockCreatedUserResponse, mockDepositAccountJson, mockDisputesIOCModule, mockEnvConfigIOCModule, mockFeatureFlagIOCModule, mockInvalidCreateUserRequest, mockInvalidKycVerificationRequest, mockKycVerificationRequest, mockKycVerificationResponse, mockMode, mockMoneyMovementIOCModule, mockSourceCards, mockThemesIOCModule, mockUpdateUserResponse, mockUsersIOCModule, moneyMovementIOCModule, mswAccountHandlers, mswAnalyticsHandlers, mswAuthHandlers, mswCardsHandlers, mswComponentsHandlers, mswDisputesHandlers, mswKycHandlers, mswSourceCardsHandler, mswStatementsHandlers, mswTransactionsHandlers, mswUsersHandlers, postCreateUser, postVerifyKyc, production, qa, reactNativeCommonIOCModule, reactNativeFeatureFlagsIOCModule, reactNativeContainer as reactNativeSdkJsContainer, registerDeviceForPushNotifications, container as sdkJsContainer, setActiveIocContainer, setCachedAuthToken, setWlaCardPin, setWlaConfig, startAuthTokenRefreshPolling, statementsIOCModule, themesIOCModule, toDateType, trackEvent, transactionsIOCModule, usersIOCModule };