@betorigami/games 1.22.9 → 2.0.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.
Files changed (3) hide show
  1. package/dist/index.d.ts +465 -654
  2. package/dist/index.mjs +4842 -4773
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -827,6 +827,7 @@ export declare const translations: {
827
827
  dice: {
828
828
  multiplierRange: string;
829
829
  winChanceRange: string;
830
+ rollValueRange: string;
830
831
  };
831
832
  roulette: {
832
833
  oppositeBet: string;
@@ -5684,393 +5685,117 @@ declare class HapticsController {
5684
5685
  bombImpact(): void;
5685
5686
  winCelebration(): void;
5686
5687
  }
5687
- declare enum WheelRiskLevel {
5688
- LOW_RISK = "LOW_RISK",
5689
- MEDIUM_RISK = "MEDIUM_RISK",
5690
- HIGH_RISK = "HIGH_RISK"
5691
- }
5692
- declare enum WheelSegments {
5693
- TEN = 10,
5694
- TWENTY = 20,
5695
- THIRTY = 30,
5696
- FORTY = 40,
5697
- FIFTY = 50
5698
- }
5699
- declare enum PlinkoRiskLevel {
5700
- LOW_RISK = "LOW_RISK",
5701
- MEDIUM_RISK = "MEDIUM_RISK",
5702
- HIGH_RISK = "HIGH_RISK"
5703
- }
5704
- declare const plinkoRowCountOptions: readonly [
5705
- 8,
5706
- 9,
5707
- 10,
5708
- 11,
5709
- 12,
5710
- 13,
5711
- 14,
5712
- 15,
5713
- 16
5714
- ];
5715
- export type PlinkoRowCount = (typeof plinkoRowCountOptions)[number];
5716
- declare enum DiceDirection {
5717
- ABOVE = "ABOVE",
5718
- BELOW = "BELOW"
5719
- }
5720
- declare enum KenoRiskLevel {
5721
- CLASSIC = "CLASSIC",
5722
- LOW_RISK = "LOW_RISK",
5723
- MEDIUM_RISK = "MEDIUM_RISK",
5724
- HIGH_RISK = "HIGH_RISK"
5688
+ export interface HistoryItem {
5689
+ id: string;
5690
+ fullId: string;
5691
+ timestamp: string;
5692
+ currency: string;
5693
+ bet: number;
5694
+ win: number;
5725
5695
  }
5726
- declare const VALID_KENO_EDGES: readonly [
5727
- 1,
5728
- 2,
5729
- 3,
5730
- 4,
5731
- 8
5732
- ];
5733
- export type KenoEdge = (typeof VALID_KENO_EDGES)[number];
5734
- declare enum OrigamiActionType {
5735
- START_BET = "START_BET",// bet started but not yet ended send to the /bet webhook
5736
- 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
5737
- ROLLBACK = "ROLLBACK",// send to the /rollback webhook
5738
- INTERMEDIATE_BET_ACTION = "INTERMEDIATE_BET_ACTION",// bet amount was increased without game ending, such as doubling down in blackjack
5739
- INTERMEDIATE_NON_BET_ACTION = "INTERMEDIATE_NON_BET_ACTION"
5696
+ interface GameHost$1 {
5697
+ gameData: gameContextType;
5698
+ addController(controller: any): void;
5740
5699
  }
5741
- export type Bounds = {
5742
- lower: number;
5743
- upper: number;
5700
+ export type NewHistoryItem = {
5701
+ readonly id: string;
5702
+ readonly currency: Currency;
5703
+ readonly amount: string | number;
5704
+ readonly payout: string | number | null;
5744
5705
  };
5745
- declare enum RollType {
5746
- ROLL_BETWEEN = "ROLL_BETWEEN",
5747
- ROLL_OUTSIDE = "ROLL_OUTSIDE",
5748
- ROLL_BETWEEN_TWO = "ROLL_BETWEEN_TWO"
5706
+ declare class HistoryController extends EventTarget {
5707
+ private host;
5708
+ private _historyData;
5709
+ private _hasData;
5710
+ private _isInitialized;
5711
+ private _hasNextPage;
5712
+ private _initialLoadSize;
5713
+ private _hasLoadedMore;
5714
+ private _clientSeed;
5715
+ private _hasLoadedClientSeed;
5716
+ constructor(host: GameHost$1);
5717
+ get historyData(): HistoryItem[];
5718
+ get hasData(): boolean | null;
5719
+ get isInitialized(): boolean;
5720
+ get hasNextPage(): boolean;
5721
+ get clientSeed(): string | null;
5722
+ get hasLoadedClientSeed(): boolean;
5723
+ private notifyDataChanged;
5724
+ private notifyClientSeedChanged;
5725
+ private preloadHistory;
5726
+ fetchHistory(beforeId?: string, numberToFetch?: number): Promise<{
5727
+ historyData: HistoryItem[];
5728
+ hasNextPage: boolean;
5729
+ }>;
5730
+ refreshHistory(preserveLoadedMore?: boolean): Promise<void>;
5731
+ loadMore(): Promise<{
5732
+ historyData: HistoryItem[];
5733
+ hasNextPage: boolean;
5734
+ }>;
5735
+ addNewBet(betResult: NewHistoryItem): void;
5736
+ loadClientSeed(): Promise<void>;
5737
+ updateClientSeed(newSeed: string): void;
5749
5738
  }
5750
- export type RollBetween = {
5751
- mode: RollType.ROLL_BETWEEN;
5752
- bounds: Bounds;
5753
- };
5754
- export type RollOutside = {
5755
- mode: RollType.ROLL_OUTSIDE;
5756
- bounds: Bounds;
5757
- };
5758
- export type RollBetweenTwo = {
5759
- mode: RollType.ROLL_BETWEEN_TWO;
5760
- firstBounds: Bounds;
5761
- secondBounds: Bounds;
5762
- };
5763
- export type AdvancedDiceInputs = RollBetween | RollOutside | RollBetweenTwo;
5764
- export type AfterBetEffect = "Reset" | "Increase";
5765
- declare const defaultAutobetValues: {
5766
- onWinPercentage: string;
5767
- onLossPercentage: string;
5768
- stopOnProfit: string;
5769
- stopOnLoss: string;
5770
- onLossStrategy: AfterBetEffect;
5771
- onWinStrategy: AfterBetEffect;
5772
- };
5773
- export type AutobetValues = typeof defaultAutobetValues;
5774
- export type AutobetEventPayload = AutobetValues & {
5775
- numberOfBets: string;
5776
- };
5777
- export type DiceStartAction = {
5778
- direction: DiceDirection;
5779
- selectedValue: number;
5780
- };
5781
- export type KenoStartAction = {
5782
- riskLevel: KenoRiskLevel;
5783
- selectedNumbers: number[];
5784
- };
5785
- export type EndAction = {
5786
- result: number[];
5787
- };
5788
- export type LimboStartAction = {
5789
- targetMultiplier: number;
5790
- };
5791
- export type LimboEndAction = {
5792
- result: number[];
5793
- randomMultiplier: string;
5739
+ export type SoundWaveform = "sine" | "triangle" | "sawtooth" | "square";
5740
+ export type SoundFilterType = "bandpass" | "lowpass" | "highpass";
5741
+ export type ToneGainDef = {
5742
+ envelope: "peak-decay";
5743
+ peak: number;
5744
+ decayTime: number;
5745
+ } | {
5746
+ envelope: "attack-decay";
5747
+ attackTime: number;
5748
+ peak: number;
5749
+ decayTime: number;
5750
+ } | {
5751
+ envelope: "delayed-attack-decay";
5752
+ holdTime: number;
5753
+ attackEndTime: number;
5754
+ peak: number;
5755
+ decayTime: number;
5794
5756
  };
5795
- export type MinesStartAction = {
5796
- minesCount: number;
5797
- selectedTiles: number[];
5798
- hasCashedOut: boolean;
5757
+ export type NoiseLayerDef = {
5758
+ kind: "noise";
5759
+ duration: number;
5760
+ decay: number;
5761
+ filterType: SoundFilterType;
5762
+ filterFreq: number;
5763
+ filterQ: number;
5764
+ gain: number;
5765
+ randomization: number;
5766
+ filterFreqEnd?: number;
5767
+ filterFreqRampTime?: number;
5799
5768
  };
5800
- export interface DiamondsStartAction {
5801
- }
5802
- export interface WheelStartAction {
5803
- riskLevel: WheelRiskLevel;
5804
- segments: WheelSegments;
5805
- }
5806
- export interface PlinkoStartAction {
5807
- riskLevel: PlinkoRiskLevel;
5808
- numberOfRows: PlinkoRowCount;
5809
- }
5810
- export type AdvancedDiceStartAction = AdvancedDiceInputs;
5811
- export type BaccaratEndAction = BaccaratGameOutputs & {
5812
- result: number[];
5769
+ export type ToneLayerDef = {
5770
+ kind: "tone";
5771
+ waveform: SoundWaveform;
5772
+ frequency: number;
5773
+ frequencyEnd?: number;
5774
+ frequencyRampTime?: number;
5775
+ duration: number;
5776
+ gain: ToneGainDef;
5777
+ startOffset?: number;
5813
5778
  };
5814
- export interface RouletteStraightBet {
5815
- amount: string;
5816
- value: number;
5817
- }
5818
- export interface RouletteSplitBet {
5819
- amount: string;
5820
- values: readonly [
5821
- number,
5822
- number
5823
- ];
5824
- }
5825
- export interface RouletteStreetBet {
5826
- amount: string;
5827
- values: readonly [
5828
- number,
5829
- number,
5830
- number
5831
- ];
5832
- }
5833
- export interface RouletteCornerBet {
5834
- amount: string;
5835
- values: readonly [
5836
- number,
5837
- number,
5838
- number,
5839
- number
5840
- ];
5779
+ export type SoundLayerDef = NoiseLayerDef | ToneLayerDef;
5780
+ export interface ResolvedSound {
5781
+ readonly layers: readonly SoundLayerDef[];
5782
+ readonly gainScale: number;
5841
5783
  }
5842
- export interface RouletteDoubleStreetBet {
5843
- amount: string;
5844
- values: readonly [
5845
- number,
5846
- number,
5847
- number,
5848
- number,
5849
- number,
5850
- number
5851
- ];
5784
+ interface GameHost$2 {
5785
+ addController(controller: unknown): void;
5852
5786
  }
5853
- export interface RouletteParityBet {
5854
- amount: string;
5855
- parity: Parity;
5856
- }
5857
- export interface RouletteColorBet {
5858
- amount: string;
5859
- color: Color;
5860
- }
5861
- export interface RouletteHalfBet {
5862
- amount: string;
5863
- half: Half;
5864
- }
5865
- export interface RouletteColumnBet {
5866
- amount: string;
5867
- column: Column;
5868
- }
5869
- export interface RouletteDozenBet {
5870
- amount: string;
5871
- dozen: Dozen;
5872
- }
5873
- export interface RouletteBasketBet {
5874
- amount: string;
5875
- }
5876
- export interface EuropeanRouletteInputs {
5877
- straightBets: RouletteStraightBet[];
5878
- splitBets: RouletteSplitBet[];
5879
- streetBets: RouletteStreetBet[];
5880
- cornerBets: RouletteCornerBet[];
5881
- doubleStreetBets: RouletteDoubleStreetBet[];
5882
- parityBets: RouletteParityBet[];
5883
- colorBets: RouletteColorBet[];
5884
- halfBets: RouletteHalfBet[];
5885
- columnBets: RouletteColumnBet[];
5886
- dozenBets: RouletteDozenBet[];
5887
- }
5888
- export interface AmericanRouletteInputs extends EuropeanRouletteInputs {
5889
- basketBets: RouletteBasketBet[];
5890
- }
5891
- export type RouletteStartAction = {
5892
- type: RouletteType.EUROPEAN;
5893
- inputs: EuropeanRouletteInputs;
5894
- } | {
5895
- type: RouletteType.AMERICAN;
5896
- inputs: AmericanRouletteInputs;
5897
- };
5898
- export interface RouletteBetOutcomes {
5899
- winningBets: EuropeanRouletteInputs;
5900
- losingBets: EuropeanRouletteInputs;
5901
- }
5902
- export interface RouletteEndAction {
5903
- type: "european" | "american";
5904
- betOutcomes: RouletteBetOutcomes;
5905
- result: number[];
5906
- }
5907
- export interface Action {
5908
- id: string;
5909
- data: {
5910
- DICE?: DiceStartAction | EndAction;
5911
- KENO?: KenoStartAction | EndAction;
5912
- LIMBO?: LimboStartAction | LimboEndAction;
5913
- MINES?: MinesStartAction | EndAction;
5914
- DIAMONDS?: DiamondsStartAction | EndAction;
5915
- WHEEL?: WheelStartAction | EndAction;
5916
- PLINKO?: PlinkoStartAction | EndAction;
5917
- ADVANCED_DICE?: AdvancedDiceStartAction | EndAction;
5918
- ROULETTE?: RouletteStartAction | RouletteEndAction;
5919
- BACCARAT?: BaccaratGameInputs | BaccaratEndAction;
5920
- };
5921
- betAmount: string | null;
5922
- payoutAmount: string | null;
5923
- actionIndex: number;
5924
- type: OrigamiActionType;
5925
- }
5926
- export interface BetResult {
5927
- id: string;
5928
- nonce: number;
5929
- amount: string;
5930
- payout: string | null;
5931
- currency: Currency;
5932
- userId: string;
5933
- gameId: string;
5934
- multiplier: string | null;
5935
- tenantId: string;
5936
- clientSeed: string;
5937
- randomValue: string | null;
5938
- proof: string | null;
5939
- afterBalance: string | null;
5940
- tenantUserId: string;
5941
- betActions: Array<Action>;
5942
- }
5943
- export type StartBetResponse = {
5944
- success: true;
5945
- data: BetResult;
5946
- } | {
5947
- success: false;
5948
- error: string;
5949
- };
5950
- export type AutobetApiSettings = {
5951
- onWinStrategy: AfterBetEffect;
5952
- onLossStrategy: AfterBetEffect;
5953
- onWinPercentage: string;
5954
- onLossPercentage: string;
5955
- stopOnLoss: string;
5956
- stopOnProfit: string;
5957
- numberOfBets: number;
5958
- autobetId: string;
5959
- betIndex: number;
5960
- pnlSinceStart: string;
5961
- };
5962
- export interface BaseStartArgs {
5963
- currency: Currency;
5964
- amount: string;
5965
- meta?: {
5966
- autobetSettings?: AutobetApiSettings;
5967
- };
5968
- }
5969
- export interface HistoryItem {
5970
- id: string;
5971
- fullId: string;
5972
- timestamp: string;
5973
- currency: string;
5974
- bet: number;
5975
- win: number;
5976
- }
5977
- interface GameHost$1 {
5978
- gameData: gameContextType;
5979
- addController(controller: any): void;
5980
- }
5981
- declare class HistoryController extends EventTarget {
5982
- private host;
5983
- private _historyData;
5984
- private _hasData;
5985
- private _isInitialized;
5986
- private _hasNextPage;
5987
- private _initialLoadSize;
5988
- private _hasLoadedMore;
5989
- private _clientSeed;
5990
- private _hasLoadedClientSeed;
5991
- constructor(host: GameHost$1);
5992
- get historyData(): HistoryItem[];
5993
- get hasData(): boolean | null;
5994
- get isInitialized(): boolean;
5995
- get hasNextPage(): boolean;
5996
- get clientSeed(): string | null;
5997
- get hasLoadedClientSeed(): boolean;
5998
- private notifyDataChanged;
5999
- private notifyClientSeedChanged;
6000
- private preloadHistory;
6001
- fetchHistory(beforeId?: string, numberToFetch?: number): Promise<{
6002
- historyData: HistoryItem[];
6003
- hasNextPage: boolean;
6004
- }>;
6005
- refreshHistory(preserveLoadedMore?: boolean): Promise<void>;
6006
- loadMore(): Promise<{
6007
- historyData: HistoryItem[];
6008
- hasNextPage: boolean;
6009
- }>;
6010
- addNewBet(betResult: BetResult): void;
6011
- loadClientSeed(): Promise<void>;
6012
- updateClientSeed(newSeed: string): void;
6013
- }
6014
- export type SoundWaveform = "sine" | "triangle" | "sawtooth" | "square";
6015
- export type SoundFilterType = "bandpass" | "lowpass" | "highpass";
6016
- export type ToneGainDef = {
6017
- envelope: "peak-decay";
6018
- peak: number;
6019
- decayTime: number;
6020
- } | {
6021
- envelope: "attack-decay";
6022
- attackTime: number;
6023
- peak: number;
6024
- decayTime: number;
6025
- } | {
6026
- envelope: "delayed-attack-decay";
6027
- holdTime: number;
6028
- attackEndTime: number;
6029
- peak: number;
6030
- decayTime: number;
6031
- };
6032
- export type NoiseLayerDef = {
6033
- kind: "noise";
6034
- duration: number;
6035
- decay: number;
6036
- filterType: SoundFilterType;
6037
- filterFreq: number;
6038
- filterQ: number;
6039
- gain: number;
6040
- randomization: number;
6041
- filterFreqEnd?: number;
6042
- filterFreqRampTime?: number;
6043
- };
6044
- export type ToneLayerDef = {
6045
- kind: "tone";
6046
- waveform: SoundWaveform;
6047
- frequency: number;
6048
- frequencyEnd?: number;
6049
- frequencyRampTime?: number;
6050
- duration: number;
6051
- gain: ToneGainDef;
6052
- startOffset?: number;
6053
- };
6054
- export type SoundLayerDef = NoiseLayerDef | ToneLayerDef;
6055
- export interface ResolvedSound {
6056
- readonly layers: readonly SoundLayerDef[];
6057
- readonly gainScale: number;
6058
- }
6059
- interface GameHost$2 {
6060
- addController(controller: unknown): void;
6061
- }
6062
- declare class SoundEffectsController {
6063
- private destroyed;
6064
- private audioCtx;
6065
- private volume;
6066
- constructor(host: GameHost$2);
6067
- setVolume(normalizedVolume: number): void;
6068
- destroy(): void;
6069
- play(sound: ResolvedSound): void;
6070
- private ensureAudio;
6071
- private renderLayers;
6072
- private renderNoiseLayer;
6073
- private renderToneLayer;
5787
+ declare class SoundEffectsController {
5788
+ private destroyed;
5789
+ private audioCtx;
5790
+ private volume;
5791
+ constructor(host: GameHost$2);
5792
+ setVolume(normalizedVolume: number): void;
5793
+ destroy(): void;
5794
+ play(sound: ResolvedSound): void;
5795
+ private ensureAudio;
5796
+ private renderLayers;
5797
+ private renderNoiseLayer;
5798
+ private renderToneLayer;
6074
5799
  }
6075
5800
  export type gameContextType = {
6076
5801
  betAmount: string;
@@ -6266,141 +5991,387 @@ export declare class BetDetailsComponent extends OrigamiElement {
6266
5991
  private handleShare;
6267
5992
  private fetchBetDetails;
6268
5993
  }
5994
+ declare enum DiceDirection {
5995
+ ABOVE = "ABOVE",
5996
+ BELOW = "BELOW"
5997
+ }
6269
5998
  declare enum MinesGameOutcome {
6270
5999
  WIN = "WIN",
6271
6000
  LOSS = "LOSS"
6272
6001
  }
6273
6002
  declare enum MinesFlowState {
6274
- NO_GAME_ACTIVE = "NO_GAME_ACTIVE",
6275
6003
  GAME_IN_PROGRESS = "GAME_IN_PROGRESS",
6276
6004
  VIEWING_RESULTS = "VIEWING_RESULTS"
6277
6005
  }
6278
- export interface MinesState {
6279
- currency?: Currency;
6280
- selectedTiles: number[];
6281
- mineLocations: number[];
6282
- outcome: MinesGameOutcome | null;
6283
- minesCount: number;
6284
- numMinesRemaining: number;
6285
- numGemsFound: number;
6286
- numGemsRemaining: number;
6287
- state: MinesFlowState;
6288
- betAmount: Big$1;
6006
+ export interface MinesState {
6007
+ selectedTiles: number[];
6008
+ mineLocations: number[];
6009
+ outcome: MinesGameOutcome | null;
6010
+ minesCount: number;
6011
+ numMinesRemaining: number;
6012
+ numGemsFound: number;
6013
+ numGemsRemaining: number;
6014
+ state: MinesFlowState;
6015
+ betAmount: Big$1;
6016
+ }
6017
+ declare enum WheelRiskLevel {
6018
+ LOW_RISK = "LOW_RISK",
6019
+ MEDIUM_RISK = "MEDIUM_RISK",
6020
+ HIGH_RISK = "HIGH_RISK"
6021
+ }
6022
+ declare enum WheelSegments {
6023
+ TEN = 10,
6024
+ TWENTY = 20,
6025
+ THIRTY = 30,
6026
+ FORTY = 40,
6027
+ FIFTY = 50
6028
+ }
6029
+ export type Bounds = {
6030
+ lower: number;
6031
+ upper: number;
6032
+ };
6033
+ declare enum RollType {
6034
+ ROLL_BETWEEN = "ROLL_BETWEEN",
6035
+ ROLL_OUTSIDE = "ROLL_OUTSIDE",
6036
+ ROLL_BETWEEN_TWO = "ROLL_BETWEEN_TWO"
6037
+ }
6038
+ export type RollBetween = {
6039
+ mode: RollType.ROLL_BETWEEN;
6040
+ bounds: Bounds;
6041
+ };
6042
+ export type RollOutside = {
6043
+ mode: RollType.ROLL_OUTSIDE;
6044
+ bounds: Bounds;
6045
+ };
6046
+ export type RollBetweenTwo = {
6047
+ mode: RollType.ROLL_BETWEEN_TWO;
6048
+ firstBounds: Bounds;
6049
+ secondBounds: Bounds;
6050
+ };
6051
+ export type AdvancedDiceInputs = RollBetween | RollOutside | RollBetweenTwo;
6052
+ declare enum PlinkoRiskLevel {
6053
+ LOW_RISK = "LOW_RISK",
6054
+ MEDIUM_RISK = "MEDIUM_RISK",
6055
+ HIGH_RISK = "HIGH_RISK"
6056
+ }
6057
+ declare const plinkoRowCountOptions: readonly [
6058
+ 8,
6059
+ 9,
6060
+ 10,
6061
+ 11,
6062
+ 12,
6063
+ 13,
6064
+ 14,
6065
+ 15,
6066
+ 16
6067
+ ];
6068
+ export type PlinkoRowCount = (typeof plinkoRowCountOptions)[number];
6069
+ export type BetMode = "Manual" | "Auto";
6070
+ export type AfterBetEffect = "Reset" | "Increase";
6071
+ export type AutobetValues = {
6072
+ onWinPercentage: string;
6073
+ onLossPercentage: string;
6074
+ stopOnProfit: string;
6075
+ stopOnLoss: string;
6076
+ onLossStrategy: AfterBetEffect;
6077
+ onWinStrategy: AfterBetEffect;
6078
+ };
6079
+ export type AutobetEventPayload = AutobetValues & {
6080
+ numberOfBets: string;
6081
+ };
6082
+ declare enum KenoRiskLevel {
6083
+ CLASSIC = "CLASSIC",
6084
+ LOW_RISK = "LOW_RISK",
6085
+ MEDIUM_RISK = "MEDIUM_RISK",
6086
+ HIGH_RISK = "HIGH_RISK"
6087
+ }
6088
+ declare const VALID_KENO_EDGES: readonly [
6089
+ 1,
6090
+ 2,
6091
+ 3,
6092
+ 4,
6093
+ 8
6094
+ ];
6095
+ export type KenoEdge = (typeof VALID_KENO_EDGES)[number];
6096
+ export type AutobetToggleEvent = CustomEvent<AutobetEventPayload>;
6097
+ export type LimboMultiplierChangeEvent = CustomEvent<{
6098
+ multiplier: string;
6099
+ }>;
6100
+ export type LimboMultiplierAnimationEndEvent = CustomEvent<{
6101
+ resultMultiplier: number;
6102
+ isWin: boolean;
6103
+ betId: string;
6104
+ }>;
6105
+ export type KenoRiskChangeEvent = CustomEvent<{
6106
+ value: KenoRiskLevel;
6107
+ }>;
6108
+ export type KenoTileClickEvent = CustomEvent<{
6109
+ tile: number;
6110
+ }>;
6111
+ export type AutobetSettingsWithId = AutobetEventPayload & {
6112
+ autobetId: string;
6113
+ betIndex: number;
6114
+ pnlSinceStart: string;
6115
+ };
6116
+ export interface GameBetResult {
6117
+ pnl: Big$1;
6118
+ gameOutcome: "Win" | "Loss" | "Draw";
6119
+ hasError: boolean;
6120
+ errorMessage?: string;
6121
+ }
6122
+ declare abstract class GameComponent extends OrigamiElement {
6123
+ protected manualOrAuto: BetMode;
6124
+ protected hasPendingBet: boolean;
6125
+ protected autobetInProgress: boolean;
6126
+ protected autobetStopping: boolean;
6127
+ static styles: import("lit").CSSResult[];
6128
+ protected onBetAmountChange: (_oldBetAmount: string, _newBetAmount: string) => void;
6129
+ private gameConsumer;
6130
+ get gameData(): gameContextType;
6131
+ get isDemoMode(): boolean;
6132
+ get isToggleDisabled(): boolean;
6133
+ get areInputsDisabled(): boolean;
6134
+ protected getDelay(normalDelay: number): number;
6135
+ protected getAutobetDelay(): number;
6136
+ protected forceUIUpdate(): Promise<void>;
6137
+ protected executeInstantOrAnimated<T>(instantOperation: () => Promise<T> | T, animatedOperation: () => Promise<T> | T): Promise<T>;
6138
+ /**
6139
+ * @deprecated Use sleep instead
6140
+ */
6141
+ protected ensureMinimumDisplayTime(hasWin?: boolean, winDisplayTime?: number, lossDisplayTime?: number): Promise<void>;
6142
+ disconnectedCallback(): void;
6143
+ toggleAutobet(event: AutobetToggleEvent): Promise<void>;
6144
+ protected abstract executeAutobet(autobetSettings: AutobetSettingsWithId, currentBetAmount: string): Promise<GameBetResult>;
6145
+ protected adjustBetAmount(autobetSettings: AutobetSettingsWithId, gameOutcome: "Win" | "Loss" | "Draw", originalBetAmount: string, currentBetAmount: string): string;
6146
+ protected isPnLWithinLimits(autobetSettings: AutobetSettingsWithId, totalPnL: Big$1): boolean;
6147
+ protected updateHistoryWithBet(betResult: NewHistoryItem): void;
6148
+ protected showError(message: string): void;
6149
+ protected playWinFeedback(): void;
6150
+ }
6151
+ declare enum OrigamiActionType {
6152
+ START_BET = "START_BET",// bet started but not yet ended send to the /bet webhook
6153
+ 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
6154
+ ROLLBACK = "ROLLBACK",// send to the /rollback webhook
6155
+ INTERMEDIATE_BET_ACTION = "INTERMEDIATE_BET_ACTION",// bet amount was increased without game ending, such as doubling down in blackjack
6156
+ INTERMEDIATE_NON_BET_ACTION = "INTERMEDIATE_NON_BET_ACTION"
6157
+ }
6158
+ export type DiceStartAction = {
6159
+ direction: DiceDirection;
6160
+ selectedValue: number;
6161
+ };
6162
+ export type KenoStartAction = {
6163
+ riskLevel: KenoRiskLevel;
6164
+ selectedNumbers: number[];
6165
+ };
6166
+ export type EndAction = {
6167
+ result: number[];
6168
+ };
6169
+ export type LimboStartAction = {
6170
+ targetMultiplier: number;
6171
+ };
6172
+ export type LimboEndAction = {
6173
+ result: number[];
6174
+ randomMultiplier: string;
6175
+ };
6176
+ export type MinesStartAction = {
6177
+ minesCount: number;
6178
+ selectedTiles: number[];
6179
+ hasCashedOut: boolean;
6180
+ };
6181
+ export interface DiamondsStartAction {
6182
+ }
6183
+ export interface WheelStartAction {
6184
+ riskLevel: WheelRiskLevel;
6185
+ segments: WheelSegments;
6186
+ }
6187
+ export interface PlinkoStartAction {
6188
+ riskLevel: PlinkoRiskLevel;
6189
+ numberOfRows: PlinkoRowCount;
6190
+ }
6191
+ export type AdvancedDiceStartAction = AdvancedDiceInputs;
6192
+ export type BaccaratEndAction = BaccaratGameOutputs & {
6193
+ result: number[];
6194
+ };
6195
+ export interface RouletteStraightBet {
6196
+ amount: string;
6197
+ value: number;
6198
+ }
6199
+ export interface RouletteSplitBet {
6200
+ amount: string;
6201
+ values: readonly [
6202
+ number,
6203
+ number
6204
+ ];
6205
+ }
6206
+ export interface RouletteStreetBet {
6207
+ amount: string;
6208
+ values: readonly [
6209
+ number,
6210
+ number,
6211
+ number
6212
+ ];
6213
+ }
6214
+ export interface RouletteCornerBet {
6215
+ amount: string;
6216
+ values: readonly [
6217
+ number,
6218
+ number,
6219
+ number,
6220
+ number
6221
+ ];
6222
+ }
6223
+ export interface RouletteDoubleStreetBet {
6224
+ amount: string;
6225
+ values: readonly [
6226
+ number,
6227
+ number,
6228
+ number,
6229
+ number,
6230
+ number,
6231
+ number
6232
+ ];
6233
+ }
6234
+ export interface RouletteParityBet {
6235
+ amount: string;
6236
+ parity: Parity;
6237
+ }
6238
+ export interface RouletteColorBet {
6239
+ amount: string;
6240
+ color: Color;
6241
+ }
6242
+ export interface RouletteHalfBet {
6243
+ amount: string;
6244
+ half: Half;
6245
+ }
6246
+ export interface RouletteColumnBet {
6247
+ amount: string;
6248
+ column: Column;
6249
+ }
6250
+ export interface RouletteDozenBet {
6251
+ amount: string;
6252
+ dozen: Dozen;
6253
+ }
6254
+ export interface RouletteBasketBet {
6255
+ amount: string;
6256
+ }
6257
+ export interface EuropeanRouletteInputs {
6258
+ straightBets: RouletteStraightBet[];
6259
+ splitBets: RouletteSplitBet[];
6260
+ streetBets: RouletteStreetBet[];
6261
+ cornerBets: RouletteCornerBet[];
6262
+ doubleStreetBets: RouletteDoubleStreetBet[];
6263
+ parityBets: RouletteParityBet[];
6264
+ colorBets: RouletteColorBet[];
6265
+ halfBets: RouletteHalfBet[];
6266
+ columnBets: RouletteColumnBet[];
6267
+ dozenBets: RouletteDozenBet[];
6268
+ }
6269
+ export interface AmericanRouletteInputs extends EuropeanRouletteInputs {
6270
+ basketBets: RouletteBasketBet[];
6271
+ }
6272
+ export type RouletteStartAction = {
6273
+ type: RouletteType.EUROPEAN;
6274
+ inputs: EuropeanRouletteInputs;
6275
+ } | {
6276
+ type: RouletteType.AMERICAN;
6277
+ inputs: AmericanRouletteInputs;
6278
+ };
6279
+ export interface RouletteBetOutcomes {
6280
+ winningBets: EuropeanRouletteInputs;
6281
+ losingBets: EuropeanRouletteInputs;
6282
+ }
6283
+ export interface RouletteEndAction {
6284
+ type: "european" | "american";
6285
+ betOutcomes: RouletteBetOutcomes;
6286
+ result: number[];
6287
+ }
6288
+ export interface Action {
6289
+ id: string;
6290
+ data: {
6291
+ DICE?: DiceStartAction | EndAction;
6292
+ KENO?: KenoStartAction | EndAction;
6293
+ LIMBO?: LimboStartAction | LimboEndAction;
6294
+ MINES?: MinesStartAction | EndAction;
6295
+ DIAMONDS?: DiamondsStartAction | EndAction;
6296
+ WHEEL?: WheelStartAction | EndAction;
6297
+ PLINKO?: PlinkoStartAction | EndAction;
6298
+ ADVANCED_DICE?: AdvancedDiceStartAction | EndAction;
6299
+ ROULETTE?: RouletteStartAction | RouletteEndAction;
6300
+ BACCARAT?: BaccaratGameInputs | BaccaratEndAction;
6301
+ };
6302
+ betAmount: string | null;
6303
+ payoutAmount: string | null;
6304
+ actionIndex: number;
6305
+ type: OrigamiActionType;
6306
+ }
6307
+ export interface BetResult {
6308
+ id: string;
6309
+ nonce: number;
6310
+ amount: string;
6311
+ payout: string | null;
6312
+ currency: Currency;
6313
+ userId: string;
6314
+ gameId: string;
6315
+ multiplier: string | null;
6316
+ tenantId: string;
6317
+ clientSeed: string;
6318
+ randomValue: string | null;
6319
+ proof: string | null;
6320
+ afterBalance: string | null;
6321
+ tenantUserId: string;
6322
+ betActions: Array<Action>;
6289
6323
  }
6290
- export type BetMode = "Manual" | "Auto";
6291
- export type AutobetToggleEvent = CustomEvent<AutobetEventPayload>;
6292
- export type LimboMultiplierChangeEvent = CustomEvent<{
6293
- multiplier: string;
6294
- }>;
6295
- export type LimboWinChanceChangeEvent = CustomEvent<{
6296
- winChance: string;
6297
- }>;
6298
- export type LimboMultiplierAnimationEndEvent = CustomEvent<{
6299
- resultMultiplier: number;
6300
- isWin: boolean;
6301
- betId: string;
6302
- }>;
6303
- export type KenoRiskChangeEvent = CustomEvent<{
6304
- value: KenoRiskLevel;
6305
- }>;
6306
- export type KenoTileClickEvent = CustomEvent<{
6307
- tile: number;
6308
- }>;
6309
- export type AutobetSettingsWithId = AutobetEventPayload & {
6324
+ export type StartBetResponse = {
6325
+ success: true;
6326
+ data: BetResult;
6327
+ } | {
6328
+ success: false;
6329
+ error: string;
6330
+ };
6331
+ export type AutobetApiSettings = {
6332
+ onWinStrategy: AfterBetEffect;
6333
+ onLossStrategy: AfterBetEffect;
6334
+ onWinPercentage: string;
6335
+ onLossPercentage: string;
6336
+ stopOnLoss: string;
6337
+ stopOnProfit: string;
6338
+ numberOfBets: number;
6310
6339
  autobetId: string;
6311
6340
  betIndex: number;
6312
6341
  pnlSinceStart: string;
6313
6342
  };
6314
- export interface GameBetResult {
6315
- pnl: Big$1;
6316
- gameOutcome: "Win" | "Loss" | "Draw";
6317
- hasError: boolean;
6318
- errorMessage?: string;
6319
- }
6320
- declare abstract class GameComponent extends OrigamiElement {
6321
- protected manualOrAuto: BetMode;
6322
- protected hasPendingBet: boolean;
6323
- protected autobetInProgress: boolean;
6324
- protected autobetStopping: boolean;
6325
- static styles: import("lit").CSSResult[];
6326
- protected onBetAmountChange: (_oldBetAmount: string, _newBetAmount: string) => void;
6327
- private gameConsumer;
6328
- get gameData(): gameContextType;
6329
- get isDemoMode(): boolean;
6330
- get isToggleDisabled(): boolean;
6331
- get areInputsDisabled(): boolean;
6332
- protected getDelay(normalDelay: number): number;
6333
- protected getAutobetDelay(): number;
6334
- protected forceUIUpdate(): Promise<void>;
6335
- protected executeInstantOrAnimated<T>(instantOperation: () => Promise<T> | T, animatedOperation: () => Promise<T> | T): Promise<T>;
6336
- /**
6337
- * @deprecated Use sleep instead
6338
- */
6339
- protected ensureMinimumDisplayTime(hasWin?: boolean, winDisplayTime?: number, lossDisplayTime?: number): Promise<void>;
6340
- disconnectedCallback(): void;
6341
- toggleAutobet(event: AutobetToggleEvent): Promise<void>;
6342
- protected abstract executeAutobet(autobetSettings: AutobetSettingsWithId, currentBetAmount: string): Promise<GameBetResult>;
6343
- protected adjustBetAmount(autobetSettings: AutobetSettingsWithId, gameOutcome: "Win" | "Loss" | "Draw", originalBetAmount: string, currentBetAmount: string): string;
6344
- protected isPnLWithinLimits(autobetSettings: AutobetSettingsWithId, totalPnL: Big$1): boolean;
6345
- protected updateHistoryWithBet(betResult: BetResult): void;
6346
- protected showError(message: string): void;
6347
- protected playWinFeedback(): void;
6348
- }
6349
- export interface DiceStartArgs extends BaseStartArgs {
6350
- language: Language;
6351
- direction: DiceDirection;
6352
- selectedValue: number;
6353
- }
6354
- declare class DiceApi {
6355
- private authToken;
6356
- private baseUrl;
6357
- constructor(authToken: string, baseUrl: string);
6358
- startBet(data: DiceStartArgs): Promise<{
6359
- success: true;
6360
- data: any;
6361
- error?: undefined;
6362
- } | {
6363
- success: false;
6364
- error: string;
6365
- data?: undefined;
6366
- }>;
6367
- }
6368
- declare class MockDiceApi {
6369
- private readonly edge;
6370
- constructor(edge: number);
6371
- startBet(data: DiceStartArgs): Promise<{
6372
- success: true;
6373
- data: BetResult;
6374
- }>;
6375
- private static getRandomValueInRange;
6343
+ export interface BaseStartArgs {
6344
+ currency: Currency;
6345
+ amount: string;
6346
+ meta?: {
6347
+ autobetSettings?: AutobetApiSettings;
6348
+ };
6376
6349
  }
6377
6350
  export declare class DiceGame extends GameComponent {
6378
6351
  static styles: import("lit").CSSResult[];
6379
6352
  private diceDirection;
6380
6353
  private selectedValue;
6381
6354
  private isManualPlaying;
6382
- private showDice;
6383
6355
  private isWin;
6384
6356
  private resultValue;
6385
6357
  private history;
6386
6358
  private _multiplierInputValid;
6387
6359
  private _winChanceInputValid;
6360
+ private _rollValueInputValid;
6388
6361
  private _diceManualEl?;
6389
6362
  private _diceAutoEl?;
6390
6363
  get isToggleDisabled(): boolean;
6391
6364
  get areInputsDisabled(): boolean;
6392
- private getManualButton;
6393
- private getAutobetButton;
6394
6365
  private isSpacebarDisabled;
6395
6366
  private handleSpacebar;
6396
6367
  diceRollOverToggle: () => void;
6397
6368
  constructor();
6398
6369
  private decreaseSlider;
6399
6370
  private increaseSlider;
6400
- get diceApi(): DiceApi | MockDiceApi;
6371
+ private addToHistory;
6372
+ private readonly getDiceApi;
6401
6373
  dicePlay(): Promise<void>;
6402
6374
  private handleBetExecution;
6403
- addToHistory(multiplier: number, won: boolean, id: string): void;
6404
6375
  protected executeAutobet(autobetSettings: AutobetSettingsWithId, currentBetAmount: string): Promise<GameBetResult>;
6405
6376
  render(): import("lit-html").TemplateResult<1>;
6406
6377
  }
@@ -6476,49 +6447,11 @@ export declare class KenoGame extends GameComponent {
6476
6447
  constructor();
6477
6448
  firstUpdated(changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
6478
6449
  }
6479
- export interface LimboStartArgs extends BaseStartArgs {
6480
- language: Language;
6481
- targetMultiplier: number;
6482
- }
6483
- declare class LimboApi {
6484
- private authToken;
6485
- private baseUrl;
6486
- static winChancePrecision: number;
6487
- static multiplierPrecision: number;
6488
- static minMultiplier: number;
6489
- static maxMultiplier: number;
6490
- static getMinWinChance(edge: number): string;
6491
- static getMaxWinChance(edge: number): string;
6492
- constructor(authToken: string, baseUrl: string);
6493
- startBet: (data: LimboStartArgs) => Promise<{
6494
- success: true;
6495
- data: any;
6496
- error?: undefined;
6497
- } | {
6498
- success: false;
6499
- error: string;
6500
- data?: undefined;
6501
- }>;
6502
- static calculateMultiplier(winChance: number, edge: number): string;
6503
- static calculateWinChance(targetMultiplier: number, edge: number): string;
6504
- static isValidMultiplier(multiplier: string): boolean;
6505
- static isValidWinChance(winChance: string, edge: number): boolean;
6506
- }
6507
- declare class MockLimboApi {
6508
- private readonly edge;
6509
- constructor(edge: number);
6510
- startBet(data: LimboStartArgs): Promise<{
6511
- success: true;
6512
- data: BetResult;
6513
- }>;
6514
- private getRandomMultiplier;
6515
- }
6516
6450
  export declare class LimboGame extends GameComponent {
6517
6451
  static styles: import("lit").CSSResult[];
6518
6452
  private targetMultiplier;
6519
6453
  private resultMultiplier;
6520
6454
  private isManualPlaying;
6521
- private isWin;
6522
6455
  private history;
6523
6456
  private betTargetMultiplier;
6524
6457
  private betId;
@@ -6528,174 +6461,49 @@ export declare class LimboGame extends GameComponent {
6528
6461
  private _limboAutoEl?;
6529
6462
  get isToggleDisabled(): boolean;
6530
6463
  get areInputsDisabled(): boolean;
6531
- private getManualButton;
6532
- private getAutobetButton;
6533
- get limboApi(): LimboApi | MockLimboApi;
6464
+ private readonly getLimboApi;
6465
+ constructor();
6534
6466
  limboPlay(): Promise<void>;
6535
6467
  private handleBetExecution;
6468
+ private static readonly ANIMATION_TIMEOUT_MS;
6469
+ private waitForAnimationComplete;
6536
6470
  private isSpacebarDisabled;
6537
6471
  private handleSpacebar;
6538
- constructor();
6539
- disconnectedCallback(): void;
6540
6472
  protected executeAutobet(autobetSettings: AutobetSettingsWithId, currentBetAmount: string): Promise<GameBetResult>;
6541
6473
  multiplierChange: (e: LimboMultiplierChangeEvent) => void;
6542
6474
  calculateProfitOnWin(): string;
6543
- winChanceChange: (e: LimboWinChanceChangeEvent) => void;
6544
6475
  addToHistory(multiplier: number, won: boolean, id: string): void;
6545
6476
  multiplierAnimationEnd: (e: LimboMultiplierAnimationEndEvent) => void;
6546
6477
  render(): import("lit-html").TemplateResult<1>;
6547
6478
  }
6548
- export type MinesManualStartArgs = {
6549
- language: Language;
6550
- currency: Currency;
6551
- amount: string;
6552
- minesCount: number;
6553
- };
6554
- export type MinesNextArgs = {
6555
- betId?: string;
6556
- selectedTiles: number[];
6557
- };
6558
- export interface MinesAutoArgs extends BaseStartArgs {
6559
- language: Language;
6560
- minesCount: number;
6561
- selectedTiles: number[];
6562
- }
6563
- declare class MinesApi {
6564
- private authToken;
6565
- private baseUrl;
6566
- constructor(authToken: string, baseUrl: string);
6567
- startManualBet(data: MinesManualStartArgs): Promise<{
6568
- success: true;
6569
- data: any;
6570
- error?: undefined;
6571
- } | {
6572
- success: false;
6573
- error: string;
6574
- data?: undefined;
6575
- }>;
6576
- getActiveBet(): Promise<{
6577
- success: false;
6578
- error: string;
6579
- data?: undefined;
6580
- } | {
6581
- success: true;
6582
- data: BetResult;
6583
- error?: undefined;
6584
- }>;
6585
- selectTile(minesNextArgs: MinesNextArgs): Promise<{
6586
- success: true;
6587
- data: BetResult;
6588
- error?: undefined;
6589
- } | {
6590
- success: false;
6591
- error: string;
6592
- data?: undefined;
6593
- }>;
6594
- cashout(): Promise<{
6595
- success: true;
6596
- data: BetResult;
6597
- error?: undefined;
6598
- } | {
6599
- success: false;
6600
- error: string;
6601
- data?: undefined;
6602
- }>;
6603
- autobetPlay(data: MinesAutoArgs): Promise<{
6604
- success: true;
6605
- data: any;
6606
- error?: undefined;
6607
- } | {
6608
- success: false;
6609
- error: string;
6610
- data?: undefined;
6611
- }>;
6612
- static getInitialState: () => MinesState;
6613
- static deriveSelectedTiles: (betActions?: Action[] | null) => number[];
6614
- static deriveMineLocations: (betActions?: Action[] | null) => number[];
6615
- static getMinesBetInfo: (betActions: Action[]) => {
6616
- selected: number[];
6617
- mines: number[];
6618
- };
6619
- static deriveOutcome: (bet?: BetResult) => MinesGameOutcome | null;
6620
- static deriveAutoOutcome: (bet?: BetResult | null) => MinesGameOutcome | null;
6621
- static calculateMinesMultiplier: (gemsFound: number, mines: number, edge: number) => Big$1;
6622
- static getState: (bet: BetResult) => MinesState;
6623
- }
6624
- declare class MockMinesApi {
6625
- private readonly edge;
6626
- private static activeBet;
6627
- private static minePositions;
6628
- constructor(edge: number);
6629
- startManualBet(data: MinesManualStartArgs): Promise<{
6630
- success: true;
6631
- data: BetResult;
6632
- }>;
6633
- getActiveBet(): Promise<{
6634
- success: false;
6635
- error: string;
6636
- data?: undefined;
6637
- } | {
6638
- success: true;
6639
- data: BetResult;
6640
- error?: undefined;
6641
- }>;
6642
- selectTile(data: MinesNextArgs): Promise<{
6643
- success: false;
6644
- error: string;
6645
- data?: undefined;
6646
- } | {
6647
- success: true;
6648
- data: BetResult;
6649
- error?: undefined;
6650
- }>;
6651
- cashout(): Promise<{
6652
- success: false;
6653
- error: string;
6654
- data?: undefined;
6655
- } | {
6656
- success: true;
6657
- data: BetResult;
6658
- error?: undefined;
6659
- }>;
6660
- autobetPlay(data: MinesAutoArgs): Promise<{
6661
- success: true;
6662
- data: BetResult;
6663
- }>;
6664
- private static getRandomValueInRange;
6665
- private static generateMinePositions;
6666
- private static createBetAction;
6667
- private createMockBetResult;
6668
- }
6669
6479
  export declare class MinesGame extends GameComponent {
6670
6480
  private minesCount;
6671
6481
  private autobetSelectedTiles;
6672
6482
  private minesData;
6673
6483
  private isLoading;
6674
6484
  private isSelectingRandomTile;
6675
- private history;
6676
6485
  private isCheckingForSession;
6677
6486
  private loadingTiles;
6678
6487
  static styles: import("lit").CSSResult[];
6679
6488
  private _minesManualEl?;
6680
6489
  private _minesAutoEl?;
6681
- private getButton;
6682
- private clickButton;
6683
- private _playSound;
6684
- private _getGemPitchFromHits;
6685
- private _playGem;
6686
- private authTokenWatcher;
6490
+ private readonly sessionWatcher;
6687
6491
  get isToggleDisabled(): boolean;
6688
6492
  get areInputsDisabled(): boolean;
6689
6493
  get isGameActive(): boolean;
6690
- get minesApi(): MinesApi | MockMinesApi;
6691
- addToHistory(multiplier: number, won: boolean, id: string): void;
6494
+ private readonly getMinesApi;
6495
+ get minesState(): MinesState | null;
6496
+ private gameOutcomeFromMinesOutcome;
6497
+ private deriveManualControlValues;
6498
+ private playTileSound;
6499
+ private gemPitchFromHits;
6500
+ private playGemReveal;
6692
6501
  getMinesActiveBet(): Promise<void>;
6693
6502
  firstUpdated(changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
6694
6503
  protected updated(changedProperties: Map<string | number | symbol, unknown>): void;
6695
- get getMinesState(): MinesState | null;
6696
6504
  protected executeAutobet(autobetSettings: AutobetSettingsWithId, currentBetAmount: string): Promise<GameBetResult>;
6697
6505
  toggleAutobet(event: AutobetToggleEvent): Promise<void>;
6698
- private minesClickHandler;
6506
+ private readonly minesClickHandler;
6699
6507
  minesManualStart(): Promise<void>;
6700
6508
  minesChooseRandomTile(): Promise<void>;
6701
6509
  minesNext(selectedTile: number): Promise<void>;
@@ -6705,7 +6513,10 @@ export declare class MinesGame extends GameComponent {
6705
6513
  onAutobetChange(): void;
6706
6514
  private isSpacebarDisabled;
6707
6515
  private handleSpacebar;
6708
- private pickRandomTile;
6516
+ private isRandomTileHotkeyDisabled;
6517
+ private handleRandomTileHotkey;
6518
+ private isCashoutHotkeyDisabled;
6519
+ private handleCashoutHotkey;
6709
6520
  private waitForAnimationsComplete;
6710
6521
  constructor();
6711
6522
  render(): import("lit-html").TemplateResult<1>;