@kalamba/sdk 0.30.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,525 @@
1
+ /**
2
+ * BSD 3-Clause License
3
+ * Copyright (c) 2026, Kalamba Games Limited
4
+ */
5
+ //#region ../../libs/common/src/utils/format/currency.d.ts
6
+ declare enum CurrencyFormat {
7
+ Currency = "Currency",
8
+ Number = "Number"
9
+ }
10
+ declare enum CurrencyNumber {
11
+ Coins = "Coins",
12
+ Money = "Money"
13
+ }
14
+ interface FormatCurrencyOptions {
15
+ as?: CurrencyFormat;
16
+ from?: CurrencyNumber;
17
+ }
18
+ //#endregion
19
+ //#region src/common/errors.d.ts
20
+ declare const RgsErrorCode: {
21
+ readonly CONNECTION_ERROR: "CONNECTION_ERROR";
22
+ readonly INVALID_BET_CURRENCY: "INVALID_BET_CURRENCY";
23
+ readonly INVALID_BET: "INVALID_BET";
24
+ readonly INVALID_CAGE_CODE: "INVALID_CAGE_CODE";
25
+ readonly INVALID_CLIENT_TYPE: "INVALID_CLIENT_TYPE";
26
+ readonly INVALID_MESSAGE_FORMAT: "INVALID_MESSAGE_FORMAT";
27
+ readonly INVALID_SESSION: "INVALID_SESSION";
28
+ readonly TOO_HIGH_BET_FREQUENCY: "TOO_HIGH_BET_FREQUENCY";
29
+ readonly TOO_HIGH_ACTION_FREQUENCY: "TOO_HIGH_ACTION_FREQUENCY";
30
+ readonly USER_LOCK_INVALID_PARAMS: "USER_LOCK_INVALID_PARAMS";
31
+ readonly USER_ALREADY_LOCKED: "USER_ALREADY_LOCKED";
32
+ readonly GAME_SERVER_ERROR: "GAME_SERVER_ERROR";
33
+ readonly SESSION_MANAGEMENT_ERROR: "SESSION_MANAGEMENT_ERROR";
34
+ readonly MESSAGE_SENDER_ERROR: "MESSAGE_SENDER_ERROR";
35
+ readonly FREE_ROUNDS_PROCESSING_ERROR: "FREE_ROUNDS_PROCESSING_ERROR";
36
+ readonly WEB_SESSION_NOT_OPEN: "WEB_SESSION_NOT_OPEN";
37
+ readonly GAMING_LIMITS_REACHED: "GAMING_LIMITS_REACHED";
38
+ readonly OUT_OF_MONEY: "OUT_OF_MONEY";
39
+ readonly UNFINISHED_ROUND_IN_PROGRESS: "UNFINISHED_ROUND_IN_PROGRESS";
40
+ readonly ACCESS_DENIED: "ACCESS_DENIED";
41
+ readonly CREDENTIALS_NOT_FOUND: "CREDENTIALS_NOT_FOUND";
42
+ readonly ALREADY_LOGGED_IN: "ALREADY_LOGGED_IN";
43
+ readonly GAME_UNAVAILABLE: "GAME_UNAVAILABLE";
44
+ readonly BONUS_RESTRICTION: "BONUS_RESTRICTION";
45
+ readonly TOO_MANY_OPEN_GAMES: "TOO_MANY_OPEN_GAMES";
46
+ readonly GAME_FROZEN: "GAME_FROZEN";
47
+ readonly WALLET_PROCESSING_ERROR: "WALLET_PROCESSING_ERROR";
48
+ readonly FORCED_OUTCOMES_NOT_ALLOWED: "FORCED_OUTCOMES_NOT_ALLOWED";
49
+ readonly MISSING_GAME_STATE: "MISSING_GAME_STATE";
50
+ readonly DATA_ACCESS_ERROR: "DATA_ACCESS_ERROR";
51
+ readonly UNKNOWN: "UNKNOWN";
52
+ };
53
+ declare class RgsError extends Error {
54
+ data: RgsErrorData;
55
+ constructor(data: RgsErrorData);
56
+ }
57
+ declare class TimeoutError extends Error {
58
+ constructor();
59
+ }
60
+ //#endregion
61
+ //#region src/utils.d.ts
62
+ type PrefixKeys<Base, Prefix extends string> = { [Key in keyof Base as `${Prefix}:${string & Key}`]: Base[Key] };
63
+ type PrefixTypes<Types, Prefix extends string> = `${Prefix}:${Types}`;
64
+ type DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T;
65
+ type NestedRecord<K extends string | number | symbol, V> = { [k in K]: V | NestedRecord<K, V> };
66
+ //#endregion
67
+ //#region src/types.d.ts
68
+ type WrapperConfig = {
69
+ gameName: string;
70
+ gameVersion: string;
71
+ gameHistoryUrl?: string;
72
+ showFreeRounds: boolean;
73
+ showPromoPanel: boolean;
74
+ showRealityCheck: boolean;
75
+ showErrors: boolean;
76
+ showBars: boolean;
77
+ skipErrors: ((typeof RgsErrorCode)[keyof typeof RgsErrorCode] | 'TIMEOUT')[];
78
+ };
79
+ type WrapperState = {
80
+ isSdkConfigured: boolean;
81
+ balance: number;
82
+ bet: Bet;
83
+ openGameResponse?: OpenGameResponse['contract'];
84
+ lastPlayResponse?: PlayResponse['contract'];
85
+ freeRoundId?: string;
86
+ };
87
+ type AutoplayLimit = {
88
+ enabled: boolean;
89
+ showNoLimit: boolean;
90
+ showCustomLimit: boolean;
91
+ options: number[];
92
+ };
93
+ type RealityCheckConfig = {
94
+ sessionDurationPeriodFormat: 'seconds' | 'minutes' | 'hours';
95
+ showCloseGame: boolean;
96
+ showHistory: boolean;
97
+ showNetPosition: boolean;
98
+ showSessionDuration: boolean;
99
+ showSumBets: boolean;
100
+ showSumWins: boolean;
101
+ };
102
+ type CashierConfig = {
103
+ enabled: boolean;
104
+ balanceThreshold: number[];
105
+ };
106
+ interface SdkConfig {
107
+ api: {
108
+ brand: string;
109
+ cashierUrl?: string;
110
+ coinValueInCents: number;
111
+ country: string;
112
+ currency: string;
113
+ game: string;
114
+ gameHistoryUrl: string;
115
+ homeUrl?: string;
116
+ integration: string;
117
+ integrationData?: unknown;
118
+ jurisdiction: string | null;
119
+ playMode: 'FUN' | 'REAL';
120
+ user: string;
121
+ sessionId: string;
122
+ backendSessionId?: string;
123
+ };
124
+ ui: {
125
+ autoplay: {
126
+ enabled: boolean;
127
+ rounds: AutoplayLimit;
128
+ lossLimit: AutoplayLimit;
129
+ winLimit: AutoplayLimit;
130
+ simple: boolean;
131
+ stopOnFeature: boolean;
132
+ };
133
+ cashier: CashierConfig;
134
+ feature: {
135
+ allowTelemetry: boolean;
136
+ allowFullscreen: boolean;
137
+ allowGamble: boolean;
138
+ allowQuickStop: boolean;
139
+ showCashier: boolean;
140
+ showClock: boolean;
141
+ showCloseGame: boolean;
142
+ showCurrency: boolean;
143
+ showFastPlay: boolean;
144
+ showFeatureBuy: boolean;
145
+ showFeatureIntro: boolean;
146
+ showFeatureOutro: boolean;
147
+ showFunModeBanner: boolean;
148
+ showHistory: boolean;
149
+ showLowWinCelebration: boolean;
150
+ showMaximumWin: boolean;
151
+ showNetPosition: boolean;
152
+ showPaylineLines: boolean;
153
+ showPaytable: boolean;
154
+ showRoundId: boolean;
155
+ showRtp: boolean;
156
+ showRules: boolean;
157
+ showSessionDuration: boolean;
158
+ showUi: boolean;
159
+ };
160
+ language: string;
161
+ minimumSpinDuration: number;
162
+ requestTimeoutMs: number;
163
+ incompleteGameResolution: {
164
+ type: 'NONE' | 'MANUAL';
165
+ } | {
166
+ daysToAutoResolution: number;
167
+ type: 'AUTOMATIC';
168
+ };
169
+ realityCheck: RealityCheckConfig;
170
+ skipInsufficientFundsCheck: boolean;
171
+ skipSplash: boolean;
172
+ cheatPanel: boolean;
173
+ };
174
+ }
175
+ type Bet = {
176
+ base: number;
177
+ multiplier: number;
178
+ };
179
+ type Settings = {
180
+ fastPlay?: boolean;
181
+ sounds?: boolean;
182
+ music?: boolean;
183
+ };
184
+ type History = {
185
+ source: 'realityCheck' | 'settings' | 'casino';
186
+ };
187
+ type Cashier = {
188
+ type: 'ON_DEMAND' | 'BALANCE_LOW' | 'BALANCE_INSUFFICIENT';
189
+ };
190
+ type FreeRound = {
191
+ conf: {
192
+ base: number;
193
+ multiplier: number;
194
+ numAwarded: number;
195
+ };
196
+ data: {
197
+ numPlayed: number;
198
+ win: number;
199
+ numLeft: number;
200
+ };
201
+ id: string;
202
+ rejectable: boolean;
203
+ skippable: boolean;
204
+ status: 'PENDING' | 'ACTIVE' | 'FINISHED';
205
+ type: string;
206
+ };
207
+ type FreeRoundsAction = {
208
+ action: 'ACCEPT' | 'DECLINE' | 'SKIP';
209
+ id: string;
210
+ };
211
+ type SdkError = {
212
+ messageCode: string;
213
+ type: 'CLOSE' | 'RELOAD' | 'CONTINUE';
214
+ } & ({
215
+ message: string;
216
+ } | {
217
+ messageKey: string;
218
+ });
219
+ type OpenGameResponse = {
220
+ contract: {
221
+ bet: {
222
+ available: Record<number, number[]>;
223
+ default: Bet;
224
+ max: number | null;
225
+ last: Bet | null;
226
+ lastPaid: Bet | null;
227
+ };
228
+ balance: {
229
+ coins: number;
230
+ version: number;
231
+ };
232
+ freeRounds: FreeRound[];
233
+ gameModel: string;
234
+ metaData: {
235
+ rtpValues: {
236
+ key: string;
237
+ rtpValue: string;
238
+ }[];
239
+ maxWin: {
240
+ key: string;
241
+ maxWinValueXBet: number;
242
+ maxWinOdds: number;
243
+ }[];
244
+ version: string;
245
+ };
246
+ roundId?: string;
247
+ serverTime: number;
248
+ sessionId: string;
249
+ stateType: {
250
+ thisRound: string;
251
+ nextRound: string;
252
+ };
253
+ uiMessages: unknown[];
254
+ win: {
255
+ max: number | null;
256
+ round: number;
257
+ total: number;
258
+ };
259
+ };
260
+ data: unknown;
261
+ };
262
+ type PlayRequest = {
263
+ contract: ContractPlayPayload;
264
+ extra?: unknown;
265
+ };
266
+ type PlayRequestEnhanced = PlayRequest & {
267
+ payloadToInject?: Record<string, unknown>;
268
+ };
269
+ type ContractPlayPayload = {
270
+ [key: string]: any;
271
+ bet: Bet | null;
272
+ forcedOutcomes?: unknown;
273
+ };
274
+ type PlayResponse = {
275
+ contract: {
276
+ bet: {
277
+ last: Bet | null;
278
+ lastPaid: Bet;
279
+ };
280
+ balance: {
281
+ coins: number;
282
+ version: number;
283
+ };
284
+ freeRounds: FreeRound[];
285
+ roundId: string;
286
+ serverTime: number;
287
+ stateType: {
288
+ thisRound: string;
289
+ nextRound: string;
290
+ };
291
+ uiMessages: unknown[];
292
+ win: {
293
+ round: number;
294
+ total: number;
295
+ };
296
+ };
297
+ data: unknown;
298
+ };
299
+ type FreeRoundsRequest = {
300
+ id: string;
301
+ action: 'ACCEPT' | 'DECLINE' | 'SKIP';
302
+ };
303
+ type FreeRoundsResponse = {
304
+ action: 'ACCEPT' | 'DECLINE' | 'SKIP';
305
+ id: string;
306
+ };
307
+ type GetBalanceResponse = {
308
+ balance: number;
309
+ };
310
+ type RgsErrorData = {
311
+ code: keyof typeof RgsErrorCode;
312
+ details?: unknown;
313
+ };
314
+ type RgsErrorWithType = {
315
+ type: 'timeout';
316
+ } | {
317
+ type: 'error';
318
+ data: RgsErrorData;
319
+ };
320
+ type SdkOnlyMessagePayloadMap = {
321
+ configure: Partial<WrapperConfig>;
322
+ autoplay: {
323
+ action: 'start' | 'stop' | 'pause' | 'resume';
324
+ };
325
+ bet: Bet;
326
+ cashier: Cashier;
327
+ choice: {
328
+ message: string;
329
+ options: {
330
+ id: string;
331
+ label: string;
332
+ }[];
333
+ };
334
+ close: never;
335
+ error: SdkError;
336
+ fullscreen: {
337
+ lock?: OrientationLockType;
338
+ };
339
+ history: History;
340
+ loadEnd: never;
341
+ loadProgress: {
342
+ progress: number;
343
+ };
344
+ loadStart: never;
345
+ openGame: never;
346
+ play: PlayRequest;
347
+ playCycleEnd: PlayResponse;
348
+ playCycleStart: ContractPlayPayload;
349
+ playEnd: PlayResponse;
350
+ playReady: never;
351
+ playStart: ContractPlayPayload;
352
+ /**
353
+ * ```typescript
354
+ * {
355
+ * my_custom_error: 'Something went wrong',
356
+ * RgsError: {
357
+ * OUT_OF_MONEY: 'You are out of credits',
358
+ * }
359
+ * }
360
+ * ```
361
+ */
362
+ translations: NestedRecord<string, string>;
363
+ settings: Settings;
364
+ 'telemetry.click': {
365
+ location: string;
366
+ name: string;
367
+ };
368
+ 'telemetry.orientationChange': never;
369
+ freeRounds: FreeRoundsAction;
370
+ freeRoundsPopup: never;
371
+ };
372
+ type WrapperOnlyMessagePayloadMap = {
373
+ bet: Bet;
374
+ cashier: Cashier;
375
+ close: never;
376
+ configured: SdkConfig;
377
+ error: SdkError;
378
+ freeze: never;
379
+ history: History;
380
+ resume: never;
381
+ state: WrapperState;
382
+ suspend: never;
383
+ unfreeze: never;
384
+ legalBets: Record<number, number[]>;
385
+ play: PlayRequestEnhanced;
386
+ freeRounds: FreeRoundsAction;
387
+ freeRoundsOffer: FreeRound;
388
+ freeRoundsInfo: FreeRound;
389
+ freeRoundsComplete: FreeRound;
390
+ freeRoundsPopup: never;
391
+ };
392
+ type CasinoOnlyMessagePayloadMap = {
393
+ balance: {
394
+ balance: number;
395
+ };
396
+ bet: Bet;
397
+ cashier: Cashier;
398
+ choice: {
399
+ id: string;
400
+ };
401
+ close: never;
402
+ freeze: never;
403
+ getBalance: never;
404
+ help?: {
405
+ show: boolean;
406
+ };
407
+ history: History;
408
+ paytable?: {
409
+ show: boolean;
410
+ };
411
+ play: PlayRequest;
412
+ resume: never;
413
+ settings: Settings;
414
+ suspend: never;
415
+ unfreeze: never;
416
+ translations: NestedRecord<string, string>;
417
+ };
418
+ type RgsOnlyMessagePayloadMap = {
419
+ error: SdkError;
420
+ openGameError: RgsErrorWithType;
421
+ openGameResponse: OpenGameResponse;
422
+ playError: RgsErrorWithType;
423
+ playResponse: PlayResponse;
424
+ freeRoundsResponse: FreeRoundsResponse;
425
+ freeRoundsError: RgsErrorWithType;
426
+ realityCheck: {
427
+ duration: number;
428
+ sumBetAmount: number;
429
+ sumWinAmount: number;
430
+ };
431
+ balance: {
432
+ balance: number;
433
+ };
434
+ };
435
+ type TelemetryOnlyMessagePayloadMap = {
436
+ [key: string]: unknown;
437
+ };
438
+ type ToSdkForwardedMessageMap = Pick<CasinoOnlyMessagePayloadMap, 'balance' | 'bet' | 'choice' | 'freeze' | 'help' | 'paytable' | 'resume' | 'settings' | 'suspend' | 'unfreeze'> & Pick<RgsOnlyMessagePayloadMap, 'balance' | 'realityCheck' | 'openGameError' | 'openGameResponse' | 'playError' | 'playResponse'>;
439
+ type ToCasinoPluginsForwardedMessageMap = {
440
+ sdk: Pick<SdkOnlyMessagePayloadMap, 'autoplay' | 'bet' | 'cashier' | 'choice' | 'close' | 'configure' | 'error' | 'history' | 'loadEnd' | 'loadProgress' | 'loadStart' | 'openGame' | 'play' | 'playCycleEnd' | 'playCycleStart' | 'playEnd' | 'playReady' | 'playStart' | 'settings' | 'fullscreen'>;
441
+ casino: undefined;
442
+ rgs: Pick<RgsOnlyMessagePayloadMap, 'balance' | 'playResponse' | 'playError' | 'openGameResponse'>;
443
+ telemetry: undefined;
444
+ wrapper: undefined;
445
+ };
446
+ type ToRgsPluginsForwardedMessageMap = {
447
+ sdk: Pick<SdkOnlyMessagePayloadMap, 'history' | 'openGame' | 'play'>;
448
+ casino: Pick<CasinoOnlyMessagePayloadMap, 'play' | 'cashier' | 'close' | 'history' | 'getBalance'>;
449
+ rgs: undefined;
450
+ telemetry: undefined;
451
+ wrapper: undefined;
452
+ };
453
+ type ToTelemetryPluginsForwardedMessageMap = {
454
+ sdk: Pick<SdkOnlyMessagePayloadMap, 'autoplay' | 'error' | 'loadStart' | 'loadProgress' | 'loadEnd' | 'playCycleStart' | 'playCycleEnd' | 'settings' | 'telemetry.click' | 'telemetry.orientationChange'>;
455
+ casino: undefined;
456
+ rgs: Pick<RgsOnlyMessagePayloadMap, 'openGameResponse' | 'openGameError' | 'playResponse' | 'playError'>;
457
+ telemetry: undefined;
458
+ wrapper: undefined;
459
+ };
460
+ interface ForwardToPluginsMessageMap<SourceDomain extends DomainPrefix> {
461
+ casino: ToCasinoPluginsForwardedMessageMap[SourceDomain];
462
+ rgs: ToRgsPluginsForwardedMessageMap[SourceDomain];
463
+ telemetry: ToTelemetryPluginsForwardedMessageMap[SourceDomain];
464
+ }
465
+ type PluginDomain = keyof ForwardToPluginsMessageMap<any>;
466
+ type ForwardToPluginsMessage<P extends PluginDomain> = keyof ForwardToPluginsMessageMap<'sdk'>[P] | keyof ForwardToPluginsMessageMap<'rgs'>[P] | keyof ForwardToPluginsMessageMap<'casino'>[P] | keyof ForwardToPluginsMessageMap<'telemetry'>[P] | keyof ForwardToPluginsMessageMap<'wrapper'>[P];
467
+ type PrefixedForwardToPluginsMessage<P extends PluginDomain> = PrefixTypes<keyof ForwardToPluginsMessageMap<'sdk'>[P], 'sdk'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'rgs'>[P], 'rgs'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'casino'>[P], 'casino'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'telemetry'>[P], 'telemetry'> | PrefixTypes<keyof ForwardToPluginsMessageMap<'wrapper'>[P], 'wrapper'>;
468
+ type ForwardToPluginsMessagePayload<P extends PluginDomain, M extends ForwardToPluginsMessage<P>> = ForwardToPluginsMessageMap<'sdk'>[P][M] & ForwardToPluginsMessageMap<'rgs'>[P][M] & ForwardToPluginsMessageMap<'casino'>[P][M] & ForwardToPluginsMessageMap<'telemetry'>[P][M] & ForwardToPluginsMessageMap<'wrapper'>[P][M];
469
+ type ForwardToSdkMessage = keyof ToSdkForwardedMessageMap;
470
+ type ForwardToSdkMessagePayload<M extends ForwardToSdkMessage> = ToSdkForwardedMessageMap[M];
471
+ type DomainToMessagePayloadMap = {
472
+ sdk: SdkOnlyMessagePayloadMap;
473
+ wrapper: WrapperOnlyMessagePayloadMap;
474
+ casino: CasinoOnlyMessagePayloadMap;
475
+ rgs: RgsOnlyMessagePayloadMap;
476
+ telemetry: TelemetryOnlyMessagePayloadMap;
477
+ };
478
+ type DomainPrefix = keyof DomainToMessagePayloadMap & string;
479
+ type DomainAllowedPayloadMap<P extends DomainPrefix> = DomainToMessagePayloadMap[P];
480
+ type DomainMessage<P extends DomainPrefix> = keyof DomainAllowedPayloadMap<P>;
481
+ type DomainMessagePayload<P extends DomainPrefix, M extends DomainMessage<P>> = DomainAllowedPayloadMap<P>[M];
482
+ type DomainMessageMessageEvent<P extends DomainPrefix, M extends DomainMessage<P>> = MessageEvent<{
483
+ message: M;
484
+ payload: DomainMessagePayload<P, M>;
485
+ }>;
486
+ type PrefixedMessagePayloadMap<P extends DomainPrefix> = PrefixKeys<DomainToMessagePayloadMap[P], P>;
487
+ type PrefixedMessageMap = PrefixedMessagePayloadMap<'sdk'> & PrefixedMessagePayloadMap<'wrapper'> & PrefixedMessagePayloadMap<'casino'> & PrefixedMessagePayloadMap<'rgs'> & PrefixedMessagePayloadMap<'telemetry'>;
488
+ type PrefixedMessage = keyof PrefixedMessageMap;
489
+ type PrefixedMessagePayload<M extends PrefixedMessage> = PrefixedMessageMap[M];
490
+ type PrefixedMessageMessageEvent<M extends PrefixedMessage> = MessageEvent<{
491
+ message: M;
492
+ payload: PrefixedMessagePayload<M>;
493
+ }>;
494
+ type MessageMap = DomainAllowedPayloadMap<'sdk'> & DomainAllowedPayloadMap<'wrapper'> & DomainAllowedPayloadMap<'casino'> & DomainAllowedPayloadMap<'rgs'> & DomainAllowedPayloadMap<'telemetry'> & PrefixedMessageMap;
495
+ type Message = keyof MessageMap;
496
+ type MessagePayload<M extends Message> = MessageMap[M];
497
+ type MessageMessageEvent<M extends Message> = MessageEvent<{
498
+ message: M;
499
+ payload: MessagePayload<M>;
500
+ }>;
501
+ type RgsResponse<M extends DomainMessage<'sdk'>> = {
502
+ type: 'response';
503
+ response: `${M}Response` extends DomainMessage<'rgs'> ? DomainMessagePayload<'rgs', `${M}Response`> : never;
504
+ } | {
505
+ type: 'error';
506
+ error: `${M}Error` extends DomainMessage<'rgs'> ? DomainMessagePayload<'rgs', `${M}Error`> : never;
507
+ };
508
+ //#endregion
509
+ //#region src/common/i18n.d.ts
510
+ declare class I18n {
511
+ #private;
512
+ constructor({
513
+ config
514
+ }: {
515
+ config: SdkConfig;
516
+ });
517
+ formatNumber(number: string | number, formatOptions?: Intl.NumberFormatOptions): string;
518
+ formatCurrency(number: string | number, options?: FormatCurrencyOptions, formatOptions?: Intl.NumberFormatOptions): string;
519
+ formatCoins(amount: number | string, formatOptions?: Intl.NumberFormatOptions): string;
520
+ formatCoinsWithCurrency(amount: number | string, formatOptions?: Intl.NumberFormatOptions): string;
521
+ formatMoney(amount: number | string, formatOptions?: Intl.NumberFormatOptions): string;
522
+ formatMoneyWithCurrency(amount: number | string, formatOptions?: Intl.NumberFormatOptions): string;
523
+ }
524
+ //#endregion
525
+ export { ToTelemetryPluginsForwardedMessageMap as $, PlayRequest as A, RealityCheckConfig as B, GetBalanceResponse as C, MessageMessageEvent as D, MessageMap as E, PrefixedMessage as F, SdkConfig as G, RgsErrorWithType as H, PrefixedMessageMap as I, Settings as J, SdkError as K, PrefixedMessageMessageEvent as L, PlayResponse as M, PluginDomain as N, MessagePayload as O, PrefixedForwardToPluginsMessage as P, ToSdkForwardedMessageMap as Q, PrefixedMessagePayload as R, FreeRoundsResponse as S, Message as T, RgsOnlyMessagePayloadMap as U, RgsErrorData as V, RgsResponse as W, ToCasinoPluginsForwardedMessageMap as X, TelemetryOnlyMessagePayloadMap as Y, ToRgsPluginsForwardedMessageMap as Z, ForwardToSdkMessage as _, CashierConfig as a, RgsErrorCode as at, FreeRoundsAction as b, DomainAllowedPayloadMap as c, CurrencyNumber as ct, DomainMessagePayload as d, WrapperConfig as et, DomainPrefix as f, ForwardToPluginsMessagePayload as g, ForwardToPluginsMessageMap as h, Cashier as i, RgsError as it, PlayRequestEnhanced as j, OpenGameResponse as k, DomainMessage as l, FormatCurrencyOptions as lt, ForwardToPluginsMessage as m, AutoplayLimit as n, WrapperState as nt, CasinoOnlyMessagePayloadMap as o, TimeoutError as ot, DomainToMessagePayloadMap as p, SdkOnlyMessagePayloadMap as q, Bet as r, DeepPartial as rt, ContractPlayPayload as s, CurrencyFormat as st, I18n as t, WrapperOnlyMessagePayloadMap as tt, DomainMessageMessageEvent as u, ForwardToSdkMessagePayload as v, History as w, FreeRoundsRequest as x, FreeRound as y, PrefixedMessagePayloadMap as z };