@betorigami/games 0.7.15 → 0.7.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +543 -98
  2. package/dist/index.mjs +2351 -1945
  3. package/package.json +1 -2
package/dist/index.d.ts CHANGED
@@ -6,9 +6,21 @@ import BigNumber from 'bignumber.js';
6
6
  import { CSSResult, LitElement, PropertyValues } from 'lit';
7
7
 
8
8
  declare enum Currency {
9
- BTC = "BTC",
10
- ETH = "ETH",
11
- USDC = "USDC"
9
+ USD = "USD",
10
+ EUR = "EUR",
11
+ ARS = "ARS",
12
+ AUD = "AUD",
13
+ BRL = "BRL",
14
+ CAD = "CAD",
15
+ CNY = "CNY",
16
+ INR = "INR",
17
+ JPY = "JPY",
18
+ MXN = "MXN",
19
+ NGN = "NGN",
20
+ NOK = "NOK",
21
+ NZD = "NZD",
22
+ RUB = "RUB",
23
+ TRY = "TRY"
12
24
  }
13
25
  export type EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>> ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>> ? never : Partial<GlobalEventHandlersEventMap[T]["detail"]> extends GlobalEventHandlersEventMap[T]["detail"] ? never : T : never : never;
14
26
  export type EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>> ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>> ? T : Partial<GlobalEventHandlersEventMap[T]["detail"]> extends GlobalEventHandlersEventMap[T]["detail"] ? T : never : T : T;
@@ -29,17 +41,525 @@ declare class OrigamiElement extends LitElement {
29
41
  emit<T extends string & keyof EventTypesWithoutRequiredDetail>(name: EventTypeDoesNotRequireDetail<T>, options?: SlEventInit<T> | undefined): GetCustomEventType<T>;
30
42
  emit<T extends string & keyof EventTypesWithRequiredDetail>(name: EventTypeRequiresDetail<T>, options: SlEventInit<T>): GetCustomEventType<T>;
31
43
  }
