@bluebottle_gg/league-broadcast-client 0.3.0 → 1.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.
package/dist/index.js CHANGED
@@ -688,6 +688,10 @@ var GameApi = class {
688
688
  async getCurrentGame() {
689
689
  return this.client.get("game/current");
690
690
  }
691
+ /** `POST game/current/start` */
692
+ async startCurrentOrScheduledGame() {
693
+ return this.client.post("game/current/start");
694
+ }
691
695
  /** `GET game/previous` */
692
696
  async getPreviousGame() {
693
697
  return this.client.get("game/previous");
@@ -1146,6 +1150,165 @@ var IngameApi = class {
1146
1150
  }
1147
1151
  };
1148
1152
 
1153
+ // src/api/generated/PostGameApi.ts
1154
+ var PostGameApi = class {
1155
+ constructor(client) {
1156
+ this.client = client;
1157
+ }
1158
+ /** `POST postgame/route/{uri}` */
1159
+ async changeRoute(uri, ComponentData) {
1160
+ return this.client.post(`postgame/route/${uri}`, ComponentData);
1161
+ }
1162
+ /** `POST postgame/mock/{mocking}` */
1163
+ async setMocking(mocking) {
1164
+ return this.client.post(`postgame/mock/${mocking}`);
1165
+ }
1166
+ /** `GET postgame/mock` */
1167
+ async getMocking() {
1168
+ return this.client.get("postgame/mock");
1169
+ }
1170
+ /** `GET postgame/frontend` */
1171
+ async getFrontendUrl() {
1172
+ return this.client.get("postgame/frontend");
1173
+ }
1174
+ /** `POST postgame/frontend` */
1175
+ async changeRouting(uri) {
1176
+ return this.client.post(`postgame/frontend?uri=${encodeURIComponent(String(uri))}`);
1177
+ }
1178
+ /** `GET postgame/overview/{gameId}` */
1179
+ async getGameOverview(gameId) {
1180
+ return this.client.get(`postgame/overview/${gameId}`);
1181
+ }
1182
+ /** `GET postgame/overview/current` */
1183
+ async getCurrentGameOverview() {
1184
+ return this.client.get("postgame/overview/current");
1185
+ }
1186
+ /** `GET postgame/overview/mock` */
1187
+ async getMockGameOverview() {
1188
+ return this.client.get("postgame/overview/mock");
1189
+ }
1190
+ /** `GET postgame/matchdata/{gameId}` */
1191
+ async getMatchData(gameId) {
1192
+ return this.client.get(`postgame/matchdata/${gameId}`);
1193
+ }
1194
+ /** `GET postgame/matchdata/current` */
1195
+ async getCurrentMatchData() {
1196
+ return this.client.get("postgame/matchdata/current");
1197
+ }
1198
+ /** `GET postgame/matchdata/mock` */
1199
+ async getMockMatchData() {
1200
+ return this.client.get("postgame/matchdata/mock");
1201
+ }
1202
+ /** `GET postgame/matchdata` */
1203
+ async getMatchDataRange(startDate, endDate, startGameId, endGameId, teamId, seasonId) {
1204
+ return this.client.get(`postgame/matchdata?startDate=${encodeURIComponent(String(startDate))}&endDate=${encodeURIComponent(String(endDate))}&startGameId=${encodeURIComponent(String(startGameId))}&endGameId=${encodeURIComponent(String(endGameId))}&teamId=${encodeURIComponent(String(teamId))}&seasonId=${encodeURIComponent(String(seasonId))}`);
1205
+ }
1206
+ /** `GET postgame/matchdata/mock/filter` */
1207
+ async getMockMatchDataRange(startDate, endDate, startGameId, endGameId, teamId, seasonId) {
1208
+ return this.client.get(`postgame/matchdata/mock/filter?startDate=${encodeURIComponent(String(startDate))}&endDate=${encodeURIComponent(String(endDate))}&startGameId=${encodeURIComponent(String(startGameId))}&endGameId=${encodeURIComponent(String(endGameId))}&teamId=${encodeURIComponent(String(teamId))}&seasonId=${encodeURIComponent(String(seasonId))}`);
1209
+ }
1210
+ /** `GET postgame/matchoverview/{matchId}` */
1211
+ async getMatchOverview(matchId) {
1212
+ return this.client.get(`postgame/matchoverview/${matchId}`);
1213
+ }
1214
+ /** `GET postgame/matchoverview/current` */
1215
+ async getCurrentMatchOverview() {
1216
+ return this.client.get("postgame/matchoverview/current");
1217
+ }
1218
+ /** `GET postgame/matchoverview/mock` */
1219
+ async getMockMatchOverview() {
1220
+ return this.client.get("postgame/matchoverview/mock");
1221
+ }
1222
+ /** `GET postgame/items_and_runes/{gameId}/{playerIndex}` */
1223
+ async getItemsAndRunes(gameId, playerIndex) {
1224
+ return this.client.get(`postgame/items_and_runes/${gameId}/${playerIndex}`);
1225
+ }
1226
+ /** `GET postgame/items_and_runes/{gameId}/{teamSide}/{lane}` */
1227
+ async getItemsAndRunesByTeamAndLane(gameId, teamSide, lane) {
1228
+ return this.client.get(`postgame/items_and_runes/${gameId}/${teamSide}/${lane}`);
1229
+ }
1230
+ /** `GET postgame/items_and_runes/mock` */
1231
+ async getMockItemAndRunes() {
1232
+ return this.client.get("postgame/items_and_runes/mock");
1233
+ }
1234
+ /** `GET postgame/player_stats/{gameId}/{playerIndex}` */
1235
+ async getPlayerStats(gameId, playerIndex) {
1236
+ return this.client.get(`postgame/player_stats/${gameId}/${playerIndex}`);
1237
+ }
1238
+ /** `GET postgame/player_stats/{gameId}/{teamSide}/{lane}` */
1239
+ async getPlayerStatsByTeamAndLane(gameId, teamSide, lane) {
1240
+ return this.client.get(`postgame/player_stats/${gameId}/${teamSide}/${lane}`);
1241
+ }
1242
+ /** `GET postgame/player_stats/mock` */
1243
+ async getMockPlayerStats() {
1244
+ return this.client.get("postgame/player_stats/mock");
1245
+ }
1246
+ /** `GET postgame/gold/{gameId}` */
1247
+ async getGameGoldGraph(gameId) {
1248
+ return this.client.get(`postgame/gold/${gameId}`);
1249
+ }
1250
+ /** `GET postgame/gold/mock` */
1251
+ async getMockGameGoldGraph() {
1252
+ return this.client.get("postgame/gold/mock");
1253
+ }
1254
+ /** `GET postgame/damage/{gameId}` */
1255
+ async getGameDamageGraph(gameId) {
1256
+ return this.client.get(`postgame/damage/${gameId}`);
1257
+ }
1258
+ /** `GET postgame/damage/mock` */
1259
+ async getMockGameDamageGraph() {
1260
+ return this.client.get("postgame/damage/mock");
1261
+ }
1262
+ /** `GET postgame/team/{matchId}` */
1263
+ async getTeamPostGameData(matchId) {
1264
+ return this.client.get(`postgame/team/${matchId}`);
1265
+ }
1266
+ /** `GET postgame/team/mock` */
1267
+ async getMockTeamPostGameData() {
1268
+ return this.client.get("postgame/team/mock");
1269
+ }
1270
+ /** `POST postgame/active/{componentType}/current` */
1271
+ async setActiveCurrentPostGameAnalysis(componentType, body) {
1272
+ return this.client.post(`postgame/active/${componentType}/current`, body);
1273
+ }
1274
+ /** `POST postgame/active/{componentType}/current/team/{teamSide}` */
1275
+ async setActiveCurrentPostGameAnalysisWithTeam(componentType, teamSide, body) {
1276
+ return this.client.post(`postgame/active/${componentType}/current/team/${teamSide}`, body);
1277
+ }
1278
+ /** `POST postgame/active/{componentType}/current/player/{playerIndex}` */
1279
+ async setActiveCurrentPostGameAnalysisWithPlayer(componentType, playerIndex, body) {
1280
+ return this.client.post(`postgame/active/${componentType}/current/player/${playerIndex}`, body);
1281
+ }
1282
+ /** `POST postgame/active/{componentType}/{gameId}` */
1283
+ async setActivePostGameAnalysis(componentType, gameId, body) {
1284
+ return this.client.post(`postgame/active/${componentType}/${gameId}`, body);
1285
+ }
1286
+ /** `POST postgame/active/{componentType}/match/{matchId}` */
1287
+ async setActivePostGameAnalysisWithMatch(componentType, matchId, body) {
1288
+ return this.client.post(`postgame/active/${componentType}/match/${matchId}`, body);
1289
+ }
1290
+ /** `POST postgame/active/{componentType}/{gameId}/team/{teamSide}` */
1291
+ async setActivePostGameAnalysisWithTeam(componentType, gameId, teamSide, body) {
1292
+ return this.client.post(`postgame/active/${componentType}/${gameId}/team/${teamSide}`, body);
1293
+ }
1294
+ /** `POST postgame/active/{componentType}/{gameId}/player/{playerIndex}` */
1295
+ async setActivePostGameAnalysisWithPlayer(componentType, gameId, playerIndex, body) {
1296
+ return this.client.post(`postgame/active/${componentType}/${gameId}/player/${playerIndex}`, body);
1297
+ }
1298
+ /** `POST postgame/active/{componentType}/{gameId}/player/{teamSide}/{lane}` */
1299
+ async setActivePostGameAnalysisWithPlayerTeamAndLane(componentType, gameId, teamSide, lane, body) {
1300
+ return this.client.post(`postgame/active/${componentType}/${gameId}/player/${teamSide}/${lane}`, body);
1301
+ }
1302
+ /** `GET postgame/active-component` */
1303
+ async getActivePostGameAnalysis() {
1304
+ return this.client.get("postgame/active-component");
1305
+ }
1306
+ /** `DELETE postgame/active-component` */
1307
+ async clearActivePostGameAnalysis() {
1308
+ return this.client.delete("postgame/active-component");
1309
+ }
1310
+ };
1311
+
1149
1312
  // src/api/RestApi.ts
1150
1313
  var RestApi = class {
1151
1314
  constructor(baseUrl) {
@@ -1156,6 +1319,7 @@ var RestApi = class {
1156
1319
  this.season = new SeasonApi(this.client);
1157
1320
  this.preGame = new PreGameApi(this.client);
1158
1321
  this.gameState = new GameStateApi(this.client);
1322
+ this.postGame = new PostGameApi(this.client);
1159
1323
  }
1160
1324
  /**
1161
1325
  * Update the base URL for all API modules (e.g. after changing host/port).
@@ -1171,7 +1335,62 @@ var RestApi = class {
1171
1335
  }
1172
1336
  };
1173
1337
 
1338
+ // src/util/ingameTimerUtils.ts
1339
+ function getRemaining(readyAt, gameTime) {
1340
+ if (!readyAt || readyAt <= 0) return 0;
1341
+ return Math.max(0, readyAt - gameTime);
1342
+ }
1343
+ function isActive(readyAt, gameTime) {
1344
+ return getRemaining(readyAt, gameTime) > 0;
1345
+ }
1346
+ function getAbilityCooldownRemaining(ability, gameTime) {
1347
+ return getRemaining(ability?.readyAt, gameTime);
1348
+ }
1349
+ function isAbilityOnCooldown(ability, gameTime) {
1350
+ return getAbilityCooldownRemaining(ability, gameTime) > 0;
1351
+ }
1352
+ function getAbilityCooldownFraction(ability, gameTime) {
1353
+ if (!ability || !ability.totalCooldown || ability.totalCooldown <= 0)
1354
+ return 1;
1355
+ const remaining = getAbilityCooldownRemaining(ability, gameTime);
1356
+ if (remaining <= 0) return 1;
1357
+ return 1 - remaining / ability.totalCooldown;
1358
+ }
1359
+ function getItemCooldownRemaining(item, gameTime) {
1360
+ return getRemaining(item?.readyAt, gameTime);
1361
+ }
1362
+ function isItemOnCooldown(item, gameTime) {
1363
+ return getItemCooldownRemaining(item, gameTime) > 0;
1364
+ }
1365
+ function getItemCooldownFraction(item, gameTime) {
1366
+ if (!item?.maxCooldown || item.maxCooldown <= 0) return 1;
1367
+ const remaining = getItemCooldownRemaining(item, gameTime);
1368
+ if (remaining <= 0) return 1;
1369
+ return 1 - remaining / item.maxCooldown;
1370
+ }
1371
+ function getRespawnRemaining(player, gameTime) {
1372
+ return getRemaining(player?.respawnAt, gameTime);
1373
+ }
1374
+ function isPlayerDead(player, gameTime) {
1375
+ return getRespawnRemaining(player, gameTime) > 0;
1376
+ }
1377
+ function createIngameTimerUtils(getGameTime) {
1378
+ return {
1379
+ getRemaining: (readyAt) => getRemaining(readyAt, getGameTime()),
1380
+ isActive: (readyAt) => isActive(readyAt, getGameTime()),
1381
+ getAbilityCooldownRemaining: (ability) => getAbilityCooldownRemaining(ability, getGameTime()),
1382
+ isAbilityOnCooldown: (ability) => isAbilityOnCooldown(ability, getGameTime()),
1383
+ getAbilityCooldownFraction: (ability) => getAbilityCooldownFraction(ability, getGameTime()),
1384
+ getItemCooldownRemaining: (item) => getItemCooldownRemaining(item, getGameTime()),
1385
+ isItemOnCooldown: (item) => isItemOnCooldown(item, getGameTime()),
1386
+ getItemCooldownFraction: (item) => getItemCooldownFraction(item, getGameTime()),
1387
+ getRespawnRemaining: (player) => getRespawnRemaining(player, getGameTime()),
1388
+ isPlayerDead: (player) => isPlayerDead(player, getGameTime())
1389
+ };
1390
+ }
1391
+
1174
1392
  // src/LeagueBroadcastClient.ts
1393
+ var _clockInterval = null;
1175
1394
  var LeagueBroadcastClient = class {
1176
1395
  constructor(config) {
1177
1396
  this.gameState = 0 /* OutOfGame */;
@@ -1180,10 +1399,23 @@ var LeagueBroadcastClient = class {
1180
1399
  // -- In-game event handlers -------------------------------------------------
1181
1400
  this.stateUpdateHandlers = /* @__PURE__ */ new Set();
1182
1401
  this.gameStatusHandlers = /* @__PURE__ */ new Set();
1183
- this.ingameEventHandlers = {};
1402
+ this.ingameEventHandlers = {
1403
+ onPlayerEvent: /* @__PURE__ */ new Set(),
1404
+ onTeamEvent: /* @__PURE__ */ new Set(),
1405
+ onObjectiveEvent: /* @__PURE__ */ new Set(),
1406
+ onFirstTowerEvent: /* @__PURE__ */ new Set(),
1407
+ onAnnouncementEvent: /* @__PURE__ */ new Set(),
1408
+ onKillFeedEvent: /* @__PURE__ */ new Set(),
1409
+ onSmiteReactionEvent: /* @__PURE__ */ new Set()
1410
+ };
1184
1411
  // -- Pre-game event handlers ------------------------------------------------
1185
1412
  this.champSelectUpdateHandlers = /* @__PURE__ */ new Set();
1186
- this.champSelectEventHandlers = {};
1413
+ this.champSelectEventHandlers = {
1414
+ onAction: /* @__PURE__ */ new Set(),
1415
+ onChampSelectStart: /* @__PURE__ */ new Set(),
1416
+ onChampSelectEnd: /* @__PURE__ */ new Set(),
1417
+ onRouteUpdate: /* @__PURE__ */ new Set()
1418
+ };
1187
1419
  this.config = {
1188
1420
  host: config.host,
1189
1421
  port: config.port ?? 58869,
@@ -1197,19 +1429,41 @@ var LeagueBroadcastClient = class {
1197
1429
  const httpProtocol = this.config.useHttps ? "https" : "http";
1198
1430
  const apiBaseUrl = `${httpProtocol}://${this.config.host}:${this.config.port}${this.config.apiRoute}`;
1199
1431
  this.api = new RestApi(apiBaseUrl);
1432
+ this.timers = createIngameTimerUtils(() => this.gameData.gameTime);
1200
1433
  this.ingameWs = new WebSocketManager();
1201
1434
  this.gameData = new ingameFrontendData();
1202
1435
  this.ingameStore = new GameStateStore(this.gameData, this.gameState);
1203
1436
  this.setupIngameMessageHandler();
1437
+ this.ingameWs.onDisconnect(() => this.endGame());
1204
1438
  this.preGameWs = new WebSocketManager();
1205
1439
  this.champSelectData = new champSelectStateData();
1206
1440
  this.preGameStore = new ChampSelectStateStore(this.champSelectData);
1207
1441
  this.setupPreGameMessageHandler();
1442
+ this.preGameWs.onDisconnect(() => this.endChampSelect());
1208
1443
  if (this.config.autoConnect) {
1209
1444
  this.connect();
1210
1445
  }
1211
1446
  }
1212
1447
  // ===========================================================================
1448
+ // Internal clock management
1449
+ // ===========================================================================
1450
+ _startClock() {
1451
+ if (_clockInterval !== null) return;
1452
+ _clockInterval = setInterval(() => {
1453
+ if (this.gameState === 2 /* Running */ || this.gameState === 4 /* Mocking */) {
1454
+ this.gameData.gameTime += this.gameData.playbackSpeed ?? 1;
1455
+ this.stateUpdateHandlers.forEach((handler) => handler(this.gameData));
1456
+ this.ingameStore._setGameData(this.gameData);
1457
+ }
1458
+ }, 1e3);
1459
+ }
1460
+ _stopClock() {
1461
+ if (_clockInterval !== null) {
1462
+ clearInterval(_clockInterval);
1463
+ _clockInterval = null;
1464
+ }
1465
+ }
1466
+ // ===========================================================================
1213
1467
  // Connection management
1214
1468
  // ===========================================================================
1215
1469
  /**
@@ -1297,9 +1551,23 @@ var LeagueBroadcastClient = class {
1297
1551
  this.gameStatusHandlers.add(handler);
1298
1552
  return () => this.gameStatusHandlers.delete(handler);
1299
1553
  }
1300
- /** Register handlers for in-game events (kills, objectives, etc.). */
1554
+ /** Register handlers for in-game events (kills, objectives, etc.). Returns an unsubscribe function. */
1301
1555
  onIngameEvents(handlers) {
1302
- this.ingameEventHandlers = { ...this.ingameEventHandlers, ...handlers };
1556
+ const entries = Object.entries(handlers);
1557
+ for (const [key, handler] of entries) {
1558
+ if (handler) {
1559
+ this.ingameEventHandlers[key].add(handler);
1560
+ }
1561
+ }
1562
+ return () => {
1563
+ for (const [key, handler] of entries) {
1564
+ if (handler) {
1565
+ this.ingameEventHandlers[key].delete(
1566
+ handler
1567
+ );
1568
+ }
1569
+ }
1570
+ };
1303
1571
  }
1304
1572
  // ===========================================================================
1305
1573
  // Pre-game event handlers
@@ -1309,11 +1577,24 @@ var LeagueBroadcastClient = class {
1309
1577
  this.champSelectUpdateHandlers.add(handler);
1310
1578
  return () => this.champSelectUpdateHandlers.delete(handler);
1311
1579
  }
1312
- /** Register handlers for champ-select lifecycle and action events. */
1580
+ /** Register handlers for champ-select lifecycle and action events. Returns an unsubscribe function. */
1313
1581
  onChampSelectEvents(handlers) {
1314
- this.champSelectEventHandlers = {
1315
- ...this.champSelectEventHandlers,
1316
- ...handlers
1582
+ const entries = Object.entries(handlers);
1583
+ for (const [key, handler] of entries) {
1584
+ if (handler) {
1585
+ this.champSelectEventHandlers[key].add(
1586
+ handler
1587
+ );
1588
+ }
1589
+ }
1590
+ return () => {
1591
+ for (const [key, handler] of entries) {
1592
+ if (handler) {
1593
+ this.champSelectEventHandlers[key].delete(
1594
+ handler
1595
+ );
1596
+ }
1597
+ }
1317
1598
  };
1318
1599
  }
1319
1600
  // ===========================================================================
@@ -1416,7 +1697,7 @@ var LeagueBroadcastClient = class {
1416
1697
  return `${protocol}://${this.config.host}:${this.config.port}${this.config.apiRoute}`;
1417
1698
  }
1418
1699
  /** Get the base URL for cache requests (optionally resolve a path). */
1419
- getCacheUrl(path) {
1700
+ getCacheUrl(path, preventCacheBust = false) {
1420
1701
  const protocol = this.config.useHttps ? "https" : "http";
1421
1702
  const baseUrl = `${protocol}://${this.config.host}:${this.config.port}${this.config.cacheRoute}`;
1422
1703
  if (!path) {
@@ -1435,6 +1716,10 @@ var LeagueBroadcastClient = class {
1435
1716
  if (cleanPath.startsWith("/")) {
1436
1717
  cleanPath = cleanPath.slice(1);
1437
1718
  }
1719
+ if (preventCacheBust) {
1720
+ const cacheBust = `cb=${Date.now()}`;
1721
+ cleanPath = cleanPath.includes("?") ? `${cleanPath}&${cacheBust}` : `${cleanPath}?${cacheBust}`;
1722
+ }
1438
1723
  return `${baseUrl}/${cleanPath}`;
1439
1724
  }
1440
1725
  // ===========================================================================
@@ -1463,10 +1748,23 @@ var LeagueBroadcastClient = class {
1463
1748
  gameStatus: 0 /* OutOfGame */,
1464
1749
  ...state
1465
1750
  };
1751
+ const snapshotAge = state.utcTime != null ? Math.max(0, (Date.now() - state.utcTime) / 1e3) : 0;
1752
+ const correctedGameTime = (state.gameTime ?? 0) + snapshotAge * (state.playbackSpeed ?? 1);
1753
+ if (Math.abs(correctedGameTime - (this.gameData.gameTime ?? 0)) > 2) {
1754
+ nextData.gameTime = correctedGameTime;
1755
+ } else {
1756
+ nextData.gameTime = this.gameData.gameTime ?? 0;
1757
+ }
1466
1758
  this.gameData = structuralShare(this.gameData, nextData);
1467
1759
  if (!state.gameTime || state.gameTime === 0) {
1468
1760
  this.handleGameStatusUpdate(0 /* OutOfGame */, false);
1469
1761
  }
1762
+ const shouldRun = state.gameStatus === 2 /* Running */ || state.gameStatus === 4 /* Mocking */;
1763
+ if (shouldRun) {
1764
+ this._startClock();
1765
+ } else {
1766
+ this._stopClock();
1767
+ }
1470
1768
  this.ingameStore._setGameData(this.gameData);
1471
1769
  this.stateUpdateHandlers.forEach((handler) => handler(this.gameData));
1472
1770
  this.handleGameEvents(events);
@@ -1478,6 +1776,12 @@ var LeagueBroadcastClient = class {
1478
1776
  return;
1479
1777
  }
1480
1778
  this.gameState = gameStatus;
1779
+ const shouldRun = gameStatus === 2 /* Running */ || gameStatus === 4 /* Mocking */;
1780
+ if (shouldRun) {
1781
+ this._startClock();
1782
+ } else {
1783
+ this._stopClock();
1784
+ }
1481
1785
  this.ingameStore._setGameState(gameStatus);
1482
1786
  this.gameStatusHandlers.forEach(
1483
1787
  (handler) => handler(gameStatus, isTestingEnvironment)
@@ -1485,37 +1789,50 @@ var LeagueBroadcastClient = class {
1485
1789
  }
1486
1790
  handleGameEvents(events) {
1487
1791
  if (!events) return;
1488
- if (events.player && this.ingameEventHandlers.onPlayerEvent) {
1792
+ if (events.player) {
1489
1793
  events.player.forEach(
1490
- (event) => this.ingameEventHandlers.onPlayerEvent(event)
1794
+ (event) => this.ingameEventHandlers.onPlayerEvent.forEach((h) => h(event))
1491
1795
  );
1492
1796
  }
1493
- if (events.team && this.ingameEventHandlers.onTeamEvent) {
1797
+ if (events.team) {
1494
1798
  events.team.forEach(
1495
- (event) => this.ingameEventHandlers.onTeamEvent(event)
1799
+ (event) => this.ingameEventHandlers.onTeamEvent.forEach((h) => h(event))
1496
1800
  );
1497
1801
  }
1498
- if (events.objective && this.ingameEventHandlers.onObjectiveEvent) {
1802
+ if (events.objective) {
1499
1803
  events.objective.forEach(
1500
- (event) => this.ingameEventHandlers.onObjectiveEvent(event)
1804
+ (event) => this.ingameEventHandlers.onObjectiveEvent.forEach((h) => h(event))
1501
1805
  );
1502
1806
  }
1503
- if (events.firstTower !== void 0 && this.ingameEventHandlers.onFirstTowerEvent) {
1504
- this.ingameEventHandlers.onFirstTowerEvent(events.firstTower);
1807
+ if (events.firstTower !== void 0) {
1808
+ this.ingameEventHandlers.onFirstTowerEvent.forEach(
1809
+ (h) => h(events.firstTower)
1810
+ );
1505
1811
  }
1506
- if (events.announcements && this.ingameEventHandlers.onAnnouncementEvent) {
1812
+ if (events.announcements) {
1507
1813
  events.announcements.forEach(
1508
- (event) => this.ingameEventHandlers.onAnnouncementEvent(event)
1814
+ (event) => this.ingameEventHandlers.onAnnouncementEvent.forEach((h) => h(event))
1509
1815
  );
1510
1816
  }
1511
- if (events.killFeed && this.ingameEventHandlers.onKillFeedEvent) {
1817
+ if (events.killFeed) {
1512
1818
  events.killFeed.forEach(
1513
- (event) => this.ingameEventHandlers.onKillFeedEvent(event)
1819
+ (event) => this.ingameEventHandlers.onKillFeedEvent.forEach((h) => h(event))
1820
+ );
1821
+ }
1822
+ if (events.announcements) {
1823
+ events.announcements.forEach(
1824
+ (event) => this.ingameEventHandlers.onAnnouncementEvent.forEach((h) => h(event))
1825
+ );
1826
+ }
1827
+ if (events.smiteReaction !== void 0) {
1828
+ this.ingameEventHandlers.onSmiteReactionEvent.forEach(
1829
+ (h) => h(events.smiteReaction)
1514
1830
  );
1515
1831
  }
1516
1832
  }
1517
1833
  endGame() {
1518
1834
  console.log("[LeagueBroadcastClient] Game ended, resetting data");
1835
+ this._stopClock();
1519
1836
  this.gameData = new ingameFrontendData();
1520
1837
  this.gameState = 0 /* OutOfGame */;
1521
1838
  this._isTestingEnvironment = false;
@@ -1557,7 +1874,7 @@ var LeagueBroadcastClient = class {
1557
1874
  this.champSelectData = structuralShare(this.champSelectData, nextData);
1558
1875
  if (nextData.isActive && !this.champSelectWasActive) {
1559
1876
  this.champSelectWasActive = true;
1560
- this.champSelectEventHandlers.onChampSelectStart?.();
1877
+ this.champSelectEventHandlers.onChampSelectStart.forEach((h) => h());
1561
1878
  } else if (!nextData.isActive && this.champSelectWasActive) {
1562
1879
  this.champSelectWasActive = false;
1563
1880
  this.endChampSelect();
@@ -1569,16 +1886,18 @@ var LeagueBroadcastClient = class {
1569
1886
  );
1570
1887
  }
1571
1888
  handleChampSelectAction(action) {
1572
- this.champSelectEventHandlers.onAction?.(action);
1889
+ this.champSelectEventHandlers.onAction.forEach(
1890
+ (h) => h(action)
1891
+ );
1573
1892
  }
1574
1893
  handleRouteUpdate(uri) {
1575
- this.champSelectEventHandlers.onRouteUpdate?.(uri);
1894
+ this.champSelectEventHandlers.onRouteUpdate.forEach((h) => h(uri));
1576
1895
  }
1577
1896
  endChampSelect() {
1578
1897
  console.log("[LeagueBroadcastClient] Champ select ended, resetting data");
1579
1898
  this.champSelectData = new champSelectStateData();
1580
1899
  this.preGameStore._reset(this.champSelectData);
1581
- this.champSelectEventHandlers.onChampSelectEnd?.();
1900
+ this.champSelectEventHandlers.onChampSelectEnd.forEach((h) => h());
1582
1901
  this.champSelectUpdateHandlers.forEach(
1583
1902
  (handler) => handler(this.champSelectData)
1584
1903
  );
@@ -1664,6 +1983,7 @@ var cloudSyncResult = class {
1664
1983
  this.success = false;
1665
1984
  this.styleSetsSynced = 0;
1666
1985
  this.warnings = [];
1986
+ this.stubbed = false;
1667
1987
  }
1668
1988
  };
1669
1989
 
@@ -1685,6 +2005,55 @@ var localSyncState = class {
1685
2005
  }
1686
2006
  };
1687
2007
 
2008
+ // types/cloud/overlay/cloudOverlayDownloadResponse.ts
2009
+ var cloudOverlayDownloadResponse = class {
2010
+ constructor() {
2011
+ this.downloadUrl = "";
2012
+ this.expiresAt = /* @__PURE__ */ new Date();
2013
+ this.metadata = {};
2014
+ }
2015
+ };
2016
+
2017
+ // types/cloud/overlay/cloudOverlayMetadata.ts
2018
+ var cloudOverlayMetadata = class {
2019
+ constructor() {
2020
+ this.id = "";
2021
+ this.name = "";
2022
+ this.lastModified = /* @__PURE__ */ new Date();
2023
+ this.createdAt = /* @__PURE__ */ new Date();
2024
+ this.size = 0;
2025
+ this.fileCount = 0;
2026
+ this.isSyncedLocally = false;
2027
+ this.hasLocalChanges = false;
2028
+ }
2029
+ };
2030
+
2031
+ // types/cloud/overlay/cloudOverlaysResponse.ts
2032
+ var cloudOverlaysResponse = class {
2033
+ constructor() {
2034
+ this.overlays = [];
2035
+ }
2036
+ };
2037
+
2038
+ // types/cloud/overlay/cloudOverlayUploadRequest.ts
2039
+ var cloudOverlayUploadRequest = class {
2040
+ constructor() {
2041
+ this.name = "";
2042
+ this.contentHash = "";
2043
+ this.size = 0;
2044
+ this.fileCount = 0;
2045
+ }
2046
+ };
2047
+
2048
+ // types/cloud/overlay/cloudOverlayUploadResponse.ts
2049
+ var cloudOverlayUploadResponse = class {
2050
+ constructor() {
2051
+ this.id = "";
2052
+ this.uploadUrl = "";
2053
+ this.expiresAt = /* @__PURE__ */ new Date();
2054
+ }
2055
+ };
2056
+
1688
2057
  // types/hotkey/casterModeConfigDto.ts
1689
2058
  var casterModeConfigDto = class {
1690
2059
  };
@@ -1703,20 +2072,10 @@ var Lane = /* @__PURE__ */ ((Lane2) => {
1703
2072
  var playerHotkeyDto = class {
1704
2073
  };
1705
2074
 
1706
- // types/shared/style/set/tier.ts
1707
- var Tier = /* @__PURE__ */ ((Tier2) => {
1708
- Tier2[Tier2["Free"] = 0] = "Free";
1709
- Tier2[Tier2["Basic"] = 1] = "Basic";
1710
- Tier2[Tier2["Pro"] = 2] = "Pro";
1711
- Tier2[Tier2["Enterprise"] = 3] = "Enterprise";
1712
- return Tier2;
1713
- })(Tier || {});
1714
-
1715
2075
  // types/hotkey/singleIngameHotkeyConfigDto.ts
1716
2076
  var singleIngameHotkeyConfigDto = class {
1717
2077
  constructor() {
1718
- this.minTier = 0 /* Free */;
1719
- this.overlayId = 0;
2078
+ this.buttonId = "";
1720
2079
  this.name = "";
1721
2080
  this.overlayName = "";
1722
2081
  this.timePeriod = 0;
@@ -1724,14 +2083,12 @@ var singleIngameHotkeyConfigDto = class {
1724
2083
  this.hasSettings = false;
1725
2084
  this.allowSinglePlayers = false;
1726
2085
  this.allowTimePeriod = false;
1727
- this.overlaysToDisable = [];
1728
2086
  }
1729
2087
  };
1730
2088
 
1731
2089
  // types/hotkey/singlePostgameHotkeyConfigDto.ts
1732
2090
  var singlePostgameHotkeyConfigDto = class {
1733
2091
  constructor() {
1734
- this.minTier = 0 /* Free */;
1735
2092
  this.id = 0;
1736
2093
  this.name = "";
1737
2094
  this.componentName = "";
@@ -1771,7 +2128,7 @@ var ingameAbilityInfo = class {
1771
2128
  this.displayName = "";
1772
2129
  this.slot = 0 /* Q */;
1773
2130
  this.totalCooldown = 0;
1774
- this.cooldown = 0;
2131
+ this.readyAt = 0;
1775
2132
  this.level = 0;
1776
2133
  this.charges = 0;
1777
2134
  }
@@ -1793,6 +2150,7 @@ var ingameStateSettingsWrapper = class {
1793
2150
  constructor() {
1794
2151
  this.show = false;
1795
2152
  this.overlaysToDisable = [];
2153
+ this.customSettings = {};
1796
2154
  }
1797
2155
  };
1798
2156
 
@@ -1807,6 +2165,7 @@ var itemWithAsset = class {
1807
2165
  this.count = 0;
1808
2166
  this.combineCost = 0;
1809
2167
  this.stacks = 0;
2168
+ this.charges = 0;
1810
2169
  }
1811
2170
  };
1812
2171
 
@@ -1866,6 +2225,7 @@ var announcerEvent = class {
1866
2225
  var damageCompositionPlayer = class {
1867
2226
  constructor() {
1868
2227
  this.name = "";
2228
+ this.displayName = "";
1869
2229
  this.physical = 0;
1870
2230
  this.magic = 0;
1871
2231
  this.trueDamage = 0;
@@ -1916,7 +2276,9 @@ var damageEventHistoryEntry = class {
1916
2276
  var damageFlowEdge = class {
1917
2277
  constructor() {
1918
2278
  this.sourceName = "";
2279
+ this.sourceDisplayName = "";
1919
2280
  this.targetName = "";
2281
+ this.targetDisplayName = "";
1920
2282
  this.totalDamage = 0;
1921
2283
  this.damageByType = {};
1922
2284
  }
@@ -1926,6 +2288,7 @@ var damageFlowEdge = class {
1926
2288
  var damageFlowNode = class {
1927
2289
  constructor() {
1928
2290
  this.name = "";
2291
+ this.displayName = "";
1929
2292
  this.totalDamageDealt = 0;
1930
2293
  this.totalDamageReceived = 0;
1931
2294
  }
@@ -1944,10 +2307,9 @@ var ingameDamageFlowData = class {
1944
2307
  var damageGraphEntry = class {
1945
2308
  constructor() {
1946
2309
  this.name = "";
2310
+ this.displayName = "";
1947
2311
  this.damageByType = {};
1948
2312
  this.totalDamageDealt = 0;
1949
- this.health = 0;
1950
- this.maxHealth = 0;
1951
2313
  this.role = "";
1952
2314
  }
1953
2315
  };
@@ -1963,6 +2325,7 @@ var ingameDamageGraphData = class {
1963
2325
  var damageRecapEntry = class {
1964
2326
  constructor() {
1965
2327
  this.sourceName = "";
2328
+ this.sourceDisplayName = "";
1966
2329
  this.spells = [];
1967
2330
  this.totalDamage = 0;
1968
2331
  this.damageByType = {};
@@ -1991,6 +2354,7 @@ var damageRecapTimelineEntry = class {
1991
2354
  constructor() {
1992
2355
  this.gameTime = 0;
1993
2356
  this.sourceName = "";
2357
+ this.sourceDisplayName = "";
1994
2358
  this.damage = 0;
1995
2359
  this.damageType = 0 /* Physical */;
1996
2360
  this.targetHealthBefore = 0;
@@ -2012,6 +2376,7 @@ var ObjectiveRecapDisplayMode = /* @__PURE__ */ ((ObjectiveRecapDisplayMode2) =>
2012
2376
  var ingameDamageRecapData = class {
2013
2377
  constructor() {
2014
2378
  this.victimName = "";
2379
+ this.victimDisplayName = "";
2015
2380
  this.deathTime = 0;
2016
2381
  this.entries = [];
2017
2382
  this.totalDamageReceived = 0;
@@ -2038,6 +2403,7 @@ var damageSplitSpellEntry = class {
2038
2403
  var damageSplitTargetEntry = class {
2039
2404
  constructor() {
2040
2405
  this.targetName = "";
2406
+ this.targetDisplayName = "";
2041
2407
  this.spells = [];
2042
2408
  this.totalDamage = 0;
2043
2409
  this.damageByType = {};
@@ -2049,6 +2415,7 @@ var ingameDamageSplitData = class {
2049
2415
  constructor() {
2050
2416
  this.mode = 0 /* Detail */;
2051
2417
  this.sourceName = "";
2418
+ this.sourceDisplayName = "";
2052
2419
  this.targets = [];
2053
2420
  this.totalDamageDealt = 0;
2054
2421
  this.damageByType = {};
@@ -2117,6 +2484,7 @@ var turretPlatingFallEvent = class {
2117
2484
  var goldEfficiencyEntry = class {
2118
2485
  constructor() {
2119
2486
  this.name = "";
2487
+ this.displayName = "";
2120
2488
  this.team = 0;
2121
2489
  this.goldSpent = 0;
2122
2490
  this.damageDealt = 0;
@@ -2197,7 +2565,9 @@ var ingameKillParticipationData = class {
2197
2565
  var killParticipationLink = class {
2198
2566
  constructor() {
2199
2567
  this.killerName = "";
2568
+ this.killerDisplayName = "";
2200
2569
  this.assisterName = "";
2570
+ this.assisterDisplayName = "";
2201
2571
  this.count = 0;
2202
2572
  }
2203
2573
  };
@@ -2206,6 +2576,7 @@ var killParticipationLink = class {
2206
2576
  var killParticipationPlayer = class {
2207
2577
  constructor() {
2208
2578
  this.name = "";
2579
+ this.displayName = "";
2209
2580
  this.team = 0;
2210
2581
  this.kills = 0;
2211
2582
  this.deaths = 0;
@@ -2303,6 +2674,7 @@ var ingameSkinDisplayPlayerData = class {
2303
2674
  constructor() {
2304
2675
  this.name = "";
2305
2676
  this.playerName = "";
2677
+ this.displayName = "";
2306
2678
  this.skinName = "";
2307
2679
  this.splashCenteredUrl = "";
2308
2680
  this.splashUrl = "";
@@ -2323,6 +2695,7 @@ var ingameSkinDisplayTeamData = class {
2323
2695
  var smiteReactionResult = class {
2324
2696
  constructor() {
2325
2697
  this.junglerName = "";
2698
+ this.junglerDisplayName = "";
2326
2699
  this.junglerTeam = 0;
2327
2700
  this.smiteDamage = 0;
2328
2701
  this.thresholdReachedTime = 0;
@@ -3858,6 +4231,9 @@ var IngameSideInfoPageType = /* @__PURE__ */ ((IngameSideInfoPageType2) => {
3858
4231
  IngameSideInfoPageType2[IngameSideInfoPageType2["CreepScore"] = 4] = "CreepScore";
3859
4232
  IngameSideInfoPageType2[IngameSideInfoPageType2["Damage"] = 8] = "Damage";
3860
4233
  IngameSideInfoPageType2[IngameSideInfoPageType2["None"] = 16] = "None";
4234
+ IngameSideInfoPageType2[IngameSideInfoPageType2["SkinDisplay"] = 32] = "SkinDisplay";
4235
+ IngameSideInfoPageType2[IngameSideInfoPageType2["RoleQuest"] = 64] = "RoleQuest";
4236
+ IngameSideInfoPageType2[IngameSideInfoPageType2["TowerPlatings"] = 128] = "TowerPlatings";
3861
4237
  return IngameSideInfoPageType2;
3862
4238
  })(IngameSideInfoPageType || {});
3863
4239
 
@@ -3892,6 +4268,7 @@ var tabPlayer = class {
3892
4268
  this.id = "";
3893
4269
  this.playerName = "";
3894
4270
  this.playerHashtag = "";
4271
+ this.displayName = "";
3895
4272
  this.givenName = "";
3896
4273
  this.familyName = "";
3897
4274
  this.abilities = [];
@@ -3943,9 +4320,12 @@ var teamfightKillEvent = class {
3943
4320
  constructor() {
3944
4321
  this.gameTime = 0;
3945
4322
  this.killerName = "";
4323
+ this.killerDisplayName = "";
3946
4324
  this.victimName = "";
4325
+ this.victimDisplayName = "";
3947
4326
  this.killerTeam = 0 /* None */;
3948
4327
  this.assisterNames = [];
4328
+ this.assisterDisplayNames = [];
3949
4329
  }
3950
4330
  };
3951
4331
 
@@ -3953,6 +4333,7 @@ var teamfightKillEvent = class {
3953
4333
  var teamfightTimelinePlayer = class {
3954
4334
  constructor() {
3955
4335
  this.name = "";
4336
+ this.displayName = "";
3956
4337
  this.team = 0 /* None */;
3957
4338
  this.totalDamage = 0;
3958
4339
  this.died = false;
@@ -4049,8 +4430,9 @@ websocketMessageTypes.strokePropertiesUpdate = "stroke-properties-update";
4049
4430
  websocketMessageTypes.hotkeyFired = "hotkey-fired";
4050
4431
  websocketMessageTypes.activeComponentChanged = "active-component-changed";
4051
4432
  websocketMessageTypes.disabledOverlaysUpdate = "disabled-overlays-update";
4052
- websocketMessageTypes.userTierUpdated = "user-tier-updated";
4433
+ websocketMessageTypes.userFeaturesUpdated = "user-features-updated";
4053
4434
  websocketMessageTypes.damageEventHistoryUpdate = "damage-event-history-update";
4435
+ websocketMessageTypes.customOverlayUpdate = "custom-overlay-update";
4054
4436
 
4055
4437
  // types/message/ingame/ingameRewindMessage.ts
4056
4438
  var ingameRewindMessage = class {
@@ -4212,6 +4594,14 @@ var communityDragonV2StatusMessage = class {
4212
4594
  }
4213
4595
  };
4214
4596
 
4597
+ // types/message/ui/customOverlayUpdateMessage.ts
4598
+ var customOverlayUpdateMessage = class {
4599
+ constructor() {
4600
+ this.type = "";
4601
+ this.overlays = [];
4602
+ }
4603
+ };
4604
+
4215
4605
  // types/message/ui/damageEventHistoryUpdateMessage.ts
4216
4606
  var damageEventHistoryUpdateMessage = class {
4217
4607
  constructor() {
@@ -4259,7 +4649,8 @@ var gameStatusMessage = class {
4259
4649
  var hotkeyFiredMessage = class {
4260
4650
  constructor() {
4261
4651
  this.type = "";
4262
- this.activatedOverlayId = 0;
4652
+ this.activatedButtonId = "";
4653
+ this.activatedOverlayName = "";
4263
4654
  this.toggle = false;
4264
4655
  }
4265
4656
  };
@@ -4365,12 +4756,31 @@ var teamDatabaseUpdateMessage = class {
4365
4756
  }
4366
4757
  };
4367
4758
 
4759
+ // types/message/ui/tier.ts
4760
+ var Tier = /* @__PURE__ */ ((Tier2) => {
4761
+ Tier2[Tier2["Free"] = 0] = "Free";
4762
+ Tier2[Tier2["Basic"] = 1] = "Basic";
4763
+ Tier2[Tier2["Pro"] = 2] = "Pro";
4764
+ Tier2[Tier2["Enterprise"] = 3] = "Enterprise";
4765
+ return Tier2;
4766
+ })(Tier || {});
4767
+
4768
+ // types/message/ui/userFeaturesUpdatedMessage.ts
4769
+ var userFeaturesUpdatedMessage = class {
4770
+ constructor() {
4771
+ this.type = "";
4772
+ this.isStartup = false;
4773
+ this.features = [];
4774
+ }
4775
+ };
4776
+
4368
4777
  // types/message/ui/userTierUpdatedMessage.ts
4369
4778
  var userTierUpdatedMessage = class {
4370
4779
  constructor() {
4371
4780
  this.type = "";
4372
4781
  this.tier = 0 /* Free */;
4373
4782
  this.isStartup = false;
4783
+ this.features = [];
4374
4784
  }
4375
4785
  };
4376
4786
 
@@ -4478,6 +4888,7 @@ var postGamePlayerPage = class {
4478
4888
  constructor() {
4479
4889
  this.champion = {};
4480
4890
  this.nameWithTag = "";
4891
+ this.displayName = "";
4481
4892
  }
4482
4893
  };
4483
4894
 
@@ -4488,6 +4899,7 @@ var postGamePlayerRunesAndItems = class {
4488
4899
  this.items = [];
4489
4900
  this.champion = {};
4490
4901
  this.nameWithTag = "";
4902
+ this.displayName = "";
4491
4903
  }
4492
4904
  };
4493
4905
 
@@ -4497,6 +4909,7 @@ var postGamePlayerStats = class {
4497
4909
  this.infoRows = [];
4498
4910
  this.champion = {};
4499
4911
  this.nameWithTag = "";
4912
+ this.displayName = "";
4500
4913
  }
4501
4914
  };
4502
4915
 
@@ -5629,11 +6042,29 @@ var legacyPickBanStyle = class {
5629
6042
  }
5630
6043
  };
5631
6044
 
6045
+ // types/rest/account/changeEmailRequest.ts
6046
+ var changeEmailRequest = class {
6047
+ constructor() {
6048
+ this.newEmail = "";
6049
+ }
6050
+ };
6051
+
6052
+ // types/rest/account/changeEmailResponse.ts
6053
+ var changeEmailResponse = class {
6054
+ };
6055
+
6056
+ // types/rest/account/changePasswordRequest.ts
6057
+ var changePasswordRequest = class {
6058
+ constructor() {
6059
+ this.oldPassword = "";
6060
+ this.newPassword = "";
6061
+ }
6062
+ };
6063
+
5632
6064
  // types/rest/account/checkoutCompleteResponse.ts
5633
6065
  var checkoutCompleteResponse = class {
5634
6066
  constructor() {
5635
6067
  this.redirect = false;
5636
- this.tier = 0 /* Free */;
5637
6068
  }
5638
6069
  };
5639
6070
 
@@ -5647,11 +6078,58 @@ var PaymentInterval = /* @__PURE__ */ ((PaymentInterval2) => {
5647
6078
  // types/rest/account/checkoutRequestDTO.ts
5648
6079
  var checkoutRequestDTO = class {
5649
6080
  constructor() {
5650
- this.tier = 0 /* Free */;
6081
+ this.plan = "";
5651
6082
  this.interval = 0 /* Monthly */;
5652
6083
  }
5653
6084
  };
5654
6085
 
6086
+ // types/rest/account/emailConfirmRequest.ts
6087
+ var emailConfirmRequest = class {
6088
+ constructor() {
6089
+ this.email = "";
6090
+ this.code = "";
6091
+ }
6092
+ };
6093
+
6094
+ // types/rest/account/emailForgotPasswordRequest.ts
6095
+ var emailForgotPasswordRequest = class {
6096
+ constructor() {
6097
+ this.email = "";
6098
+ }
6099
+ };
6100
+
6101
+ // types/rest/account/emailLoginRequest.ts
6102
+ var emailLoginRequest = class {
6103
+ constructor() {
6104
+ this.email = "";
6105
+ this.password = "";
6106
+ }
6107
+ };
6108
+
6109
+ // types/rest/account/emailResendCodeRequest.ts
6110
+ var emailResendCodeRequest = class {
6111
+ constructor() {
6112
+ this.email = "";
6113
+ }
6114
+ };
6115
+
6116
+ // types/rest/account/emailResetPasswordRequest.ts
6117
+ var emailResetPasswordRequest = class {
6118
+ constructor() {
6119
+ this.email = "";
6120
+ this.code = "";
6121
+ this.newPassword = "";
6122
+ }
6123
+ };
6124
+
6125
+ // types/rest/account/emailSignUpRequest.ts
6126
+ var emailSignUpRequest = class {
6127
+ constructor() {
6128
+ this.email = "";
6129
+ this.password = "";
6130
+ }
6131
+ };
6132
+
5655
6133
  // types/rest/account/localizedPriceData.ts
5656
6134
  var localizedPriceData = class {
5657
6135
  constructor() {
@@ -5660,6 +6138,15 @@ var localizedPriceData = class {
5660
6138
  }
5661
6139
  };
5662
6140
 
6141
+ // types/rest/account/planDescriptorRecord.ts
6142
+ var planDescriptorRecord = class {
6143
+ constructor() {
6144
+ this.plan = "";
6145
+ this.hidden = false;
6146
+ this.features = [];
6147
+ }
6148
+ };
6149
+
5663
6150
  // types/rest/account/planDetails.ts
5664
6151
  var planDetails = class {
5665
6152
  constructor() {
@@ -5667,6 +6154,7 @@ var planDetails = class {
5667
6154
  this.cost = "";
5668
6155
  this.currency = "";
5669
6156
  this.status = "";
6157
+ this.features = [];
5670
6158
  }
5671
6159
  };
5672
6160
 
@@ -5677,6 +6165,15 @@ var portalSessionResponse = class {
5677
6165
  }
5678
6166
  };
5679
6167
 
6168
+ // types/rest/account/profileResponse.ts
6169
+ var profileResponse = class {
6170
+ constructor() {
6171
+ this.authProvider = "";
6172
+ this.canEditProfile = false;
6173
+ this.canChangePassword = false;
6174
+ }
6175
+ };
6176
+
5680
6177
  // types/rest/account/startCheckoutResponse.ts
5681
6178
  var startCheckoutResponse = class {
5682
6179
  constructor() {
@@ -5685,6 +6182,21 @@ var startCheckoutResponse = class {
5685
6182
  }
5686
6183
  };
5687
6184
 
6185
+ // types/rest/account/updateNameRequest.ts
6186
+ var updateNameRequest = class {
6187
+ constructor() {
6188
+ this.firstName = "";
6189
+ this.lastName = "";
6190
+ }
6191
+ };
6192
+
6193
+ // types/rest/account/verifyEmailRequest.ts
6194
+ var verifyEmailRequest = class {
6195
+ constructor() {
6196
+ this.code = "";
6197
+ }
6198
+ };
6199
+
5688
6200
  // types/rest/billing_cycle/billingCycle.ts
5689
6201
  var billingCycle = class {
5690
6202
  constructor() {
@@ -5702,6 +6214,32 @@ var Interval = /* @__PURE__ */ ((Interval2) => {
5702
6214
  return Interval2;
5703
6215
  })(Interval || {});
5704
6216
 
6217
+ // types/shared/customoverlay/customOverlayMode.ts
6218
+ var CustomOverlayMode = /* @__PURE__ */ ((CustomOverlayMode2) => {
6219
+ CustomOverlayMode2[CustomOverlayMode2["Static"] = 0] = "Static";
6220
+ CustomOverlayMode2[CustomOverlayMode2["Dev"] = 1] = "Dev";
6221
+ return CustomOverlayMode2;
6222
+ })(CustomOverlayMode || {});
6223
+
6224
+ // types/rest/customoverlay/registerOverlayRequest.ts
6225
+ var registerOverlayRequest = class {
6226
+ constructor() {
6227
+ this.name = "";
6228
+ this.mode = 0 /* Static */;
6229
+ this.sourcePath = "";
6230
+ this.devScript = "";
6231
+ this.version = "";
6232
+ }
6233
+ };
6234
+
6235
+ // types/rest/customoverlay/updateOverlayRequest.ts
6236
+ var updateOverlayRequest = class {
6237
+ };
6238
+
6239
+ // types/rest/game/optionalGameData.ts
6240
+ var optionalGameData = class {
6241
+ };
6242
+
5705
6243
  // types/rest/match/addMatchRequestArgs.ts
5706
6244
  var addMatchRequestArgs = class {
5707
6245
  constructor() {
@@ -5969,6 +6507,53 @@ var teamWithMembers = class {
5969
6507
  }
5970
6508
  };
5971
6509
 
6510
+ // types/shared/customoverlay/customOverlay.ts
6511
+ var customOverlay = class {
6512
+ constructor() {
6513
+ this.id = "";
6514
+ this.name = "";
6515
+ this.description = "";
6516
+ this.mode = 0 /* Static */;
6517
+ this.sourcePath = "";
6518
+ this.devScript = "";
6519
+ this.slug = "";
6520
+ this.version = "";
6521
+ this.isManagedPackage = false;
6522
+ this.createdAt = /* @__PURE__ */ new Date();
6523
+ this.updatedAt = /* @__PURE__ */ new Date();
6524
+ }
6525
+ };
6526
+
6527
+ // types/shared/customoverlay/customOverlayDescriptor.ts
6528
+ var customOverlayDescriptor = class {
6529
+ constructor() {
6530
+ this.id = "";
6531
+ this.name = "";
6532
+ this.description = "";
6533
+ this.mode = 0 /* Static */;
6534
+ this.slug = "";
6535
+ this.version = "";
6536
+ this.createdAt = /* @__PURE__ */ new Date();
6537
+ this.updatedAt = /* @__PURE__ */ new Date();
6538
+ }
6539
+ };
6540
+
6541
+ // types/shared/customoverlay/devServerStatus.ts
6542
+ var DevServerStatus = /* @__PURE__ */ ((DevServerStatus2) => {
6543
+ DevServerStatus2[DevServerStatus2["Stopped"] = 0] = "Stopped";
6544
+ DevServerStatus2[DevServerStatus2["Starting"] = 1] = "Starting";
6545
+ DevServerStatus2[DevServerStatus2["Running"] = 2] = "Running";
6546
+ DevServerStatus2[DevServerStatus2["Error"] = 3] = "Error";
6547
+ return DevServerStatus2;
6548
+ })(DevServerStatus || {});
6549
+
6550
+ // types/shared/customoverlay/devServerState.ts
6551
+ var devServerState = class {
6552
+ constructor() {
6553
+ this.status = 0 /* Stopped */;
6554
+ }
6555
+ };
6556
+
5972
6557
  // types/shared/style/borderStyle.ts
5973
6558
  var borderStyle = class {
5974
6559
  constructor() {
@@ -6177,6 +6762,17 @@ var textStyle = class {
6177
6762
  }
6178
6763
  };
6179
6764
 
6765
+ // types/shared/style/set/feature.ts
6766
+ var Feature = /* @__PURE__ */ ((Feature2) => {
6767
+ Feature2[Feature2["BasicTier"] = 0] = "BasicTier";
6768
+ Feature2[Feature2["ProTier"] = 1] = "ProTier";
6769
+ Feature2[Feature2["EnterpriseTier"] = 2] = "EnterpriseTier";
6770
+ Feature2[Feature2["Decals"] = 3] = "Decals";
6771
+ Feature2[Feature2["Models"] = 4] = "Models";
6772
+ Feature2[Feature2["Strokes"] = 5] = "Strokes";
6773
+ return Feature2;
6774
+ })(Feature || {});
6775
+
6180
6776
  // types/shared/style/set/globalStyleProperties.ts
6181
6777
  var globalStyleProperties = class {
6182
6778
  constructor() {
@@ -6459,6 +7055,6 @@ function normalizeDamageEntries(entries, limit = 5) {
6459
7055
  return [...grouped.values()].sort((a, b) => b.totalDamage - a.totalDamage).slice(0, limit);
6460
7056
  }
6461
7057
 
6462
- export { ActionSubType, ActionType, AnnouncementType, ApiClient, ApiError, AppTheme, AssetType, BestOfType, CacheOperation, CampLocation, ChampSelectStateStore, ChampionIconType, CombinedViewTransitionType, ContentAlign, DamageEventType, DamageSplitMode, DamageType, DatabaseUpdateType, GameApi, GameState, GameStateApi, GameStateStore, GradientType, HeroStatsDisplayMode, IngameApi, IngameObjectiveType, IngameSideInfoPageType, Interval, Lane, LeagueBroadcastClient, MAGIC_COLOR, MatchApi, MatchRuleSet, ObjectFit, ObjectiveEventType, ObjectiveRecapDisplayMode, PHYS_COLOR, PaymentInterval, PickBanPhase, PostGameDataType, damageBarStyle2 as PostgameDamageBarStyle, PreGameApi, divider2 as PregameDivider, ResourceType, RestApi, ScoreDisplayMode, ScoreDotBorderMode, SeasonApi, SetPhaseType, SpellClassification, SpellSlotIndex, StrokeLayer, StrokeLineStyle, StrokeTipStyle, TRUE_COLOR, Team, TeamColorType, TeamMemberRole, TextOrientation, Tier, TimeLineActionType, TransitionType, WebSocketManager, WindowType, WritingMode, activeComponentChangedEventArgs, activeComponentChangedMessage, addMatchRequestArgs, aggregateSpellEntries, announcementParameter, announcerColors, announcerEvent, announcerUniversalStyle, applicationLifetimeMessage, applicationNotificationCompletedMessage, applicationNotificationMessage, banSlot, banSlotLayoutStyling, banStyle, barStyle, billingCycle, borderStyle, bottomRowPickBanStyle, bottomRowSizeStyle, bottomRowTeamStyle, bottomRowTournamentData, cDragonPerkInfo, casterModeConfigDto, centerContent, centerContentLayoutStyling, centerContentStyling, champSelectActionMessage, champSelectStateData, champSelectStateMessage, champSelectStateMetaData, champSelectStatePerformanceData, championAbilityData, championContainer, championData, championIamgeStyle, championIconStyle, championImage, championImageStyle, championSelectEUStyle, championSelectTeam, championSkinInfo, championSlot, championStackStyle, championStatistics, championStats, championStatsContainer, championStatusStyle, championTabContainerStyle, championTabNameStyle, championTabsStyle, championUltimateStyle, championsSlot, changeDetectionResponse, chatVoteOption, chatVoteResultDto, checkoutCompleteResponse, checkoutRequestDTO, choiceBar, choiceTitel, choiceVotes, cloudStyleSetDownloadResponse, cloudStyleSetMetadata, cloudStyleSetUploadRequest, cloudStyleSetUploadResponse, cloudStyleSetsResponse, cloudSyncConfig, cloudSyncResult, coachSlot, colorByDamageType, colorComponentStyling, colorGradientData, colorImageData, colorRGBA, colorStop, colorStyle, colorStyling, combinedViewStyle, combinedViewTransitionStyle, communityDragonCacheProgressMessage, communityDragonV2ProgressMessage, communityDragonV2StatusMessage, componentStyle, contentContainerStyle, createChoice, createPollDto, createPredictionDto, creepScore, curveStyle, damageBarSegments, damageBarStyle, damageCompositionBarStyle, damageCompositionColors, damageCompositionDonutStyle, damageCompositionPlayer, damageCompositionStyle, damageCompositionTeam, damageDealtStyle, damageEventHistoryEntry, damageEventHistoryUpdateMessage, damageFlow, damageFlowEdge, damageFlowNode, damageFlowNodeStyle, damageFlowRibbonStyle, damageGraphEntry, damageGraphSide, damageRecapDamageBarStyle, damageRecapEntry, damageRecapEntryStyle, damageRecapSpellEntry, damageRecapStyle, damageRecapTimelineEntry, damageSplitBarStyle, damageSplitEntryStyle, damageSplitSpellEntry, damageSplitStyle, damageSplitTargetEntry, damageStatsStyle, displayColorData, divider, dmgTypeColor, endPollDto, endPredictionDto, fearLessByGame, fearLessSingleRow, fearlessChampionImage, fearlessDraftStyle, fearlessDraftStylePregame, fearlessTree, fearlessTreeBanRowStyle, fearlessTreeConnectorStyle, fearlessTreeGameNodeStyle, fearlessTreeHeaderStyle, fontsChangedMessage, formatDamage, frontendRouteUpdateMessage, fullPlayerScoreboardSlots, gameAnalysis, gameDatabaseUpdateMessage, gameInfoRotation, gameStatusMessage, gameTimer, gameTimerStyle, gameWithTeams, getDamageByType, getRoleQuest, getSortedInventory, getTrinket, globalPosition, globalScoreboard, globalScoreboardBooleanIndicator, globalScoreboardSection, globalStyleProperties, goldAdvantage, goldEfficiencyEntry, goldEfficiencyHeaderStyle, goldEfficiencyHeatStyle, goldEfficiencyPlayerRowStyle, goldEfficiencyStyle, goldGraph, goldGraphStyle, gridLineStyle, headline, healthBarStyle, hotkeyFiredMessage, imageComponentStyle, imageStyle, infoContentColorStyling, infoContentLayoutStyling, infoContentTextStyle, infoRow, ingameAbilityInfo, ingameDamageCompositionData, ingameDamageFlowData, ingameDamageGraphData, ingameDamageRecapData, ingameDamageSplitData, ingameExperienceData, ingameFrontendData, ingameGoldEfficiencyData, ingameGoldGraphData, ingameHealthData, ingameKillParticipationData, ingameObjectiveDpsData, ingameObjectiveEvent, ingameObjectivePowerPlay, ingameResourceData, ingameRewindMessage, ingameRuneData, ingameScoreboardBottomData, ingameScoreboardBottomPlayerData, ingameScoreboardBottomTeamData, ingameScoreboardData, ingameScoreboardTeamData, ingameSideInfoPage, ingameSideInfoPageDisplayData, ingameSideInfoPageRow, ingameSingleRuneData, ingameSkinDisplayData, ingameSkinDisplayPlayerData, ingameSkinDisplayTeamData, ingameStateMessage, ingameStateSettingsWrapper, ingameTeamfightTimelineData, ingameTelemetry, ingameTelemetryMessage, inhibitorRespawnData, inhibitorTimer, inhibitorTimerContainer, inhibitorTimerDual, inhibitorTimerIconContainer, inhibitorTimerSingle, inhibitorTimerTimerContainer, itemAsset, itemIcon, itemSlot, itemStats, itemWithAsset, killFeed, killFeedAssistersStyle, killFeedContainerStyle, killFeedEntryStyle, killFeedEvent, killFeedIconStyle, killFeedKillIconStyle, killParticipationLink, killParticipationPlayer, killParticipationStyle, lFrameRotation, laneIconStyle, laneRowLayoutStyle, layoutComponentStyling, layoutStyle, legacyPickBanStyle, levelXpTrackerStyle, lineStyle, localSyncState, localizedPriceData, matchCardStyle, matchData, matchDatabaseUpdateMessage, matchOverviewData, matchOverviewGameSummary, matchOverviewTeamSummary, matchSummaryStyle, matchWithGamesAndTeams, matchupGridStyle, matchupHeaderStyle, matchupOverview, matchupOverviewGameRowStyle, matchupOverviewHeaderStyle, matchupOverviewTeamBarStyle, matchupScoreStyle, matchupTable, matchupTableContentStyle, matchupVersusStyle, normalizeDamageEntries, numberContainerStyle, objectiveDamagePerTeamStyle, objectiveDpsBarStyle, objectiveDpsHeaderStyle, objectiveDpsSample, objectiveDpsSmiteStrip, objectiveDpsTeamNumbersStyle, objectiveList, objectiveRecapCardStyle, objectiveRecapHeaderStyle, objectiveRecapSmiteBarStyle, objectiveRecapStyle, objectiveTimer, optionBar, optionTitel, optionVotes, optionalMatchData, optionalTextStyle, partialStrokeProperties, perkData, perkInfoV2, perkStyleInfoV2, phaseTimer, phaseTimerColorStyling, phaseTimerLayoutStyling, pickBanActionEventArgs, pickBanTimer, pickBans, pickSlot, planDetails, playerDeath, playerHotkeyDto, playerKDA, playerScoreboard, playerScoreboardContainer, playerScoreboardGoldComparison, playerScoreboardSlot, playerSlot, playerSlotColorStyling, playerSlotLayoutStyling, playerSlotPickingStyle, playerSlotStyle, playerUpdateEvent, playerXpLevelStyle, pollWrapper, portalSessionResponse, postGameDamageGraph, postGameDamageGraphByTeam, postGameDamageGraphEntry, postGameGoldGraph, postGameOverview, postGamePlayerInfo, postGamePlayerPage, postGamePlayerRunesAndItems, postGamePlayerStats, postGameTeamInfo, postGameTeamOverview, predictionBar, predictionOutcomeRequest, predictionPoints, predictionWrapper, progressBarStyle, respawnTimer, roleQuestSlot, runeContainer, runeDisplayPerkStyle, runeDisplayStyle, runeDisplayTeamStyle, runeIcon, runeStyle, scoreStyle, scoreboardChampionSlot, scoreboardDamageGraphStyle, seasonData, seasonDatabaseUpdateMessage, shallowEqual, simpleChampionData, singleGameGoldGraph, singleGameGoldGraphData, singleIngameHotkeyConfigDto, singlePostgameHotkeyConfigDto, skinDisplayInfoStyle, skinDisplayPoweredByStyle, skinDisplayRoleIconStyle, skinDisplayStyle, smiteReactionBadgeStyle, smiteReactionPoweredByStyle, smiteReactionResult, smiteReactionRingStyle, smiteReactionStyle, smiteReactionTextStyle, spawnTimer, spawnTimerIconContainerStyle, spawnTimerInfoContainerStyle, spawnTimerStyle, startChatVoteDto, startCheckoutResponse, strokePropertiesChangedMessage, styleSet, styleSetEntry, styleSetNameCollection, styleSetUpdatedMessage, styleVariantUpdateMessage, styleVariantUpdatedEventArgs, summonerSpellData, summonerSpellInfoV2, tabLevelUpStyle, tabPlayer, tabTeam, tabsStyle, teamColorStyling, teamDamageStyle, teamData, teamDatabaseUpdateMessage, teamFightDamageStyle, teamIconStyle, teamInfo, teamInfoStyle, teamInhibitorData, teamLayoutStyling, teamMember, teamName, teamScore, teamScores, teamSummaryStyle, teamTextStyle, teamUpdateResults, teamWithMembers, teamfightDamageEntryStyle, teamfightDeathIconStyle, teamfightKillEvent, teamfightTimelinePlayer, teamfightTimelineSample, teamfightTimelineStyle, teamsAndTimerStyle, textComponentStyling, textContentWithStyle, textOutline, textStyle, textStyleWithBorder, textWithContent, timelineEntry, timerBadgePoll, timerBadgePrediction, timerBarStyle, timerTeamStyle, totalBadge, totalVotes, tournamentData, tournamentLogo, transitionEvents, transitionStyle, turretPlatingFallEvent, twitchChatVote, twitchPoll, twitchPrediction, twitchStatusDTO, ultiAbilityStyle, userTierUpdatedMessage, vector3, voteWrapper, websocketMessageTypes };
7058
+ export { ActionSubType, ActionType, AnnouncementType, ApiClient, ApiError, AppTheme, AssetType, BestOfType, CacheOperation, CampLocation, ChampSelectStateStore, ChampionIconType, CombinedViewTransitionType, ContentAlign, CustomOverlayMode, DamageEventType, DamageSplitMode, DamageType, DatabaseUpdateType, DevServerStatus, Feature, GameApi, GameState, GameStateApi, GameStateStore, GradientType, HeroStatsDisplayMode, IngameApi, IngameObjectiveType, IngameSideInfoPageType, Interval, Lane, LeagueBroadcastClient, MAGIC_COLOR, MatchApi, MatchRuleSet, ObjectFit, ObjectiveEventType, ObjectiveRecapDisplayMode, PHYS_COLOR, PaymentInterval, PickBanPhase, PostGameApi, PostGameDataType, damageBarStyle2 as PostgameDamageBarStyle, PreGameApi, divider2 as PregameDivider, ResourceType, RestApi, ScoreDisplayMode, ScoreDotBorderMode, SeasonApi, SetPhaseType, SpellClassification, SpellSlotIndex, StrokeLayer, StrokeLineStyle, StrokeTipStyle, TRUE_COLOR, Team, TeamColorType, TeamMemberRole, TextOrientation, Tier, TimeLineActionType, TransitionType, WebSocketManager, WindowType, WritingMode, activeComponentChangedEventArgs, activeComponentChangedMessage, addMatchRequestArgs, aggregateSpellEntries, announcementParameter, announcerColors, announcerEvent, announcerUniversalStyle, applicationLifetimeMessage, applicationNotificationCompletedMessage, applicationNotificationMessage, banSlot, banSlotLayoutStyling, banStyle, barStyle, billingCycle, borderStyle, bottomRowPickBanStyle, bottomRowSizeStyle, bottomRowTeamStyle, bottomRowTournamentData, cDragonPerkInfo, casterModeConfigDto, centerContent, centerContentLayoutStyling, centerContentStyling, champSelectActionMessage, champSelectStateData, champSelectStateMessage, champSelectStateMetaData, champSelectStatePerformanceData, championAbilityData, championContainer, championData, championIamgeStyle, championIconStyle, championImage, championImageStyle, championSelectEUStyle, championSelectTeam, championSkinInfo, championSlot, championStackStyle, championStatistics, championStats, championStatsContainer, championStatusStyle, championTabContainerStyle, championTabNameStyle, championTabsStyle, championUltimateStyle, championsSlot, changeDetectionResponse, changeEmailRequest, changeEmailResponse, changePasswordRequest, chatVoteOption, chatVoteResultDto, checkoutCompleteResponse, checkoutRequestDTO, choiceBar, choiceTitel, choiceVotes, cloudOverlayDownloadResponse, cloudOverlayMetadata, cloudOverlayUploadRequest, cloudOverlayUploadResponse, cloudOverlaysResponse, cloudStyleSetDownloadResponse, cloudStyleSetMetadata, cloudStyleSetUploadRequest, cloudStyleSetUploadResponse, cloudStyleSetsResponse, cloudSyncConfig, cloudSyncResult, coachSlot, colorByDamageType, colorComponentStyling, colorGradientData, colorImageData, colorRGBA, colorStop, colorStyle, colorStyling, combinedViewStyle, combinedViewTransitionStyle, communityDragonCacheProgressMessage, communityDragonV2ProgressMessage, communityDragonV2StatusMessage, componentStyle, contentContainerStyle, createChoice, createIngameTimerUtils, createPollDto, createPredictionDto, creepScore, curveStyle, customOverlay, customOverlayDescriptor, customOverlayUpdateMessage, damageBarSegments, damageBarStyle, damageCompositionBarStyle, damageCompositionColors, damageCompositionDonutStyle, damageCompositionPlayer, damageCompositionStyle, damageCompositionTeam, damageDealtStyle, damageEventHistoryEntry, damageEventHistoryUpdateMessage, damageFlow, damageFlowEdge, damageFlowNode, damageFlowNodeStyle, damageFlowRibbonStyle, damageGraphEntry, damageGraphSide, damageRecapDamageBarStyle, damageRecapEntry, damageRecapEntryStyle, damageRecapSpellEntry, damageRecapStyle, damageRecapTimelineEntry, damageSplitBarStyle, damageSplitEntryStyle, damageSplitSpellEntry, damageSplitStyle, damageSplitTargetEntry, damageStatsStyle, devServerState, displayColorData, divider, dmgTypeColor, emailConfirmRequest, emailForgotPasswordRequest, emailLoginRequest, emailResendCodeRequest, emailResetPasswordRequest, emailSignUpRequest, endPollDto, endPredictionDto, fearLessByGame, fearLessSingleRow, fearlessChampionImage, fearlessDraftStyle, fearlessDraftStylePregame, fearlessTree, fearlessTreeBanRowStyle, fearlessTreeConnectorStyle, fearlessTreeGameNodeStyle, fearlessTreeHeaderStyle, fontsChangedMessage, formatDamage, frontendRouteUpdateMessage, fullPlayerScoreboardSlots, gameAnalysis, gameDatabaseUpdateMessage, gameInfoRotation, gameStatusMessage, gameTimer, gameTimerStyle, gameWithTeams, getAbilityCooldownFraction, getAbilityCooldownRemaining, getDamageByType, getItemCooldownFraction, getItemCooldownRemaining, getRemaining, getRespawnRemaining, getRoleQuest, getSortedInventory, getTrinket, globalPosition, globalScoreboard, globalScoreboardBooleanIndicator, globalScoreboardSection, globalStyleProperties, goldAdvantage, goldEfficiencyEntry, goldEfficiencyHeaderStyle, goldEfficiencyHeatStyle, goldEfficiencyPlayerRowStyle, goldEfficiencyStyle, goldGraph, goldGraphStyle, gridLineStyle, headline, healthBarStyle, hotkeyFiredMessage, imageComponentStyle, imageStyle, infoContentColorStyling, infoContentLayoutStyling, infoContentTextStyle, infoRow, ingameAbilityInfo, ingameDamageCompositionData, ingameDamageFlowData, ingameDamageGraphData, ingameDamageRecapData, ingameDamageSplitData, ingameExperienceData, ingameFrontendData, ingameGoldEfficiencyData, ingameGoldGraphData, ingameHealthData, ingameKillParticipationData, ingameObjectiveDpsData, ingameObjectiveEvent, ingameObjectivePowerPlay, ingameResourceData, ingameRewindMessage, ingameRuneData, ingameScoreboardBottomData, ingameScoreboardBottomPlayerData, ingameScoreboardBottomTeamData, ingameScoreboardData, ingameScoreboardTeamData, ingameSideInfoPage, ingameSideInfoPageDisplayData, ingameSideInfoPageRow, ingameSingleRuneData, ingameSkinDisplayData, ingameSkinDisplayPlayerData, ingameSkinDisplayTeamData, ingameStateMessage, ingameStateSettingsWrapper, ingameTeamfightTimelineData, ingameTelemetry, ingameTelemetryMessage, inhibitorRespawnData, inhibitorTimer, inhibitorTimerContainer, inhibitorTimerDual, inhibitorTimerIconContainer, inhibitorTimerSingle, inhibitorTimerTimerContainer, isAbilityOnCooldown, isActive, isItemOnCooldown, isPlayerDead, itemAsset, itemIcon, itemSlot, itemStats, itemWithAsset, killFeed, killFeedAssistersStyle, killFeedContainerStyle, killFeedEntryStyle, killFeedEvent, killFeedIconStyle, killFeedKillIconStyle, killParticipationLink, killParticipationPlayer, killParticipationStyle, lFrameRotation, laneIconStyle, laneRowLayoutStyle, layoutComponentStyling, layoutStyle, legacyPickBanStyle, levelXpTrackerStyle, lineStyle, localSyncState, localizedPriceData, matchCardStyle, matchData, matchDatabaseUpdateMessage, matchOverviewData, matchOverviewGameSummary, matchOverviewTeamSummary, matchSummaryStyle, matchWithGamesAndTeams, matchupGridStyle, matchupHeaderStyle, matchupOverview, matchupOverviewGameRowStyle, matchupOverviewHeaderStyle, matchupOverviewTeamBarStyle, matchupScoreStyle, matchupTable, matchupTableContentStyle, matchupVersusStyle, normalizeDamageEntries, numberContainerStyle, objectiveDamagePerTeamStyle, objectiveDpsBarStyle, objectiveDpsHeaderStyle, objectiveDpsSample, objectiveDpsSmiteStrip, objectiveDpsTeamNumbersStyle, objectiveList, objectiveRecapCardStyle, objectiveRecapHeaderStyle, objectiveRecapSmiteBarStyle, objectiveRecapStyle, objectiveTimer, optionBar, optionTitel, optionVotes, optionalGameData, optionalMatchData, optionalTextStyle, partialStrokeProperties, perkData, perkInfoV2, perkStyleInfoV2, phaseTimer, phaseTimerColorStyling, phaseTimerLayoutStyling, pickBanActionEventArgs, pickBanTimer, pickBans, pickSlot, planDescriptorRecord, planDetails, playerDeath, playerHotkeyDto, playerKDA, playerScoreboard, playerScoreboardContainer, playerScoreboardGoldComparison, playerScoreboardSlot, playerSlot, playerSlotColorStyling, playerSlotLayoutStyling, playerSlotPickingStyle, playerSlotStyle, playerUpdateEvent, playerXpLevelStyle, pollWrapper, portalSessionResponse, postGameDamageGraph, postGameDamageGraphByTeam, postGameDamageGraphEntry, postGameGoldGraph, postGameOverview, postGamePlayerInfo, postGamePlayerPage, postGamePlayerRunesAndItems, postGamePlayerStats, postGameTeamInfo, postGameTeamOverview, predictionBar, predictionOutcomeRequest, predictionPoints, predictionWrapper, profileResponse, progressBarStyle, registerOverlayRequest, respawnTimer, roleQuestSlot, runeContainer, runeDisplayPerkStyle, runeDisplayStyle, runeDisplayTeamStyle, runeIcon, runeStyle, scoreStyle, scoreboardChampionSlot, scoreboardDamageGraphStyle, seasonData, seasonDatabaseUpdateMessage, shallowEqual, simpleChampionData, singleGameGoldGraph, singleGameGoldGraphData, singleIngameHotkeyConfigDto, singlePostgameHotkeyConfigDto, skinDisplayInfoStyle, skinDisplayPoweredByStyle, skinDisplayRoleIconStyle, skinDisplayStyle, smiteReactionBadgeStyle, smiteReactionPoweredByStyle, smiteReactionResult, smiteReactionRingStyle, smiteReactionStyle, smiteReactionTextStyle, spawnTimer, spawnTimerIconContainerStyle, spawnTimerInfoContainerStyle, spawnTimerStyle, startChatVoteDto, startCheckoutResponse, strokePropertiesChangedMessage, styleSet, styleSetEntry, styleSetNameCollection, styleSetUpdatedMessage, styleVariantUpdateMessage, styleVariantUpdatedEventArgs, summonerSpellData, summonerSpellInfoV2, tabLevelUpStyle, tabPlayer, tabTeam, tabsStyle, teamColorStyling, teamDamageStyle, teamData, teamDatabaseUpdateMessage, teamFightDamageStyle, teamIconStyle, teamInfo, teamInfoStyle, teamInhibitorData, teamLayoutStyling, teamMember, teamName, teamScore, teamScores, teamSummaryStyle, teamTextStyle, teamUpdateResults, teamWithMembers, teamfightDamageEntryStyle, teamfightDeathIconStyle, teamfightKillEvent, teamfightTimelinePlayer, teamfightTimelineSample, teamfightTimelineStyle, teamsAndTimerStyle, textComponentStyling, textContentWithStyle, textOutline, textStyle, textStyleWithBorder, textWithContent, timelineEntry, timerBadgePoll, timerBadgePrediction, timerBarStyle, timerTeamStyle, totalBadge, totalVotes, tournamentData, tournamentLogo, transitionEvents, transitionStyle, turretPlatingFallEvent, twitchChatVote, twitchPoll, twitchPrediction, twitchStatusDTO, ultiAbilityStyle, updateNameRequest, updateOverlayRequest, userFeaturesUpdatedMessage, userTierUpdatedMessage, vector3, verifyEmailRequest, voteWrapper, websocketMessageTypes };
6463
7059
  //# sourceMappingURL=index.js.map
6464
7060
  //# sourceMappingURL=index.js.map