32
- export type BaseSound = "bet" | "click" | "dice-roll" | "dice-tick" | "half-double" | "keno-clear" | "keno-gem" | "limbo-tick" | "mines-bomb" | "mines-gem" | "secondary" | "toggle" | "win";
44
+ export type Language = "en" | "es";
45
+ export type TranslationKey = keyof typeof enTranslations | `${keyof typeof enTranslations}.${string}` | `${keyof typeof enTranslations}.${string}.${string}`;
46
+ export declare const translations: {
47
+ readonly en: {
48
+ common: {
49
+ bet: string;
50
+ cancel: string;
51
+ confirm: string;
52
+ close: string;
53
+ loading: string;
54
+ error: string;
55
+ success: string;
56
+ back: string;
57
+ next: string;
58
+ previous: string;
59
+ start: string;
60
+ stop: string;
61
+ auto: string;
62
+ manual: string;
63
+ amount: string;
64
+ balance: string;
65
+ win: string;
66
+ loss: string;
67
+ profit: string;
68
+ payout: string;
69
+ multiplier: string;
70
+ odds: string;
71
+ history: string;
72
+ provablyFair: string;
73
+ lobby: string;
74
+ fairness: string;
75
+ settings: string;
76
+ placeBet: string;
77
+ profitOnWin: string;
78
+ targetMultiplier: string;
79
+ winChance: string;
80
+ cashOut: string;
81
+ change: string;
82
+ copy: string;
83
+ volume: string;
84
+ instantBet: string;
85
+ hotkeys: string;
86
+ animation: string;
87
+ risk: string;
88
+ classic: string;
89
+ low: string;
90
+ medium: string;
91
+ high: string;
92
+ closeDialog: string;
93
+ closeAlert: string;
94
+ toggleHotkeys: string;
95
+ siteInformation: string;
96
+ footerNavigation: string;
97
+ viewFairnessInformation: string;
98
+ share: string;
99
+ id: string;
100
+ timestamp: string;
101
+ space: string;
102
+ betAmount: string;
103
+ loadMore: string;
104
+ thisFieldIsRequired: string;
105
+ toggleSwitch: string;
106
+ rangeSlider: string;
107
+ };
108
+ games: {
109
+ dice: {
110
+ title: string;
111
+ rollOver: string;
112
+ rollUnder: string;
113
+ target: string;
114
+ roll: string;
115
+ result: string;
116
+ };
117
+ keno: {
118
+ title: string;
119
+ selectNumbers: string;
120
+ draw: string;
121
+ numbers: string;
122
+ hits: string;
123
+ pick: string;
124
+ autoPick: string;
125
+ clearTable: string;
126
+ select1to10Tiles: string;
127
+ kenoNumber: string;
128
+ kenoGameGrid: string;
129
+ selectTileToAutobet: string;
130
+ selectAtLeastOneTile: string;
131
+ };
132
+ limbo: {
133
+ title: string;
134
+ target: string;
135
+ crashed: string;
136
+ cashout: string;
137
+ };
138
+ mines: {
139
+ title: string;
140
+ mines: string;
141
+ gems: string;
142
+ reveal: string;
143
+ cashout: string;
144
+ selectRandomTile: string;
145
+ nextGem: string;
146
+ mine: string;
147
+ gem: string;
148
+ tile: string;
149
+ unrevealed: string;
150
+ selectTileToAutobet: string;
151
+ };
152
+ };
153
+ autobet: {
154
+ title: string;
155
+ numberOfBets: string;
156
+ onWin: string;
157
+ onLoss: string;
158
+ stopOnWin: string;
159
+ stopOnLoss: string;
160
+ stopOnProfit: string;
161
+ increase: string;
162
+ decrease: string;
163
+ reset: string;
164
+ baseAmount: string;
165
+ games5: string;
166
+ games10: string;
167
+ games25: string;
168
+ games50: string;
169
+ games100: string;
170
+ infinite: string;
171
+ startAutobet: string;
172
+ stopAutobet: string;
173
+ games: string;
174
+ };
175
+ modals: {
176
+ betResult: string;
177
+ fairnessAndHistory: string;
178
+ gameArea: string;
179
+ gameControls: string;
180
+ };
181
+ alerts: {
182
+ betPlaced: string;
183
+ betCancelled: string;
184
+ insufficientBalance: string;
185
+ connectionError: string;
186
+ gameError: string;
187
+ failedToLoadBetData: string;
188
+ betDetailsCopied: string;
189
+ failedToShareBetDetails: string;
190
+ notEnoughBalance: string;
191
+ errorProcessingBet: string;
192
+ autobetStopped: string;
193
+ autobetStarted: string;
194
+ };
195
+ fairness: {
196
+ activeClientSeed: string;
197
+ enterClientSeed: string;
198
+ publicKey: string;
199
+ request: string;
200
+ proof: string;
201
+ randomness: string;
202
+ noBettingHistory: string;
203
+ verifyOutcome: string;
204
+ enterPublicKey: string;
205
+ enterRequest: string;
206
+ enterProof: string;
207
+ enterRandomness: string;
208
+ outcomeCalculationInfo: string;
209
+ pendingInputs: string;
210
+ provableFairnessVerified: string;
211
+ provableFairnessUnverified: string;
212
+ viewOutcome: string;
213
+ invalidGame: string;
214
+ };
215
+ outcomes: {
216
+ draw: string;
217
+ win: string;
218
+ loss: string;
219
+ };
220
+ share: {
221
+ betResultTitle: string;
222
+ betResultText: string;
223
+ };
224
+ errors: {
225
+ dice: {
226
+ multiplierRange: string;
227
+ winChanceRange: string;
228
+ };
229
+ limbo: {
230
+ multiplierRange: string;
231
+ winChanceRange: string;
232
+ };
233
+ insufficientBalance: string;
234
+ connection: string;
235
+ game: string;
236
+ };
237
+ accessibility: {
238
+ gameInProgress: string;
239
+ betPlacedAnnouncement: string;
240
+ languageChanged: string;
241
+ };
242
+ };
243
+ readonly es: {
244
+ common: {
245
+ bet: string;
246
+ cancel: string;
247
+ confirm: string;
248
+ close: string;
249
+ loading: string;
250
+ error: string;
251
+ success: string;
252
+ back: string;
253
+ next: string;
254
+ previous: string;
255
+ start: string;
256
+ stop: string;
257
+ auto: string;
258
+ manual: string;
259
+ amount: string;
260
+ balance: string;
261
+ win: string;
262
+ loss: string;
263
+ profit: string;
264
+ payout: string;
265
+ multiplier: string;
266
+ odds: string;
267
+ history: string;
268
+ provablyFair: string;
269
+ lobby: string;
270
+ fairness: string;
271
+ settings: string;
272
+ placeBet: string;
273
+ profitOnWin: string;
274
+ targetMultiplier: string;
275
+ winChance: string;
276
+ cashOut: string;
277
+ change: string;
278
+ copy: string;
279
+ volume: string;
280
+ instantBet: string;
281
+ hotkeys: string;
282
+ animation: string;
283
+ risk: string;
284
+ classic: string;
285
+ low: string;
286
+ medium: string;
287
+ high: string;
288
+ closeDialog: string;
289
+ closeAlert: string;
290
+ toggleHotkeys: string;
291
+ siteInformation: string;
292
+ footerNavigation: string;
293
+ viewFairnessInformation: string;
294
+ share: string;
295
+ id: string;
296
+ timestamp: string;
297
+ space: string;
298
+ betAmount: string;
299
+ loadMore: string;
300
+ thisFieldIsRequired: string;
301
+ toggleSwitch: string;
302
+ rangeSlider: string;
303
+ };
304
+ games: {
305
+ dice: {
306
+ title: string;
307
+ rollOver: string;
308
+ rollUnder: string;
309
+ target: string;
310
+ roll: string;
311
+ result: string;
312
+ };
313
+ keno: {
314
+ title: string;
315
+ selectNumbers: string;
316
+ draw: string;
317
+ numbers: string;
318
+ hits: string;
319
+ pick: string;
320
+ autoPick: string;
321
+ clearTable: string;
322
+ select1to10Tiles: string;
323
+ kenoNumber: string;
324
+ kenoGameGrid: string;
325
+ selectTileToAutobet: string;
326
+ selectAtLeastOneTile: string;
327
+ };
328
+ limbo: {
329
+ title: string;
330
+ target: string;
331
+ crashed: string;
332
+ cashout: string;
333
+ };
334
+ mines: {
335
+ title: string;
336
+ mines: string;
337
+ gems: string;
338
+ reveal: string;
339
+ cashout: string;
340
+ selectRandomTile: string;
341
+ nextGem: string;
342
+ mine: string;
343
+ gem: string;
344
+ tile: string;
345
+ unrevealed: string;
346
+ selectTileToAutobet: string;
347
+ };
348
+ };
349
+ autobet: {
350
+ title: string;
351
+ numberOfBets: string;
352
+ onWin: string;
353
+ onLoss: string;
354
+ stopOnWin: string;
355
+ stopOnLoss: string;
356
+ stopOnProfit: string;
357
+ increase: string;
358
+ decrease: string;
359
+ reset: string;
360
+ baseAmount: string;
361
+ games5: string;
362
+ games10: string;
363
+ games25: string;
364
+ games50: string;
365
+ games100: string;
366
+ infinite: string;
367
+ startAutobet: string;
368
+ stopAutobet: string;
369
+ games: string;
370
+ };
371
+ modals: {
372
+ betResult: string;
373
+ fairnessAndHistory: string;
374
+ gameArea: string;
375
+ gameControls: string;
376
+ };
377
+ alerts: {
378
+ betPlaced: string;
379
+ betCancelled: string;
380
+ insufficientBalance: string;
381
+ connectionError: string;
382
+ gameError: string;
383
+ failedToLoadBetData: string;
384
+ betDetailsCopied: string;
385
+ failedToShareBetDetails: string;
386
+ notEnoughBalance: string;
387
+ errorProcessingBet: string;
388
+ autobetStarted: string;
389
+ autobetStopped: string;
390
+ };
391
+ fairness: {
392
+ activeClientSeed: string;
393
+ enterClientSeed: string;
394
+ publicKey: string;
395
+ request: string;
396
+ proof: string;
397
+ randomness: string;
398
+ noBettingHistory: string;
399
+ verifyOutcome: string;
400
+ enterPublicKey: string;
401
+ enterRequest: string;
402
+ enterProof: string;
403
+ enterRandomness: string;
404
+ outcomeCalculationInfo: string;
405
+ pendingInputs: string;
406
+ provableFairnessVerified: string;
407
+ provableFairnessUnverified: string;
408
+ viewOutcome: string;
409
+ };
410
+ outcomes: {
411
+ draw: string;
412
+ win: string;
413
+ loss: string;
414
+ };
415
+ share: {
416
+ betResultTitle: string;
417
+ betResultText: string;
418
+ };
419
+ errors: {
420
+ dice: {
421
+ multiplierRange: string;
422
+ winChanceRange: string;
423
+ };
424
+ limbo: {
425
+ multiplierRange: string;
426
+ winChanceRange: string;
427
+ };
428
+ insufficientBalance: string;
429
+ connection: string;
430
+ game: string;
431
+ };
432
+ accessibility: {
433
+ gameInProgress: string;
434
+ betPlacedAnnouncement: string;
435
+ languageChanged: string;
436
+ };
437
+ };
438
+ };
439
+ export declare function getTranslation(key: TranslationKey, language?: Language, defaultValue?: string): string;
440
+ declare enum OrigamiActionType {
441
+ START_BET = "START_BET",// bet started but not yet ended send to the /bet webhook
442
+ END_BET = "END_BET",// bet has been completed. Can be started and ended in 1 webhook or started in 1 and ended in another. send to the /bet webhook
443
+ ROLLBACK = "ROLLBACK",// send to the /rollback webhook
444
+ INTERMEDIATE_BET_ACTION = "INTERMEDIATE_BET_ACTION",// bet amount was increased without game ending, such as doubling down in blackjack
445
+ INTERMEDIATE_NON_BET_ACTION = "INTERMEDIATE_NON_BET_ACTION"
446
+ }
447
+ declare enum DiceDirection {
448
+ ABOVE = "ABOVE",
449
+ BELOW = "BELOW"
450
+ }
451
+ export type DiceStartAction = {
452
+ direction: DiceDirection;
453
+ selectedValue: number;
454
+ };
455
+ export type KenoStartAction = {
456
+ riskLevel: KenoRiskLevel;
457
+ usdAmount: number;
458
+ selectedNumbers: number[];
459
+ };
460
+ export type EndAction = {
461
+ result: number[];
462
+ };
463
+ export type LimboStartAction = {
464
+ targetMultiplier: number;
465
+ };
466
+ export type LimboEndAction = {
467
+ result: number[];
468
+ randomMultiplier: string;
469
+ };
470
+ export type MinesStartAction = {};
471
+ export interface Action {
472
+ id: string;
473
+ data: {
474
+ DICE?: DiceStartAction | EndAction;
475
+ KENO?: KenoStartAction | EndAction;
476
+ LIMBO?: LimboStartAction | LimboEndAction;
477
+ MINES?: MinesStartAction | EndAction;
478
+ };
479
+ type: OrigamiActionType;
480
+ actionIndex: number;
481
+ originalActionId: string | null;
482
+ betAmount: string;
483
+ payoutAmount: string;
484
+ betId: string;
485
+ createdAt: string;
486
+ updatedAt: string;
487
+ webhookId: string;
488
+ }
489
+ export interface BetResult {
490
+ id: string;
491
+ tenantId: string;
492
+ userId: string;
493
+ tenantUserId: string;
494
+ gameId: string;
495
+ currency: Currency;
496
+ amount: string;
497
+ payout: string;
498
+ afterBalance: string;
499
+ maxPayoutReached: boolean;
500
+ multiplier: string;
501
+ clientSeed: string;
502
+ randomValue: string;
503
+ proof: string | null;
504
+ nonce: number;
505
+ completedAt: string | null;
506
+ betActions: Action[];
507
+ }
508
+ export interface HistoryItem {
509
+ id: string;
510
+ fullId: string;
511
+ timestamp: string;
512
+ bet: string;
513
+ win: string;
514
+ }
33
515
  export interface GameHost {
34
516
  gameData: gameContextType;
35
517
  addController(controller: any): void;
36
518
  }
519
+ declare class HistoryController extends EventTarget {
520
+ private host;
521
+ private _historyData;
522
+ private _hasData;
523
+ private _isInitialized;
524
+ private _hasNextPage;
525
+ private _initialLoadSize;
526
+ private _hasLoadedMore;
527
+ private _clientSeed;
528
+ private _hasLoadedClientSeed;
529
+ constructor(host: GameHost);
530
+ get historyData(): HistoryItem[];
531
+ get hasData(): boolean | null;
532
+ get isInitialized(): boolean;
533
+ get hasNextPage(): boolean;
534
+ get clientSeed(): string | null;
535
+ get hasLoadedClientSeed(): boolean;
536
+ private notifyDataChanged;
537
+ private notifyClientSeedChanged;
538
+ private preloadHistory;
539
+ fetchHistory(beforeId?: string, numberToFetch?: number): Promise<{
540
+ historyData: HistoryItem[];
541
+ hasNextPage: boolean;
542
+ }>;
543
+ refreshHistory(preserveLoadedMore?: boolean): Promise<void>;
544
+ loadMore(): Promise<{
545
+ historyData: HistoryItem[];
546
+ hasNextPage: boolean;
547
+ }>;
548
+ addNewBet(betResult: BetResult): void;
549
+ loadClientSeed(): Promise<void>;
550
+ updateClientSeed(newSeed: string): void;
551
+ }
552
+ export type BaseSound = "bet" | "click" | "dice-roll" | "dice-tick" | "half-double" | "keno-clear" | "keno-gem" | "limbo-tick" | "mines-bomb" | "mines-gem" | "secondary" | "toggle" | "win";
553
+ interface GameHost$1 {
554
+ gameData: gameContextType;
555
+ addController(controller: any): void;
556
+ }
37
557
  declare class SoundController {
38
558
  private host;
39
559
  private muted;
40
560
  private audioCtx;
41
561
  private buffer;
42
- constructor(host: GameHost);
562
+ constructor(host: GameHost$1);
43
563
  preload(_file: string): void;
44
564
  play(soundKey: BaseSound, muted?: boolean, pitch?: number, volume?: number, onEndCallback?: () => void): Promise<AudioBufferSourceNode | void>;
45
565
  }
@@ -49,6 +569,7 @@ export type gameContextType = {
49
569
  updateBalance: (newAmount: BigNumber) => void;
50
570
  currency: Currency;
51
571
  isCryptoMode: boolean;
572
+ showCurrencyAsText: boolean;
52
573
  isTheatreMode: boolean;
53
574
  showFavorites: boolean;
54
575
  balance: number;
@@ -62,9 +583,12 @@ export type gameContextType = {
62
583
  updateHotkeysOpenEnabled: (enabled: boolean) => void;
63
584
  updateVolume: (volume: number) => void;
64
585
  updateInstantBetEnabled: (enabled: boolean) => void;
586
+ language: Language;
587
+ updateLanguage: (language: Language) => void;
65
588
  autobetNumberOfBets: number;
66
589
  updateAutobetNumberOfBets: (numberOfBets: number) => void;
67
590
  soundController?: SoundController;
591
+ historyController?: HistoryController;
68
592
  };
69
593
  declare const gameContext: {
70
594
  __context__: gameContextType;
@@ -83,6 +607,7 @@ export declare class GameProviderWrapper extends OrigamiElement {
83
607
  baseUrl: string;
84
608
  authToken: string;
85
609
  isCryptoMode: boolean;
610
+ showCurrencyAsText: boolean;
86
611
  origamiGame: OrigamiGame;
87
612
  private betAmount;
88
613
  private autobetNumberOfBets;
@@ -90,7 +615,9 @@ export declare class GameProviderWrapper extends OrigamiElement {
90
615
  private volume;
91
616
  private instantBetEnabled;
92
617
  private mainWidth;
618
+ private language;
93
619
  private _soundController;
620
+ private _historyController;
94
621
  protected _gameProvider: ContextProvider<typeof gameContext>;
95
622
  connectedCallback(): void;
96
623
  disconnectedCallback(): void;
@@ -103,6 +630,7 @@ export declare class GameProviderWrapper extends OrigamiElement {
103
630
  updateInstantBetEnabled(enabled: boolean): void;
104
631
  updateAutobetNumberOfBets(numberOfBets: number): void;
105
632
  updateMainWidth(width: number): void;
633
+ updateLanguage(language: Language): void;
106
634
  updateBetAmount(newAmount: BigNumber): void;
107
635
  updateBalance(newAmount: BigNumber): void;
108
636
  render(): import("lit-html").TemplateResult<1> | undefined;
@@ -139,73 +667,6 @@ declare const defaultAutobetValues: {
139
667
  };
140
668
  export type AutobetValues = typeof defaultAutobetValues;
141
669
  export type BetMode = "Manual" | "Auto";
142
- declare enum OrigamiActionType {
143
- START_BET = "START_BET",// bet started but not yet ended send to the /bet webhook
144
- END_BET = "END_BET",// bet has been completed. Can be started and ended in 1 webhook or started in 1 and ended in another. send to the /bet webhook
145
- ROLLBACK = "ROLLBACK",// send to the /rollback webhook
146
- INTERMEDIATE_BET_ACTION = "INTERMEDIATE_BET_ACTION",// bet amount was increased without game ending, such as doubling down in blackjack
147
- INTERMEDIATE_NON_BET_ACTION = "INTERMEDIATE_NON_BET_ACTION"
148
- }
149
- declare enum DiceDirection {
150
- ABOVE = "ABOVE",
151
- BELOW = "BELOW"
152
- }
153
- export type DiceStartAction = {
154
- direction: DiceDirection;
155
- selectedValue: number;
156
- };
157
- export type KenoStartAction = {
158
- riskLevel: KenoRiskLevel;
159
- usdAmount: number;
160
- selectedNumbers: number[];
161
- };
162
- export type EndAction = {
163
- result: number[];
164
- };
165
- export type LimboStartAction = {
166
- targetMultiplier: number;
167
- };
168
- export type LimboEndAction = {
169
- result: number[];
170
- randomMultiplier: string;
171
- };
172
- export type MinesStartAction = {};
173
- export interface Action {
174
- id: string;
175
- data: {
176
- DICE?: DiceStartAction | EndAction;
177
- KENO?: KenoStartAction | EndAction;
178
- LIMBO?: LimboStartAction | LimboEndAction;
179
- MINES?: MinesStartAction | EndAction;
180
- };
181
- type: OrigamiActionType;
182
- actionIndex: number;
183
- originalActionId: string | null;
184
- betAmount: string;
185
- payoutAmount: string;
186
- betId: string;
187
- createdAt: string;
188
- updatedAt: string;
189
- webhookId: string;
190
- }
191
- export interface BetResult {
192
- id: string;
193
- tenantId: string;
194
- userId: string;
195
- gameId: string;
196
- currency: Currency;
197
- amount: string;
198
- payout: string;
199
- afterBalance: string;
200
- maxPayoutReached: boolean;
201
- multiplier: number;
202
- clientSeed: string;
203
- randomValue: string;
204
- proof: string | null;
205
- nonce: number;
206
- completedAt: string | null;
207
- betActions: Action[];
208
- }
209
670
  export type AutobetToggleEvent = CustomEvent<AutobetValues & {
210
671
  numberOfBets: string;
211
672
  }>;
@@ -260,43 +721,20 @@ declare abstract class GameComponent extends OrigamiElement {
260
721
  static styles: import("lit").CSSResult[];
261
722
  private gameConsumer;
262
723
  get gameData(): gameContextType;
263
- /**
264
- * Common getter for when the toggle between Manual/Auto should be disabled
265
- * Override in child classes if additional conditions are needed
266
- */
267
724
  get isToggleDisabled(): boolean;
268
- /**
269
- * Common getter for when inputs and controls should be disabled
270
- * Override in child classes to add game-specific conditions
271
- */
272
725
  get areInputsDisabled(): boolean;
273
- /**
274
- * Returns appropriate delay based on instant bet setting
275
- * Keeps minimal delay for animations while making betting feel instant
276
- */
277
726
  protected getDelay(normalDelay: number): number;
278
- /**
279
- * Forces UI update and waits for next frame - useful in instant mode
280
- */
727
+ protected getAutobetDelay(): number;
281
728
  protected forceUIUpdate(): Promise<void>;
282
- /**
283
- * Executes an operation either instantly or with animation based on instant bet setting
284
- * @param instantOperation - Function to execute in instant mode
285
- * @param animatedOperation - Function to execute in normal mode
286
- */
287
729
  protected executeInstantOrAnimated<T>(instantOperation: () => Promise<T> | T, animatedOperation: () => Promise<T> | T): Promise<T>;
288
- /**
289
- * Ensures minimum display time for autobet results in instant mode
290
- * @param hasWin - Whether the round was a win (longer display time)
291
- * @param winDisplayTime - Display time for wins (default 500ms)
292
- * @param lossDisplayTime - Display time for losses (default 500ms)
293
- */
294
730
  protected ensureMinimumDisplayTime(hasWin?: boolean, winDisplayTime?: number, lossDisplayTime?: number): Promise<void>;
295
731
  firstUpdated(): void;
732
+ disconnectedCallback(): void;
296
733
  toggleAutobet(event: AutobetToggleEvent): Promise<void>;
297
734
  protected abstract executeAutobet(_autobetSettings: AutobetSettings, _currentBetAmount: string): Promise<GameBetResult>;
298
735
  protected adjustBetAmount(autobetSettings: AutobetSettings, gameOutcome: "Win" | "Loss" | "Draw", originalBetAmount: string, currentBetAmount: string): string;
299
736
  protected isPnLWithinLimits(autobetSettings: AutobetSettings, totalPnL: BigNumber): boolean;
737
+ protected updateHistoryWithBet(betResult: BetResult): void;
300
738
  }
301
739
  export type DiceStartArgs = {
302
740
  currency: Currency;
@@ -325,6 +763,8 @@ declare class DiceApi {
325
763
  static getSelectedValueFromMultiplier(multiplier: number, diceDirection: DiceDirection): number;
326
764
  static getSelectedValueFromWinChance(winChancePercentage: number, diceDirection: DiceDirection): number;
327
765
  static getSelectedValueFromRollOver(selectedValue: number): number;
766
+ static isValidMultiplier(multiplier: string): boolean;
767
+ static isValidWinChance(winChance: string): boolean;
328
768
  }
329
769
  declare class MockDiceApi {
330
770
  private static getRandomValueInRange;
@@ -334,6 +774,7 @@ declare class MockDiceApi {
334
774
  }>;
335
775
  }
336
776
  export declare class DiceGame extends GameComponent {
777
+ static styles: import("lit").CSSResult[];
337
778
  private diceDirection;
338
779
  private selectedValue;
339
780
  private isManualPlaying;
@@ -405,6 +846,7 @@ export declare class KenoGame extends GameComponent {
405
846
  private multiplier;
406
847
  private hadTilesBeforeAutopick;
407
848
  private betId;
849
+ private showResetAnimation;
408
850
  private _kenoManualEl?;
409
851
  private _kenoAutoEl?;
410
852
  get isToggleDisabled(): boolean;
@@ -426,6 +868,7 @@ export declare class KenoGame extends GameComponent {
426
868
  private handleAutoPick;
427
869
  private handleClearTable;
428
870
  constructor();
871
+ firstUpdated(): Promise<void>;
429
872
  }
430
873
  export type LimboStartArgs = {
431
874
  currency: Currency;
@@ -459,6 +902,7 @@ declare class MockLimboApi {
459
902
  }>;
460
903
  }
461
904
  export declare class LimboGame extends GameComponent {
905
+ static styles: import("lit").CSSResult[];
462
906
  private targetMultiplier;
463
907
  private resultMultiplier;
464
908
  private isManualPlaying;
@@ -476,6 +920,7 @@ export declare class LimboGame extends GameComponent {
476
920
  private isSpacebarDisabled;
477
921
  private handleSpacebar;
478
922
  constructor();
923
+ disconnectedCallback(): void;
479
924
  protected executeAutobet(_autobetSettings: AutobetSettings, currentBetAmount: string): Promise<GameBetResult>;
480
925
  multiplierChange: (e: LimboMultiplierChangeEvent) => void;
481
926
  calculateProfitOnWin(): string;