nhle-api 0.5.2 → 0.5.4

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/lib/index.d.ts CHANGED
@@ -4,76 +4,6 @@ import * as arktype_internal_variants_object_ts from 'arktype/internal/variants/
4
4
  import * as arktype from 'arktype';
5
5
  import * as arktype_internal_attributes_ts from 'arktype/internal/attributes.ts';
6
6
 
7
- /**
8
- * Error handling module for NHL Sports Data API wrapper
9
- * Provides structured error classification and logging for API interactions
10
- */
11
- declare const ErrorCategory: {
12
- /** Network-level errors (connection refused, timeout, etc.) */
13
- readonly NETWORK: "NETWORK";
14
- /** HTTP 4xx client errors (invalid params, not found, etc.) */
15
- readonly CLIENT: "CLIENT";
16
- /** HTTP 5xx server errors */
17
- readonly SERVER: "SERVER";
18
- /** Rate limiting (HTTP 429) */
19
- readonly RATE_LIMIT: "RATE_LIMIT";
20
- /** Valid HTTP response but with error payload */
21
- readonly API_ERROR: "API_ERROR";
22
- /** Response parsing/validation failures */
23
- readonly PARSE: "PARSE";
24
- /** Invalid user input or configuration */
25
- readonly VALIDATION: "VALIDATION";
26
- };
27
- type ErrorCategory = (typeof ErrorCategory)[keyof typeof ErrorCategory];
28
- interface ErrorContext {
29
- /** HTTP status code if applicable */
30
- statusCode?: number;
31
- /** Original error object */
32
- cause?: unknown;
33
- /** Request URL or endpoint */
34
- endpoint?: string;
35
- /** Request method */
36
- method?: string;
37
- /** Request parameters */
38
- params?: Record<string, unknown>;
39
- /** Response body if available */
40
- responseBody?: unknown;
41
- /** Timestamp of error */
42
- timestamp?: Date;
43
- /** Additional metadata */
44
- metadata?: Record<string, unknown>;
45
- }
46
- /**
47
- * Base error class for all NHL API errors
48
- */
49
- declare class NHLError extends Error {
50
- readonly category: ErrorCategory;
51
- readonly context: ErrorContext;
52
- constructor(message: string, category: ErrorCategory, context?: ErrorContext);
53
- /**
54
- * Serialize error to JSON
55
- */
56
- toJSON(): {
57
- stack?: string;
58
- name: string;
59
- message: string;
60
- category: ErrorCategory;
61
- context: ErrorContext;
62
- };
63
- }
64
-
65
- /**
66
- * NHL API Client Type Definitions
67
- */
68
-
69
- type APIResponse<T> = {
70
- status: 'success';
71
- data: T;
72
- } | {
73
- status: 'error';
74
- error: NHLError;
75
- };
76
-
77
7
  /** Categories for save location top-10 list */
78
8
  declare const SaveLocationCategoryEnum: {
79
9
  /** Save Percentage */
@@ -199,6 +129,64 @@ declare const ZoneTimeSortEnum: {
199
129
  readonly NZ: "neutral";
200
130
  };
201
131
 
132
+ /**
133
+ * Error handling module for NHL Sports Data API wrapper
134
+ * Provides structured error classification and logging for API interactions
135
+ */
136
+ declare const ErrorCategory: {
137
+ /** Network-level errors (connection refused, timeout, etc.) */
138
+ readonly NETWORK: "NETWORK";
139
+ /** HTTP 4xx client errors (invalid params, not found, etc.) */
140
+ readonly CLIENT: "CLIENT";
141
+ /** HTTP 5xx server errors */
142
+ readonly SERVER: "SERVER";
143
+ /** Rate limiting (HTTP 429) */
144
+ readonly RATE_LIMIT: "RATE_LIMIT";
145
+ /** Valid HTTP response but with error payload */
146
+ readonly API_ERROR: "API_ERROR";
147
+ /** Response parsing/validation failures */
148
+ readonly PARSE: "PARSE";
149
+ /** Invalid user input or configuration */
150
+ readonly VALIDATION: "VALIDATION";
151
+ };
152
+ type ErrorCategory = (typeof ErrorCategory)[keyof typeof ErrorCategory];
153
+ interface ErrorContext {
154
+ /** HTTP status code if applicable */
155
+ statusCode?: number;
156
+ /** Original error object */
157
+ cause?: unknown;
158
+ /** Request URL or endpoint */
159
+ endpoint?: string;
160
+ /** Request method */
161
+ method?: string;
162
+ /** Request parameters */
163
+ params?: Record<string, unknown>;
164
+ /** Response body if available */
165
+ responseBody?: unknown;
166
+ /** Timestamp of error */
167
+ timestamp?: Date;
168
+ /** Additional metadata */
169
+ metadata?: Record<string, unknown>;
170
+ }
171
+ /**
172
+ * Base error class for all NHL API errors
173
+ */
174
+ declare class NHLError extends Error {
175
+ readonly category: ErrorCategory;
176
+ readonly context: ErrorContext;
177
+ constructor(message: string, category: ErrorCategory, context?: ErrorContext);
178
+ /**
179
+ * Serialize error to JSON
180
+ */
181
+ toJSON(): {
182
+ stack?: string;
183
+ name: string;
184
+ message: string;
185
+ category: ErrorCategory;
186
+ context: ErrorContext;
187
+ };
188
+ }
189
+
202
190
  declare const Year$1: arktype.BaseType<number | ((In: string) => arktype_internal_attributes_ts.To<number>), {}>;
203
191
  declare const NHLMonth$1: arktype_internal_variants_object_ts.ObjectType<(In: string | Date) => arktype.Out<string>, {}>;
204
192
  declare const NHLDate$1: arktype_internal_variants_object_ts.ObjectType<(In: string | Date) => arktype.Out<string>, {}>;
@@ -210,7 +198,7 @@ declare const GameNumber$1: arktype_internal_variants_object_ts.ObjectType<(In:
210
198
  declare const DraftRound$1: arktype_internal_variants_object_ts.ObjectType<(In: string | number) => arktype.Out<string>, {}>;
211
199
  declare const EventId$1: arktype.BaseType<number | ((In: string) => arktype_internal_attributes_ts.To<number>), {}>;
212
200
  declare const GameId$1: arktype.BaseType<number | ((In: string) => arktype_internal_attributes_ts.To<number>), {}>;
213
- declare const SeriesLetter$1: arktype_internal_variants_string_ts.StringType<"A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O", {}>;
201
+ declare const SeriesLetter$2: arktype_internal_variants_string_ts.StringType<"A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O", {}>;
214
202
  declare const GameState$2: arktype_internal_variants_string_ts.StringType<"FUT" | "LIV" | "FIN", {}>;
215
203
  declare const CountryCode$2: arktype_internal_variants_object_ts.ObjectType<(In: string) => arktype.Out<string>, {}>;
216
204
  declare const PostalCode$1: arktype_internal_variants_string_ts.StringType<string, {}>;
@@ -272,7 +260,7 @@ type NHLMonth = typeof NHLMonth$1.inferIn;
272
260
  /**
273
261
  * Represents a valid NHL series letter (A-O)
274
262
  */
275
- type SeriesLetter = typeof SeriesLetter$1.inferIn;
263
+ type SeriesLetter$1 = typeof SeriesLetter$2.inferIn;
276
264
  /**
277
265
  * Represents the playoff rounds in an NHL season (1-4)
278
266
  */
@@ -317,30 +305,355 @@ type SkatingDistanceSort = keyof typeof SkatingDistanceSortEnum;
317
305
  /** Sort options for zone time top-10 lists. */
318
306
  type ZoneTimeSort = keyof typeof ZoneTimeSortEnum;
319
307
 
308
+ /**
309
+ * ======================================================================
310
+ * API endpoints for goalie-related data.
311
+ * Base url: api-web.nhle.com/v1/edge
312
+ *
313
+ * Notes:
314
+ * - Convenience endpoints using 'now' for season have been
315
+ * excluded in favor of using calculated current season. You can optionally
316
+ * configure the switch over date for how current season is calculated.
317
+ * See README for details.
318
+ * - There is an extra endpoint that appears to duplicate
319
+ * the functionality of /skater-detail at `v1/cat/edge/skater-detail`
320
+ * As such, it has been excluded from this implementation.
321
+ * ======================================================================
322
+ */
323
+
324
+ /**
325
+ * Goalie Edge Advanced Stats API helpers.
326
+ *
327
+ * Lightweight wrapper exposing functions that call the underlying nhlClient
328
+ * for goalie-related endpoints. Each method returns the raw Promise from the
329
+ * client.get call.
330
+ */
331
+ /**
332
+ * Get goalie detail for a player.
333
+ * @param playerId - The player's numeric id.
334
+ * @param season - Optional season (numeric season format or 'now' via argParse).
335
+ * @param gameType - Optional game type id.
336
+ * @returns Promise resolving to the raw API response.
337
+ */
338
+ declare function player$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
339
+ /**
340
+ * Get goalie comparison data for a player.
341
+ * @param playerId - The player's numeric id.
342
+ * @param season - Optional season (numeric season format or 'now' via argParse).
343
+ * @param gameType - Optional game type id.
344
+ * @returns Promise resolving to the raw API response.
345
+ */
346
+ declare function compare$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
347
+ /**
348
+ * Get goalie landing / leaders for a season.
349
+ * @param season - Optional season (numeric season format or 'now' via argParse).
350
+ * @param gameType - Optional game type id.
351
+ * @returns Promise resolving to the raw API response.
352
+ */
353
+ declare function leaders$2(season?: Season, gameType?: GameType): Promise<unknown>;
354
+ /**
355
+ * Get 5v5 save percentage details for a goalie.
356
+ * @param playerId - The player's numeric id.
357
+ * @param season - Optional season (numeric season format or 'now' via argParse).
358
+ * @param gameType - Optional game type id.
359
+ * @returns Promise resolving to the raw API response.
360
+ */
361
+ declare function savePercentage5v5(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
362
+ /**
363
+ * Get save percentage details for a goalie.
364
+ * @param playerId - The player's numeric id.
365
+ * @param season - Optional season (numeric season format or 'now' via argParse).
366
+ * @param gameType - Optional game type id.
367
+ * @returns Promise resolving to the raw API response.
368
+ */
369
+ declare function savePercentage(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
370
+ /**
371
+ * Get save location details for a goalie.
372
+ * @param playerId - The player's numeric id.
373
+ * @param season - Optional season (numeric season format or 'now' via argParse).
374
+ * @param gameType - Optional game type id.
375
+ * @returns Promise resolving to the raw API response.
376
+ */
377
+ declare function saveLocation(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
378
+ /**
379
+ * Accessor for top-10 leaderboards.
380
+ * @returns Object with methods to fetch various top-10 lists.
381
+ */
382
+ declare const top10$2: {
383
+ savePercentage: typeof top10SavePercentage;
384
+ savePercentage5v5: typeof top10SavePercentage5v5;
385
+ saveLocation: typeof top10SaveLocation;
386
+ };
387
+ /**
388
+ * Top-10 edge save percentage lists.
389
+ * @param sortBy - Sorting key for the leaderboard.
390
+ * @param season - Optional season (numeric or 'now').
391
+ * @param gameType - Optional game type id.
392
+ * @returns Promise resolving to the raw API response.
393
+ */
394
+ declare function top10SavePercentage(season?: Season, gameType?: GameType, sortBy?: SavePercentageSort): Promise<unknown>;
395
+ /**
396
+ * Top-10 5v5 save percentage lists.
397
+ * @param sortBy - Sorting key for the leaderboard.
398
+ * @param season - Optional season (numeric or 'now').
399
+ * @param gameType - Optional game type id.
400
+ * @returns Promise resolving to the raw API response.
401
+ */
402
+ declare function top10SavePercentage5v5(season?: Season, gameType?: GameType, sortBy?: SavePercentage5v5Sort): Promise<unknown>;
403
+ /**
404
+ * Top-10 save location lists.
405
+ * @param category - Category key (see SaveLocationCategoryEnum).
406
+ * @param sortBy - Sorting key for the leaderboard (see SaveLocationSortEnum).
407
+ * @param season - Optional season (e.g. 20242025).
408
+ * @param gameType - Optional game type.
409
+ * @returns Promise resolving to the raw API response.
410
+ */
411
+ declare function top10SaveLocation(season?: Season, gameType?: GameType, category?: SaveLocationCategory, sortBy?: SaveLocationSort): Promise<unknown>;
412
+
413
+ declare const goalies_saveLocation: typeof saveLocation;
414
+ declare const goalies_savePercentage: typeof savePercentage;
415
+ declare const goalies_savePercentage5v5: typeof savePercentage5v5;
416
+ declare namespace goalies {
417
+ export { compare$1 as compare, leaders$2 as leaders, player$1 as player, goalies_saveLocation as saveLocation, goalies_savePercentage as savePercentage, goalies_savePercentage5v5 as savePercentage5v5, top10$2 as top10 };
418
+ }
419
+
420
+ /**
421
+ * ======================================================================
422
+ * API endpoints for skater-related data.
423
+ * Base url: api-web.nhle.com/v1/edge
424
+ *
425
+ * Notes:
426
+ * - Convenience endpoints using 'now' for season have been
427
+ * excluded in favor of using calculated current season. You can optionally
428
+ * configure the switch over date for how current season is calculated.
429
+ * See README for details.
430
+ * - There is an extra endpoint that appears to duplicate
431
+ * the functionality of /skater-detail at `v1/cat/edge/skater-detail`
432
+ * As such, it has been excluded from this implementation.
433
+ * =====================================================================
434
+ */
435
+
436
+ /**
437
+ * Skater Edge Advanced Stats API helpers.
438
+ *
439
+ * Lightweight wrapper exposing functions that call the underlying nhlClient
440
+ * for skater-related endpoints. Each method returns the raw Promise from the
441
+ * client.get call.
442
+ */
443
+ /** Get skater detail for a player. */
444
+ declare function detail(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
445
+ /** Get skater shot location details for a player. */
446
+ declare function shotLocation$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
447
+ /** Get skater shot speed details for a player. */
448
+ declare function shotSpeed$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
449
+ /** Get skater skating distance details for a player. */
450
+ declare function skatingDistance$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
451
+ /** Get skater skating speed details for a player. */
452
+ declare function skatingSpeed$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
453
+ /** Get skater zone time for a player. */
454
+ declare function zoneTime$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
455
+ /** Get skater comparison data for a player. */
456
+ declare function comparison(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
457
+ /** Get skater landing / leaders for a season. */
458
+ declare function leaders$1(season?: Season, gameType?: GameType): Promise<unknown>;
459
+ declare const top10$1: {
460
+ distance: typeof top10Distance;
461
+ shotLocation: typeof top10ShotLocation$1;
462
+ shotSpeed: typeof top10ShotSpeed$1;
463
+ speed: typeof top10Speed;
464
+ zoneTime: typeof top10ZoneTime$1;
465
+ };
466
+ /** Top-10 skating distance lists. */
467
+ declare function top10Distance(season?: Season, gameType?: GameType, position?: PositionFilter, strength?: SkatersStrength, sortBy?: SkatingDistanceSort): Promise<unknown>;
468
+ /** Top-10 shot location lists. */
469
+ declare function top10ShotLocation$1(season?: Season, gameType?: GameType, position?: PositionFilter, category?: ShotLocationCategory, sortBy?: ShotLocationSort): Promise<unknown>;
470
+ /** Top-10 shot speed lists. */
471
+ declare function top10ShotSpeed$1(season?: Season, gameType?: GameType, position?: PositionFilter, sortBy?: ShotSpeedSort): Promise<unknown>;
472
+ /** Top-10 skating speed lists. */
473
+ declare function top10Speed(season?: Season, gameType?: GameType, position?: PositionFilter, sortBy?: SkatingSpeedSort): Promise<unknown>;
474
+ /** Top-10 zone time lists. */
475
+ declare function top10ZoneTime$1(season?: Season, gameType?: GameType, position?: PositionFilter, strength?: SkatersStrength, sortBy?: ZoneTimeSort): Promise<unknown>;
476
+
477
+ declare const skaters_comparison: typeof comparison;
478
+ declare const skaters_detail: typeof detail;
479
+ declare namespace skaters {
480
+ export { skaters_comparison as comparison, skaters_detail as detail, leaders$1 as leaders, shotLocation$1 as shotLocation, shotSpeed$1 as shotSpeed, skatingDistance$1 as skatingDistance, skatingSpeed$1 as skatingSpeed, top10$1 as top10, zoneTime$1 as zoneTime };
481
+ }
482
+
483
+ /**
484
+ * NHL API Client Type Definitions
485
+ */
486
+
487
+ type APIResponse<T> = {
488
+ success: true;
489
+ data: T;
490
+ } | {
491
+ success: false;
492
+ error: NHLError;
493
+ };
494
+
495
+ /**
496
+ * Edge Advanced Stats API helpers.
497
+ *
498
+ * Lightweight wrapper exposing functions that call the underlying nhlClient
499
+ * for related endpoints. Each method returns the raw Promise from the
500
+ * client.get call.
501
+ */
502
+ /**
503
+ * Get the "by the numbers" data for the current day, updated daily with
504
+ * insights from the previous days games.
505
+ * @returns A promise that resolves to the "by the numbers" data.
506
+ */
507
+ declare function byTheNumbers(): Promise<APIResponse<unknown>>;
508
+
509
+ /**
510
+ * ======================================================================
511
+ * API endpoints for team-related data.
512
+ * Base url: api-web.nhle.com/v1/edge
513
+ *
514
+ * note: the season and game-type params on any endpoint can
515
+ * be replaced with 'now' to get current season data.
516
+ * ex. `/team-detail/{team-id}/now`
517
+ * ======================================================================
518
+ */
519
+
520
+ /**
521
+ * Team Edge Advanced Stats API helpers.
522
+ *
523
+ * Lightweight wrapper exposing functions that call the underlying nhlClient
524
+ * for team-related endpoints. Each method returns the raw Promise from the
525
+ * client.get call.
526
+ */
527
+ /**
528
+ * Get team detail stats for a team.
529
+ * @param teamId - Team numeric id.
530
+ * @param season - Optional season (numeric season format or 'now').
531
+ * @param gameType - Optional game type id (defaults to Regular Season).
532
+ */
533
+ declare function stats$1(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
534
+ /**
535
+ * Get team comparison data for a single team.
536
+ */
537
+ declare function compare(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
538
+ /**
539
+ * Get team landing/leaders for a season.
540
+ */
541
+ declare function leaders(season?: Season, gameType?: GameType): Promise<unknown>;
542
+ /**
543
+ * Get shot location details for a team.
544
+ */
545
+ declare function shotLocation(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
546
+ /**
547
+ * Get shot speed details for a team.
548
+ */
549
+ declare function shotSpeed(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
550
+ /**
551
+ * Get skating distance details for a team.
552
+ */
553
+ declare function skatingDistance(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
554
+ /**
555
+ * Get skating speed details for a team.
556
+ */
557
+ declare function skatingSpeed(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
558
+ /**
559
+ * Get zone time details for a team.
560
+ */
561
+ declare function zoneTime(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
562
+ declare const top10: {
563
+ shotLocation: typeof top10ShotLocation;
564
+ shotSpeed: typeof top10ShotSpeed;
565
+ skatingDistance: typeof top10SkatingDistance;
566
+ skatingSpeed: typeof top10SkatingSpeed;
567
+ zoneTime: typeof top10ZoneTime;
568
+ };
569
+ /**
570
+ * Top-10 team shot location lists.
571
+ */
572
+ declare function top10ShotLocation(season?: Season, gameType?: GameType, position?: PositionFilter, category?: ShotLocationCategory, sortBy?: ShotLocationSort): Promise<unknown>;
573
+ /**
574
+ * Top-10 team shot speed lists.
575
+ */
576
+ declare function top10ShotSpeed(season?: Season, gameType?: GameType, position?: PositionFilter, sortBy?: ShotSpeedSort): Promise<unknown>;
577
+ /**
578
+ * Top-10 team skating distance lists.
579
+ */
580
+ declare function top10SkatingDistance(season?: Season, gameType?: GameType, position?: PositionFilter, strength?: SkatersStrength, sortBy?: SkatingDistanceSort): Promise<unknown>;
581
+ /**
582
+ * Top-10 team skating speed lists.
583
+ */
584
+ declare function top10SkatingSpeed(season?: Season, gameType?: GameType, position?: PositionFilter, sortBy?: SkatingSpeedSort): Promise<unknown>;
585
+ /**
586
+ * Top-10 team zone time lists.
587
+ */
588
+ declare function top10ZoneTime(season?: Season, gameType?: GameType, strength?: SkatersStrength, sortBy?: ZoneTimeSort): Promise<unknown>;
589
+
590
+ declare const teams_compare: typeof compare;
591
+ declare const teams_leaders: typeof leaders;
592
+ declare const teams_shotLocation: typeof shotLocation;
593
+ declare const teams_shotSpeed: typeof shotSpeed;
594
+ declare const teams_skatingDistance: typeof skatingDistance;
595
+ declare const teams_skatingSpeed: typeof skatingSpeed;
596
+ declare const teams_top10: typeof top10;
597
+ declare const teams_zoneTime: typeof zoneTime;
598
+ declare namespace teams {
599
+ export { teams_compare as compare, teams_leaders as leaders, teams_shotLocation as shotLocation, teams_shotSpeed as shotSpeed, teams_skatingDistance as skatingDistance, teams_skatingSpeed as skatingSpeed, stats$1 as stats, teams_top10 as top10, teams_zoneTime as zoneTime };
600
+ }
601
+
602
+ /**
603
+ * ========================================================================
604
+ * NHL Edge Advanced Stats API Module Exports
605
+ * Base URL: https://api.nhle.com/stats/rest
606
+ * ========================================================================
607
+ * Complete NHL Edge Advanced Stats API implementation with modules for:
608
+ * - Players (skaters, goalies)
609
+ * - Teams and franchises
610
+ * - Advanced statistical numbers
611
+ * ========================================================================
612
+ */
613
+
614
+ declare const index$1_byTheNumbers: typeof byTheNumbers;
615
+ declare const index$1_goalies: typeof goalies;
616
+ declare const index$1_skaters: typeof skaters;
617
+ declare const index$1_teams: typeof teams;
618
+ declare namespace index$1 {
619
+ export { index$1_byTheNumbers as byTheNumbers, index$1_goalies as goalies, index$1_skaters as skaters, index$1_teams as teams };
620
+ }
621
+
320
622
  /**
321
623
  * Common types used in Gamecenter API responses
322
624
  */
323
- type IncompleteOptions<T> = T | (string & {});
324
- /** GameState - The current state of the game. */
625
+ /** The current state of the game. */
325
626
  type GameState = 'OFF' | 'FUT' | 'LIVE' | 'PRE' | 'CRIT' | 'FINAL';
326
- /** GameScheduleState - The current state of the game. */
327
- type GameScheduleState = IncompleteOptions<'OK' | 'TBD' | 'CNCL'>;
328
- /** PeriodType - The type of period in the game. */
627
+ /** The current state of the game. */
628
+ type GameScheduleState = 'OK' | 'TBD' | 'CNCL' | (string & {});
629
+ /** The type of period in the game. */
329
630
  type PeriodType = 'REG' | 'OT' | 'SO';
330
- /** PenaltyType - The type of penalty. (MIN = Minor, BEN = Bench, MAJ = Major) */
331
- type PenaltyTypeCode = IncompleteOptions<'MIN' | 'BEN' | 'MAJ'>;
332
- /** Market - The market for this broadcast. (H = Home, A = Away, N = National, S = Satellite Radio) */
631
+ /** Abbreviated day of the week. (MON = Monday, TUE = Tuesday ...) */
632
+ type DayAbbrev = 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | 'SUN';
633
+ /** The type of penalty. (MIN = Minor, BEN = Bench, MAJ = Major ...) */
634
+ type PenaltyTypeCode = 'MIN' | 'BEN' | 'MAJ' | (string & {});
635
+ /** The market for this broadcast. (H = Home, A = Away, N = National, S = Satellite Radio) */
333
636
  type Market = 'H' | 'A' | 'N' | 'S';
334
- /** CountryCode - The country code for this broadcast. (CA = Canada, US = United States) */
637
+ /** The country code for this broadcast. (CA = Canada, US = United States) */
335
638
  type CountryCode = 'CA' | 'US';
336
- /** PositionCode - The position code for a player. (C = Center, RW = Right Wing, LW = Left Wing, D = Defenseman, G = Goalie) */
337
- type PositionCode = 'C' | 'LW' | 'RW' | 'D' | 'G';
338
- /** PositionCode - The position code for a player. (C = Center, R = Right, L = Left, D = Defenseman, G = Goalie) */
339
- type Position$1 = 'C' | 'L' | 'R' | 'D' | 'G';
340
- /** ShootsCatches - Player's shooting/catching handedness. (L = Left, R = Right) */
639
+ /** The position code for a player. (C = Center, L[W] = Left Wing, R[W] = Right Wing, D = Defenseman, G = Goalie) */
640
+ type PositionCode = 'C' | 'LW' | 'L' | 'RW' | 'R' | 'D' | 'G';
641
+ /** Player's shooting/catching handedness. (L = Left, R = Right) */
341
642
  type ShootsCatches = 'L' | 'R';
342
- /** DefaultWith - An object containing a default string value as well as any translations to other languages. */
343
- interface Default {
643
+ type HexColorCode = `#${string}`;
644
+ type UTCOffset = `+${number}:${number}` | `-${number}:${number}`;
645
+ type GoalModifier = 'none' | 'empty-net' | 'awarded-empty-net';
646
+ type DefendingSide = 'left' | 'right';
647
+ type Strength = 'ev' | 'pp' | 'sh';
648
+ type ZoneCode = 'N' | 'D' | 'O';
649
+ type ShotType = 'backhand' | 'bat' | 'between-legs' | 'deflected' | 'poke' | 'slap' | 'snap' | 'tip-in' | 'wrap-around' | 'wrist' | (string & {});
650
+ type PenaltyDescKey = 'tripping' | 'hooking' | 'interference' | 'high-sticking' | 'roughing' | 'unsportsmanlike-conduct' | 'slashing' | 'delaying-game-puck-over-glass' | 'holding' | 'holding-the-stick' | 'too-many-men-on-the-ice' | 'fighting' | 'minor' | 'cross-checking' | (string & {});
651
+ type Reason = 'blocked' | 'failed-bank-attempt' | 'wide-right' | 'goalie-stopped-after-sog' | 'offside' | 'teammate-blocked' | 'icing' | 'puck-in-netting' | 'wide-left' | 'high-and-wide-left' | 'puck-frozen' | 'above-crossbar' | 'tv-timeout' | 'hand-pass' | 'skater-puck-frozen' | 'high-stick' | 'high-and-wide-right' | 'hit-crossbar' | 'puck-in-benches' | 'hit-right-post' | 'short' | 'referee-or-linesman' | 'puck-in-crowd' | 'hit-left-post' | 'player-equipment' | 'net-dislodged-defensive-skater' | 'home-timeout' | 'chlg-hm-goal-interference' | 'video-review' | 'chlg-league-missed-stoppage' | 'visitor-timeout' | 'official-injury' | (string & {});
652
+ type EventTypeDescKey = 'period-start' | 'faceoff' | 'blocked-shot' | 'goal' | 'hit' | 'giveaway' | 'missed-shot' | 'shot-on-goal' | 'stoppage' | 'takeaway' | 'penalty' | 'period-end' | 'delayed-penalty' | 'game-end' | (string & {});
653
+ /** An object containing a default string an optional localized strings. */
654
+ interface LocalizedText {
655
+ /** Default */
656
+ default: string;
344
657
  /** French */
345
658
  fr?: string;
346
659
  /** Czech */
@@ -355,12 +668,8 @@ interface Default {
355
668
  sk?: string;
356
669
  /** Swedish */
357
670
  sv?: string;
358
- /** Additional languages */
359
- [key: string]: string | undefined;
360
671
  }
361
- type UTCOffset = `+${number}:${number}` | `-${number}:${number}`;
362
- type ZoneCode = 'N' | 'D' | 'O';
363
- interface TvBroadcast$3 {
672
+ interface TvBroadcast {
364
673
  id: number;
365
674
  market: Market;
366
675
  countryCode: CountryCode;
@@ -368,29 +677,151 @@ interface TvBroadcast$3 {
368
677
  sequenceNumber: number;
369
678
  }
370
679
 
371
- interface DraftPicks {
372
- broadcastStartTimeUTC: string;
373
- draftYear: number;
374
- draftYears: number[];
375
- selectableRounds: number[];
376
- state: string;
377
- picks: Pick$1[];
680
+ interface GamecenterBoxscore {
681
+ id: number;
682
+ season: number;
683
+ gameType: number;
684
+ limitedScoring: boolean;
685
+ gameDate: string;
686
+ venue: LocalizedText;
687
+ venueLocation: LocalizedText;
688
+ startTimeUTC: string;
689
+ easternUTCOffset: UTCOffset;
690
+ venueUTCOffset: UTCOffset;
691
+ tvBroadcasts: TvBroadcast[];
692
+ gameState: GameState;
693
+ gameScheduleState: GameScheduleState;
694
+ periodDescriptor?: PeriodDescriptor$9;
695
+ regPeriods: number;
696
+ awayTeam: Team$a;
697
+ homeTeam: Team$a;
698
+ clock: Clock$4;
699
+ playerByGameStats?: PlayerByGameStats;
700
+ summary?: Summary$3;
701
+ gameOutcome?: GameOutcome$5;
702
+ situation?: Situation$2;
378
703
  }
379
- interface Pick$1 {
380
- round: number;
381
- pickInRound: number;
382
- overallPick: number;
704
+ interface Team$a {
705
+ id: number;
706
+ commonName: LocalizedText;
707
+ abbrev: TeamAbbrev;
708
+ score?: number;
709
+ sog?: number;
710
+ logo: string;
711
+ darkLogo: string;
712
+ placeName: LocalizedText;
713
+ placeNameWithPreposition: LocalizedText;
714
+ radioLink?: string;
715
+ }
716
+ interface Clock$4 {
717
+ timeRemaining: string;
718
+ secondsRemaining: number;
719
+ running: boolean;
720
+ inIntermission: boolean;
721
+ }
722
+ interface GameOutcome$5 {
723
+ lastPeriodType: string;
724
+ otPeriods?: number;
725
+ }
726
+ interface PeriodDescriptor$9 {
727
+ number: number;
728
+ periodType: string;
729
+ maxRegulationPeriods: number;
730
+ }
731
+ interface PlayerByGameStats {
732
+ awayTeam: PlayerByGameStatsTeam;
733
+ homeTeam: PlayerByGameStatsTeam;
734
+ }
735
+ interface PlayerByGameStatsTeam {
736
+ forwards: Forward$2[];
737
+ defense: Defense[];
738
+ goalies: Goalie$4[];
739
+ }
740
+ interface BasePlayer {
741
+ playerId: number;
742
+ sweaterNumber: number;
743
+ name: LocalizedText;
744
+ position: PositionCode;
745
+ }
746
+ interface Skater$2 extends BasePlayer {
747
+ position: Exclude<PositionCode, 'G'>;
748
+ goals: number;
749
+ assists: number;
750
+ points: number;
751
+ plusMinus: number;
752
+ pim: number;
753
+ hits: number;
754
+ powerPlayGoals: number;
755
+ sog: number;
756
+ faceoffWinningPctg: number;
757
+ toi: string;
758
+ blockedShots: number;
759
+ shifts: number;
760
+ giveaways: number;
761
+ takeaways: number;
762
+ }
763
+ interface Forward$2 extends Skater$2 {
764
+ position: Exclude<PositionCode, 'D' | 'G'>;
765
+ }
766
+ interface Defense extends Skater$2 {
767
+ position: 'D';
768
+ }
769
+ interface Goalie$4 extends BasePlayer {
770
+ position: 'G';
771
+ evenStrengthShotsAgainst: string;
772
+ powerPlayShotsAgainst: string;
773
+ shorthandedShotsAgainst: string;
774
+ saveShotsAgainst: string;
775
+ savePctg?: number;
776
+ evenStrengthGoalsAgainst: number;
777
+ powerPlayGoalsAgainst: number;
778
+ shorthandedGoalsAgainst: number;
779
+ pim?: number;
780
+ goalsAgainst: number;
781
+ toi: string;
782
+ starter?: boolean;
783
+ decision?: Decision$1;
784
+ shotsAgainst: number;
785
+ saves: number;
786
+ }
787
+ type Decision$1 = 'W' | 'L' | 'O';
788
+ interface Situation$2 {
789
+ homeTeam: SituationDetails;
790
+ awayTeam: SituationDetails;
791
+ situationCode: string;
792
+ timeRemaining: string;
793
+ secondsRemaining: number;
794
+ }
795
+ interface SituationDetails {
796
+ abbrev: string;
797
+ situationDescriptions?: string[];
798
+ strength: number;
799
+ }
800
+ type Summary$3 = Record<string, unknown>;
801
+
802
+ interface DraftPicks {
803
+ broadcastStartTimeUTC: string;
804
+ draftYear: number;
805
+ draftYears: number[];
806
+ selectableRounds: number[];
807
+ state: string;
808
+ picks: Pick$1[];
809
+ }
810
+ interface Pick$1 {
811
+ round: number;
812
+ pickInRound: number;
813
+ overallPick: number;
383
814
  teamId: number;
384
815
  teamAbbrev: TeamAbbrev;
385
- teamName: Default;
386
- teamCommonName: Default;
387
- teamPlaceNameWithPreposition: Default;
388
- displayAbbrev: Default;
816
+ teamName: LocalizedText;
817
+ teamCommonName: LocalizedText;
818
+ teamPlaceNameWithPreposition: LocalizedText;
819
+ displayAbbrev: LocalizedText;
389
820
  teamLogoLight: string;
390
821
  teamLogoDark: string;
391
822
  teamPickHistory: string;
392
- firstName: Default;
393
- lastName: Default;
823
+ firstName: LocalizedText;
824
+ lastName: LocalizedText;
394
825
  positionCode: PositionCode;
395
826
  countryCode: string;
396
827
  height: number;
@@ -404,10 +835,10 @@ interface DraftRankings {
404
835
  categoryId: number;
405
836
  categoryKey: Key;
406
837
  draftYears: number[];
407
- categories: Category[];
838
+ categories: Category$3[];
408
839
  rankings: Ranking[];
409
840
  }
410
- interface Category {
841
+ interface Category$3 {
411
842
  id: number;
412
843
  name: Name;
413
844
  consumerKey: Key;
@@ -434,7 +865,7 @@ interface Ranking {
434
865
  interface DraftTracker {
435
866
  currentDraftDate: Date;
436
867
  broadcastStartTimeUTC: Date;
437
- tvBroadcasts: TvBroadcast$2[];
868
+ tvBroadcasts: TvBroadcast[];
438
869
  logoUrl: string;
439
870
  logoFrUrl: string;
440
871
  uiAccentColor: HexColorCode;
@@ -447,253 +878,441 @@ interface Pick {
447
878
  overallPick: number;
448
879
  teamId: number;
449
880
  teamAbbrev: TeamAbbrev;
450
- teamFullName: Default;
451
- teamCommonName: Default;
452
- teamPlaceNameWithPreposition: Default;
881
+ teamFullName: LocalizedText;
882
+ teamCommonName: LocalizedText;
883
+ teamPlaceNameWithPreposition: LocalizedText;
453
884
  teamLogoLight: string;
454
885
  teamLogoDark: string;
455
886
  state: string;
456
- lastName: Default;
457
- firstName: Default;
887
+ lastName: LocalizedText;
888
+ firstName: LocalizedText;
458
889
  positionCode: PositionCode;
459
890
  }
460
- type HexColorCode = `#${string}`;
461
- interface TvBroadcast$2 {
462
- id: number;
463
- market: Market;
464
- countryCode: CountryCode;
465
- network: string;
466
- sequenceNumber: number;
467
- }
468
-
469
- interface NetworkTVSchedule {
470
- date: string;
471
- startDate: string;
472
- endDate: string;
473
- broadcasts: Broadcast[];
474
- }
475
- interface Broadcast {
476
- startTime: string;
477
- endTime: string;
478
- durationSeconds: number;
479
- title: string;
480
- description: string;
481
- houseNumber: string;
482
- broadcastType: 'HD' | string;
483
- broadcastStatus: 'LIVE' | '' | string;
484
- broadcastImageUrl: string;
485
- }
486
-
487
- interface WhereToWatch {
488
- id: string;
489
- active: boolean;
490
- countryCode: string;
491
- countryName: string;
492
- streamingName?: string;
493
- streamingSiteUrl?: string;
494
- streamingLogoUrl?: string;
495
- primaryBroadcastName?: string;
496
- primaryBroadcastSiteUrl?: string;
497
- primaryBroadcastLogoUrl?: string;
498
- secondaryBroadcastName?: string;
499
- secondaryBroadcastSiteUrl?: string;
500
- secondaryBroadcastLogoUrl?: string;
501
- }
502
891
 
503
- interface GamecenterBoxscore {
892
+ interface GamecenterLanding {
504
893
  id: number;
505
894
  season: number;
506
895
  gameType: number;
507
896
  limitedScoring: boolean;
508
897
  gameDate: string;
509
- venue: Default;
510
- venueLocation: Default;
898
+ venue: LocalizedText;
899
+ venueLocation: LocalizedText;
511
900
  startTimeUTC: string;
512
901
  easternUTCOffset: UTCOffset;
513
902
  venueUTCOffset: UTCOffset;
514
- tvBroadcasts: TvBroadcast$1[];
903
+ venueTimezone: string;
904
+ periodDescriptor?: PeriodDescriptor$8;
905
+ tvBroadcasts: TvBroadcast[];
515
906
  gameState: GameState;
516
907
  gameScheduleState: GameScheduleState;
517
- periodDescriptor?: PeriodDescriptor$2;
908
+ awayTeam: LandingTeam;
909
+ homeTeam: LandingTeam;
910
+ shootoutInUse: boolean;
911
+ maxPeriods: number;
518
912
  regPeriods: number;
519
- awayTeam: Team$4;
520
- homeTeam: Team$4;
521
- clock: Clock$1;
522
- playerByGameStats?: PlayerByGameStats;
523
- summary?: Summary$1;
524
- gameOutcome?: GameOutcome$2;
913
+ otInUse: boolean;
914
+ tiesInUse: boolean;
915
+ summary?: Summary$2;
916
+ clock?: Clock$3;
917
+ ticketsLink?: string;
918
+ ticketsLinkFr?: string;
919
+ matchup?: Matchup;
525
920
  situation?: Situation$1;
526
921
  }
527
- interface Team$4 {
922
+ interface LandingTeam {
528
923
  id: number;
529
- commonName: Default;
924
+ commonName: LocalizedText;
530
925
  abbrev: TeamAbbrev;
926
+ placeName: LocalizedText;
927
+ placeNameWithPreposition: LocalizedText;
531
928
  score?: number;
532
929
  sog?: number;
533
930
  logo: string;
534
931
  darkLogo: string;
535
- placeName: Default;
536
- placeNameWithPreposition: Default;
932
+ record?: string;
537
933
  radioLink?: string;
538
934
  }
539
- interface Clock$1 {
935
+ interface Clock$3 {
540
936
  timeRemaining: string;
541
937
  secondsRemaining: number;
542
938
  running: boolean;
543
939
  inIntermission: boolean;
544
940
  }
545
- interface GameOutcome$2 {
546
- lastPeriodType: string;
547
- otPeriods?: number;
548
- }
549
- interface PeriodDescriptor$2 {
550
- number: number;
551
- periodType: string;
552
- maxRegulationPeriods: number;
553
- }
554
- interface PlayerByGameStats {
555
- awayTeam: PlayerByGameStatsTeam;
556
- homeTeam: PlayerByGameStatsTeam;
941
+ interface Matchup {
942
+ season: number;
943
+ gameType: number;
944
+ skaterComparison: SkaterComparison;
945
+ goalieComparison: GoalieComparison$1;
946
+ skaterSeasonStats: SkaterSeasonStats;
947
+ goalieSeasonStats: GoalieSeasonStats;
948
+ }
949
+ interface GoalieComparison$1 {
950
+ contextLabel: string;
951
+ contextSeason: number;
952
+ homeTeam: ComparisonTeamDetails;
953
+ awayTeam: ComparisonTeamDetails;
954
+ }
955
+ interface ComparisonTeamDetails {
956
+ teamTotals: TeamTotals;
957
+ leaders: TeamLeader$1[];
958
+ }
959
+ interface TeamLeader$1 {
960
+ playerId: number;
961
+ name: LocalizedText;
962
+ firstName: LocalizedText;
963
+ lastName: LocalizedText;
964
+ sweaterNumber: number;
965
+ headshot: string;
966
+ positionCode: PositionCode;
967
+ gamesPlayed: number;
968
+ seasonPoints: number;
969
+ record: string;
970
+ gaa: number;
971
+ savePctg: number;
972
+ shutouts: number;
973
+ }
974
+ interface TeamTotals {
975
+ record: string;
976
+ gaa: number;
977
+ savePctg: number;
978
+ shutouts: number;
979
+ gamesPlayed: number;
557
980
  }
558
- interface PlayerByGameStatsTeam {
559
- forwards: Forward$1[];
560
- defense: Defense[];
561
- goalies: Goalie$1[];
981
+ interface GoalieSeasonStats {
982
+ contextLabel: string;
983
+ contextSeason: number;
984
+ goalies: GoalieSeasonStatsGoalie[];
562
985
  }
563
- interface BasePlayer {
986
+ interface GoalieSeasonStatsGoalie {
564
987
  playerId: number;
988
+ teamId: number;
565
989
  sweaterNumber: number;
566
- name: Default;
567
- position: Position$1;
568
- }
569
- interface Skater extends BasePlayer {
570
- position: Exclude<Position$1, 'G'>;
571
- goals: number;
572
- assists: number;
573
- points: number;
574
- plusMinus: number;
575
- pim: number;
576
- hits: number;
577
- powerPlayGoals: number;
578
- sog: number;
579
- faceoffWinningPctg: number;
990
+ name: LocalizedText;
991
+ gamesPlayed: number;
992
+ wins: number;
993
+ losses: number;
994
+ otLosses: number;
995
+ shotsAgainst: number;
996
+ goalsAgainst: number;
997
+ goalsAgainstAvg: number;
998
+ savePctg: number;
999
+ shutouts: number;
1000
+ saves: number;
580
1001
  toi: string;
581
- blockedShots: number;
582
- shifts: number;
583
- giveaways: number;
584
- takeaways: number;
585
1002
  }
586
- interface Forward$1 extends Skater {
587
- position: Exclude<Position$1, 'D' | 'G'>;
1003
+ interface SkaterComparison {
1004
+ contextLabel: string;
1005
+ contextSeason: number;
1006
+ leaders: SkaterComparisonLeader[];
588
1007
  }
589
- interface Defense extends Skater {
590
- position: 'D';
1008
+ interface SkaterComparisonLeader {
1009
+ category: Category$2;
1010
+ awayLeader: Leader$1;
1011
+ homeLeader: Leader$1;
591
1012
  }
592
- interface Goalie$1 extends BasePlayer {
593
- position: 'G';
594
- evenStrengthShotsAgainst: string;
595
- powerPlayShotsAgainst: string;
596
- shorthandedShotsAgainst: string;
597
- saveShotsAgainst: string;
598
- savePctg?: number;
599
- evenStrengthGoalsAgainst: number;
600
- powerPlayGoalsAgainst: number;
601
- shorthandedGoalsAgainst: number;
1013
+ interface Leader$1 {
1014
+ playerId: number;
1015
+ name: LocalizedText;
1016
+ firstName: LocalizedText;
1017
+ lastName: LocalizedText;
1018
+ sweaterNumber: number;
1019
+ positionCode: PositionCode;
1020
+ headshot: string;
1021
+ value: number;
1022
+ }
1023
+ type Category$2 = 'points' | 'goals' | 'assists';
1024
+ interface SkaterSeasonStats {
1025
+ contextLabel: string;
1026
+ contextSeason: number;
1027
+ skaters: Skater$1[];
1028
+ }
1029
+ interface Skater$1 {
1030
+ playerId: number;
1031
+ teamId: number;
1032
+ sweaterNumber: number;
1033
+ name: LocalizedText;
1034
+ position: Exclude<PositionCode, 'G'>;
1035
+ gamesPlayed?: number;
1036
+ goals?: number;
1037
+ assists?: number;
1038
+ points?: number;
1039
+ plusMinus?: number;
602
1040
  pim?: number;
603
- goalsAgainst: number;
604
- toi: string;
605
- starter?: boolean;
606
- decision?: Decision;
607
- shotsAgainst: number;
608
- saves: number;
1041
+ avgPoints?: number;
1042
+ avgTimeOnIce?: string;
1043
+ gameWinningGoals?: number;
1044
+ shots?: number;
1045
+ shootingPctg?: number;
1046
+ faceoffWinningPctg?: number;
1047
+ powerPlayGoals?: number;
1048
+ blockedShots?: number;
1049
+ hits?: number;
1050
+ }
1051
+ interface PeriodDescriptor$8 {
1052
+ number: number;
1053
+ periodType: PeriodType;
1054
+ maxRegulationPeriods: number;
609
1055
  }
610
- type Decision = 'W' | 'L' | 'O';
611
1056
  interface Situation$1 {
612
- homeTeam: SituationDetails;
613
- awayTeam: SituationDetails;
1057
+ homeTeam: SituationTeam;
1058
+ awayTeam: SituationTeam;
614
1059
  situationCode: string;
615
1060
  timeRemaining: string;
616
1061
  secondsRemaining: number;
617
1062
  }
618
- interface SituationDetails {
1063
+ interface SituationTeam {
619
1064
  abbrev: string;
620
- situationDescriptions: string[];
1065
+ situationDescriptions?: string[];
621
1066
  strength: number;
622
1067
  }
623
- type Summary$1 = Record<string, unknown>;
624
- interface TvBroadcast$1 {
625
- id: number;
626
- market: Market;
627
- countryCode: CountryCode;
628
- network: string;
629
- sequenceNumber: number;
1068
+ interface Summary$2 {
1069
+ scoring: Scoring$1[];
1070
+ shootout: unknown[];
1071
+ threeStars: ThreeStar$1[];
1072
+ penalties: SummaryPenalty[];
1073
+ iceSurface?: IceSurface$1;
630
1074
  }
631
-
632
- interface GamecenterPlayByPlay {
633
- id: number;
634
- season: number;
635
- gameType: number;
636
- limitedScoring: boolean;
637
- gameDate: string;
638
- venue: Default;
639
- venueLocation: Default;
640
- startTimeUTC: string;
641
- easternUTCOffset: UTCOffset;
642
- venueUTCOffset: UTCOffset;
643
- tvBroadcasts: TvBroadcast$3[];
644
- gameState: GameState;
645
- gameScheduleState: GameScheduleState;
646
- periodDescriptor?: PeriodDescriptor$1;
647
- awayTeam: Team$3;
648
- homeTeam: Team$3;
649
- shootoutInUse: boolean;
650
- otInUse: boolean;
651
- clock: Clock;
652
- displayPeriod: number;
653
- maxPeriods: number;
654
- gameOutcome?: GameOutcome$1;
655
- plays: Play[];
656
- rosterSpots: RosterSpot[];
657
- regPeriods: number;
658
- summary?: Summary;
659
- situation?: Situation;
1075
+ interface IceSurface$1 {
1076
+ awayTeam: IceSurfaceTeam;
1077
+ homeTeam: IceSurfaceTeam;
660
1078
  }
661
- interface Clock {
662
- timeRemaining: string;
663
- secondsRemaining: number;
1079
+ interface IceSurfaceTeam {
1080
+ forwards: IceSurfaceForward[];
1081
+ defensemen: IceSurfaceDefense[];
1082
+ goalies: IceSurfaceGoalie[];
1083
+ penaltyBox: IceSurfacePlayer[];
1084
+ }
1085
+ interface IceSurfacePlayer {
1086
+ playerId: number;
1087
+ name: LocalizedText;
1088
+ sweaterNumber: number;
1089
+ positionCode: PositionCode;
1090
+ headshot: string;
1091
+ totalSOI?: number;
1092
+ secondsRemaining?: number;
1093
+ }
1094
+ interface IceSurfaceForward extends IceSurfacePlayer {
1095
+ positionCode: Exclude<PositionCode, 'D'>;
1096
+ }
1097
+ interface IceSurfaceDefense extends IceSurfacePlayer {
1098
+ positionCode: 'D';
1099
+ }
1100
+ interface IceSurfaceGoalie extends IceSurfacePlayer {
1101
+ positionCode: 'G';
1102
+ }
1103
+ interface SummaryPenalty {
1104
+ periodDescriptor: PeriodDescriptor$8;
1105
+ penalties: Penalty[];
1106
+ }
1107
+ interface Penalty {
1108
+ timeInPeriod: string;
1109
+ type: PenaltyTypeCode;
1110
+ duration: number;
1111
+ committedByPlayer: PenaltyPlayer;
1112
+ teamAbbrev: LocalizedText;
1113
+ drawnBy?: PenaltyPlayer;
1114
+ descKey: string;
1115
+ }
1116
+ interface PenaltyPlayer {
1117
+ firstName: LocalizedText;
1118
+ lastName: LocalizedText;
1119
+ sweaterNumber: number;
1120
+ }
1121
+ interface Scoring$1 {
1122
+ periodDescriptor: PeriodDescriptor$8;
1123
+ goals: Goal$2[];
1124
+ }
1125
+ interface Goal$2 {
1126
+ situationCode: string;
1127
+ eventId: number;
1128
+ strength: Strength;
1129
+ playerId: number;
1130
+ firstName: LocalizedText;
1131
+ lastName: LocalizedText;
1132
+ name: LocalizedText;
1133
+ teamAbbrev: LocalizedText;
1134
+ headshot: string;
1135
+ highlightClipSharingUrl?: string;
1136
+ highlightClipSharingUrlFr?: string;
1137
+ highlightClip?: number;
1138
+ highlightClipFr?: number;
1139
+ discreteClip?: number;
1140
+ discreteClipFr: number;
1141
+ goalsToDate: number;
1142
+ awayScore: number;
1143
+ homeScore: number;
1144
+ leadingTeamAbbrev?: LocalizedText;
1145
+ timeInPeriod: string;
1146
+ shotType: ShotType;
1147
+ goalModifier: GoalModifier;
1148
+ assists: AssistedBy[];
1149
+ pptReplayUrl: string;
1150
+ homeTeamDefendingSide: DefendingSide;
1151
+ isHome: boolean;
1152
+ }
1153
+ interface AssistedBy {
1154
+ playerId: number;
1155
+ firstName: LocalizedText;
1156
+ lastName: LocalizedText;
1157
+ name: LocalizedText;
1158
+ assistsToDate: number;
1159
+ sweaterNumber: number;
1160
+ }
1161
+ interface ThreeStar$1 {
1162
+ star: 1 | 2 | 3;
1163
+ playerId: number;
1164
+ teamAbbrev: TeamAbbrev;
1165
+ headshot: string;
1166
+ name: LocalizedText;
1167
+ sweaterNo: number;
1168
+ position: PositionCode;
1169
+ goals?: number;
1170
+ assists?: number;
1171
+ points?: number;
1172
+ goalsAgainstAverage?: number;
1173
+ savePctg?: number;
1174
+ }
1175
+
1176
+ type NHLSeasons = Array<Season>;
1177
+ interface PlayoffSeriesMeta {
1178
+ seriesTitle: string;
1179
+ teams: Teams;
1180
+ }
1181
+ interface Teams {
1182
+ topSeed: Seed$1;
1183
+ bottomSeed: Seed$1;
1184
+ }
1185
+ interface Seed$1 {
1186
+ name: LocalizedText;
1187
+ commonName: LocalizedText;
1188
+ tricode: string;
1189
+ teamSlug: string;
1190
+ }
1191
+ interface GameMeta {
1192
+ teams: Team$9[];
1193
+ seasonStates: SeasonStates;
1194
+ gameState: string;
1195
+ }
1196
+ interface SeasonStates {
1197
+ date: string;
1198
+ gameType: number;
1199
+ season: number;
1200
+ }
1201
+ interface Team$9 {
1202
+ name: LocalizedText;
1203
+ tricode: string;
1204
+ teamId: number;
1205
+ teamSlug: string;
1206
+ }
1207
+
1208
+ interface NetworkTVSchedule {
1209
+ date: string;
1210
+ startDate: string;
1211
+ endDate: string;
1212
+ broadcasts: Broadcast[];
1213
+ }
1214
+ interface Broadcast {
1215
+ startTime: string;
1216
+ endTime: string;
1217
+ durationSeconds: number;
1218
+ title: string;
1219
+ description: string;
1220
+ houseNumber: string;
1221
+ broadcastType: 'HD' | (string & {});
1222
+ broadcastStatus: 'LIVE' | '' | (string & {});
1223
+ broadcastImageUrl: string;
1224
+ }
1225
+
1226
+ interface PartnerGameInfo {
1227
+ currentOddsDate: string;
1228
+ lastUpdatedUTC: string;
1229
+ bettingPartner?: BettingPartner;
1230
+ games: Game$5[];
1231
+ }
1232
+ interface BettingPartner {
1233
+ partnerId: number;
1234
+ country: string;
1235
+ name: string;
1236
+ imageUrl: string;
1237
+ siteUrl: string;
1238
+ bgColor: string;
1239
+ textColor: string;
1240
+ accentColor: string;
1241
+ }
1242
+ interface Game$5 {
1243
+ gameId: number;
1244
+ gameType: number;
1245
+ startTimeUTC: string;
1246
+ homeTeam: Team$8;
1247
+ awayTeam: Team$8;
1248
+ }
1249
+ interface Team$8 {
1250
+ id: number;
1251
+ name: LocalizedText;
1252
+ abbrev: string;
1253
+ logo: string;
1254
+ odds: Odd$2[];
1255
+ }
1256
+ interface Odd$2 {
1257
+ description: Description;
1258
+ value: number;
1259
+ qualifier: string;
1260
+ }
1261
+ type Description = 'MONEY_LINE_2_WAY' | 'OVER_UNDER' | 'PUCK_LINE' | 'MONEY_LINE_3_WAY';
1262
+
1263
+ interface GamecenterPlayByPlay {
1264
+ id: number;
1265
+ season: number;
1266
+ gameType: number;
1267
+ limitedScoring: boolean;
1268
+ gameDate: string;
1269
+ venue: LocalizedText;
1270
+ venueLocation: LocalizedText;
1271
+ startTimeUTC: string;
1272
+ easternUTCOffset: UTCOffset;
1273
+ venueUTCOffset: UTCOffset;
1274
+ tvBroadcasts: TvBroadcast[];
1275
+ gameState: GameState;
1276
+ gameScheduleState: GameScheduleState;
1277
+ periodDescriptor?: PeriodDescriptor$7;
1278
+ awayTeam: Team$7;
1279
+ homeTeam: Team$7;
1280
+ shootoutInUse: boolean;
1281
+ otInUse: boolean;
1282
+ clock: Clock$2;
1283
+ displayPeriod: number;
1284
+ maxPeriods: number;
1285
+ gameOutcome?: GameOutcome$4;
1286
+ plays: Event[];
1287
+ rosterSpots: RosterSpot[];
1288
+ regPeriods: number;
1289
+ summary?: Summary$1;
1290
+ situation?: Situation;
1291
+ }
1292
+ interface Clock$2 {
1293
+ timeRemaining: string;
1294
+ secondsRemaining: number;
664
1295
  running: boolean;
665
1296
  inIntermission: boolean;
666
1297
  }
667
- interface GameOutcome$1 {
1298
+ interface GameOutcome$4 {
668
1299
  lastPeriodType: PeriodType;
669
1300
  otPeriods?: number;
670
1301
  }
671
- interface GamecenterPlayByPlayHomeTeam {
672
- id: number;
673
- commonName: Default;
674
- abbrev: TeamAbbrev;
675
- score: number;
676
- sog?: number;
677
- logo: string;
678
- darkLogo: string;
679
- placeName: Default;
680
- placeNameWithPreposition: Default;
681
- radioLink?: string;
682
- }
683
- interface PeriodDescriptor$1 {
1302
+ interface PeriodDescriptor$7 {
684
1303
  number: number;
685
1304
  periodType: PeriodType;
686
1305
  maxRegulationPeriods: number;
687
1306
  }
688
- interface Play {
1307
+ interface Event {
689
1308
  eventId: number;
690
- periodDescriptor: PeriodDescriptor$1;
1309
+ periodDescriptor: PeriodDescriptor$7;
691
1310
  timeInPeriod: string;
692
1311
  timeRemaining: string;
693
1312
  situationCode: string;
694
- homeTeamDefendingSide: HomeTeamDefendingSide;
1313
+ homeTeamDefendingSide: DefendingSide;
695
1314
  typeCode: number;
696
- typeDescKey: TypeDescKey;
1315
+ typeDescKey: EventTypeDescKey;
697
1316
  sortOrder: number;
698
1317
  details?: Details;
699
1318
  pptReplayUrl?: string;
@@ -737,45 +1356,40 @@ interface Details {
737
1356
  drawnByPlayerId?: number;
738
1357
  servedByPlayerId?: number;
739
1358
  }
740
- type PenaltyDescKey = 'tripping' | 'hooking' | 'interference' | 'high-sticking' | 'roughing' | 'unsportsmanlike-conduct' | 'slashing' | 'delaying-game-puck-over-glass' | 'holding' | 'holding-the-stick' | 'too-many-men-on-the-ice' | 'fighting' | 'minor' | 'cross-checking';
741
- type Reason = 'blocked' | 'failed-bank-attempt' | 'wide-right' | 'goalie-stopped-after-sog' | 'offside' | 'teammate-blocked' | 'icing' | 'puck-in-netting' | 'wide-left' | 'high-and-wide-left' | 'puck-frozen' | 'above-crossbar' | 'tv-timeout' | 'hand-pass' | 'skater-puck-frozen' | 'high-stick' | 'high-and-wide-right' | 'hit-crossbar' | 'puck-in-benches' | 'hit-right-post' | 'short' | 'referee-or-linesman' | 'puck-in-crowd' | 'hit-left-post' | 'player-equipment' | 'net-dislodged-defensive-skater' | 'home-timeout' | 'chlg-hm-goal-interference' | 'video-review' | 'chlg-league-missed-stoppage' | 'visitor-timeout' | 'official-injury';
742
- type ShotType = 'wrist' | 'tip-in' | 'slap' | 'snap' | 'deflected' | 'backhand' | 'poke' | 'bat' | 'between-legs' | 'wrap-around';
743
- type HomeTeamDefendingSide = 'left' | 'right';
744
- type TypeDescKey = 'period-start' | 'faceoff' | 'blocked-shot' | 'goal' | 'hit' | 'giveaway' | 'missed-shot' | 'shot-on-goal' | 'stoppage' | 'takeaway' | 'penalty' | 'period-end' | 'delayed-penalty' | 'game-end';
745
1359
  interface RosterSpot {
746
1360
  teamId: number;
747
1361
  playerId: number;
748
- firstName: Default;
749
- lastName: Default;
1362
+ firstName: LocalizedText;
1363
+ lastName: LocalizedText;
750
1364
  sweaterNumber: number;
751
1365
  positionCode: Position;
752
1366
  headshot: string;
753
1367
  }
754
1368
  interface Situation {
755
- homeTeam: Team$3;
756
- awayTeam: Team$3;
1369
+ homeTeam: Team$7;
1370
+ awayTeam: Team$7;
757
1371
  situationCode: string;
758
1372
  timeRemaining: string;
759
1373
  secondsRemaining: number;
760
1374
  }
761
- interface Team$3 {
1375
+ interface Team$7 {
762
1376
  id: number;
763
- commonName: Default;
1377
+ commonName: LocalizedText;
764
1378
  abbrev: TeamAbbrev;
765
1379
  score: number;
766
1380
  sog?: number;
767
1381
  logo: string;
768
1382
  darkLogo: string;
769
- placeName: Default;
770
- placeNameWithPreposition: Default;
1383
+ placeName: LocalizedText;
1384
+ placeNameWithPreposition: LocalizedText;
771
1385
  radioLink?: string;
772
1386
  }
773
- interface Team$3 {
1387
+ interface Team$7 {
774
1388
  abbrev: TeamAbbrev;
775
1389
  strength: number;
776
1390
  situationDescriptions?: string[];
777
1391
  }
778
- interface Summary {
1392
+ interface Summary$1 {
779
1393
  iceSurface?: IceSurface;
780
1394
  }
781
1395
  interface IceSurface {
@@ -790,7 +1404,7 @@ interface IceSurfaceAwayTeam {
790
1404
  }
791
1405
  interface PenaltyBoxElement {
792
1406
  playerId: number;
793
- name: Default;
1407
+ name: LocalizedText;
794
1408
  sweaterNumber: number;
795
1409
  positionCode: Position;
796
1410
  headshot: string;
@@ -799,7 +1413,7 @@ interface PenaltyBoxElement {
799
1413
  }
800
1414
  interface GoalieElement {
801
1415
  playerId: number;
802
- name: Default;
1416
+ name: LocalizedText;
803
1417
  sweaterNumber: number;
804
1418
  positionCode: Position;
805
1419
  headshot: string;
@@ -813,7 +1427,7 @@ interface IceSurfaceHomeTeam {
813
1427
  }
814
1428
  interface PurpleDefenseman {
815
1429
  playerId: number;
816
- name: Default;
1430
+ name: LocalizedText;
817
1431
  sweaterNumber: number;
818
1432
  positionCode: ZoneCode;
819
1433
  headshot: string;
@@ -821,90 +1435,867 @@ interface PurpleDefenseman {
821
1435
  }
822
1436
  interface PurpleForward {
823
1437
  playerId: number;
824
- name: Default;
1438
+ name: LocalizedText;
825
1439
  sweaterNumber: number;
826
1440
  positionCode: Position;
827
1441
  headshot: string;
828
1442
  totalSOI?: number;
829
1443
  }
830
1444
 
831
- interface PlayoffSeriesMeta {
832
- seriesTitle: string;
833
- teams: Teams;
1445
+ interface PlayerSpotlight {
1446
+ playerId: number;
1447
+ name: LocalizedText;
1448
+ playerSlug: string;
1449
+ position: Position;
1450
+ sweaterNumber: number;
1451
+ teamId: number;
1452
+ headshot: string;
1453
+ teamTriCode: TeamAbbrev;
1454
+ teamLogo: string;
1455
+ sortId: number;
834
1456
  }
835
- interface Teams {
836
- topSeed: Seed;
1457
+ interface PlayerLanding {
1458
+ playerId: number;
1459
+ isActive: boolean;
1460
+ firstName: LocalizedText;
1461
+ lastName: LocalizedText;
1462
+ badges: Badge[];
1463
+ sweaterNumber: number;
1464
+ position: Position;
1465
+ headshot: string;
1466
+ heroImage: string;
1467
+ heightInInches: number;
1468
+ heightInCentimeters: number;
1469
+ weightInPounds: number;
1470
+ weightInKilograms: number;
1471
+ birthDate: string;
1472
+ birthCity: LocalizedText;
1473
+ birthStateProvince?: LocalizedText;
1474
+ birthCountry: string;
1475
+ shootsCatches: Position;
1476
+ draftDetails?: DraftDetails;
1477
+ playerSlug: string;
1478
+ inTop100AllTime: number;
1479
+ inHHOF: number;
1480
+ featuredStats: FeaturedStats;
1481
+ careerTotals: CareerTotals;
1482
+ shopLink: '#TODO';
1483
+ twitterLink: '#TODO';
1484
+ watchLink: '#TODO';
1485
+ last5Games: Last5Game[];
1486
+ seasonTotals: SeasonTotal[];
1487
+ awards?: Award[];
1488
+ currentTeamId?: number;
1489
+ currentTeamAbbrev?: string;
1490
+ fullTeamName?: LocalizedText;
1491
+ teamCommonName?: LocalizedText;
1492
+ teamPlaceNameWithPreposition?: LocalizedText;
1493
+ teamLogo?: string;
1494
+ currentTeamRoster?: CurrentTeamRoster[];
1495
+ }
1496
+ interface Award {
1497
+ trophy: LocalizedText;
1498
+ seasons: {
1499
+ [key: string]: number;
1500
+ }[];
1501
+ }
1502
+ interface Badge {
1503
+ logoUrl: LocalizedText;
1504
+ title: LocalizedText;
1505
+ }
1506
+ interface CareerTotals {
1507
+ regularSeason: CareerStats;
1508
+ playoffs: CareerStats;
1509
+ }
1510
+ interface CareerStats {
1511
+ assists?: number;
1512
+ gamesPlayed: number;
1513
+ gamesStarted?: number;
1514
+ goals?: number;
1515
+ goalsAgainst?: number;
1516
+ goalsAgainstAvg?: number;
1517
+ losses?: number;
1518
+ pim?: number;
1519
+ savePctg?: number;
1520
+ shotsAgainst?: number;
1521
+ shutouts?: number;
1522
+ timeOnIce?: string;
1523
+ wins?: number;
1524
+ gameWinningGoals?: number;
1525
+ otGoals?: number;
1526
+ points?: number;
1527
+ powerPlayGoals?: number;
1528
+ powerPlayPoints?: number;
1529
+ shorthandedGoals?: number;
1530
+ shorthandedPoints?: number;
1531
+ plusMinus?: number;
1532
+ shootingPctg?: number;
1533
+ shots?: number;
1534
+ ties?: number;
1535
+ otLosses?: number;
1536
+ }
1537
+ interface CurrentTeamRoster {
1538
+ playerId: number;
1539
+ lastName: LocalizedText;
1540
+ firstName: LocalizedText;
1541
+ playerSlug: string;
1542
+ }
1543
+ interface DraftDetails {
1544
+ year: number;
1545
+ teamAbbrev: string;
1546
+ round: number;
1547
+ pickInRound: number;
1548
+ overallPick: number;
1549
+ }
1550
+ interface FeaturedStats {
1551
+ season: number;
1552
+ regularSeason: FeaturedStatsType;
1553
+ playoffs?: FeaturedStatsType;
1554
+ }
1555
+ interface FeaturedStatsType {
1556
+ subSeason: CareerStats;
1557
+ career: CareerStats;
1558
+ }
1559
+ interface Last5Game {
1560
+ decision?: Decision;
1561
+ gameDate: string;
1562
+ gameId: number;
1563
+ gameTypeId: number;
1564
+ gamesStarted?: number;
1565
+ goalsAgainst?: number;
1566
+ homeRoadFlag: HomeRoadFlag;
1567
+ opponentAbbrev: string;
1568
+ penaltyMins?: number;
1569
+ savePctg?: number;
1570
+ shotsAgainst?: number;
1571
+ teamAbbrev: string;
1572
+ toi?: string;
1573
+ assists?: number;
1574
+ goals?: number;
1575
+ pim?: number;
1576
+ plusMinus?: number;
1577
+ points?: number;
1578
+ powerPlayGoals?: number;
1579
+ shorthandedGoals?: number;
1580
+ shots?: number;
1581
+ shifts?: number;
1582
+ }
1583
+ type Decision = 'L' | 'W' | 'T' | 'O';
1584
+ type HomeRoadFlag = 'R' | 'H';
1585
+ interface SeasonTotal {
1586
+ gameTypeId: number;
1587
+ gamesPlayed?: number;
1588
+ goalsAgainst?: number;
1589
+ goalsAgainstAvg?: number;
1590
+ leagueAbbrev: string;
1591
+ season: number;
1592
+ sequence: number;
1593
+ shutouts?: number;
1594
+ teamName: LocalizedText;
1595
+ timeOnIce?: string;
1596
+ losses?: number;
1597
+ ties?: number;
1598
+ wins?: number;
1599
+ teamCommonName?: LocalizedText;
1600
+ teamPlaceNameWithPreposition?: LocalizedText;
1601
+ assists?: number;
1602
+ gamesStarted?: number;
1603
+ goals?: number;
1604
+ pim?: number;
1605
+ savePctg?: number;
1606
+ shotsAgainst?: number;
1607
+ otLosses?: number;
1608
+ points?: number;
1609
+ gameWinningGoals?: number;
1610
+ otGoals?: number;
1611
+ powerPlayGoals?: number;
1612
+ powerPlayPoints?: number;
1613
+ shorthandedGoals?: number;
1614
+ shorthandedPoints?: number;
1615
+ plusMinus?: number;
1616
+ shootingPctg?: number;
1617
+ shots?: number;
1618
+ avgToi?: string;
1619
+ faceoffWinningPctg?: number;
1620
+ }
1621
+ interface PlayerGameLog {
1622
+ seasonId: number;
1623
+ gameTypeId: number;
1624
+ playerStatsSeasons: PlayerStatsSeason[];
1625
+ gameLog?: GameLog[];
1626
+ }
1627
+ interface GameLog {
1628
+ gameId: number;
1629
+ teamAbbrev: TeamAbbrev;
1630
+ homeRoadFlag: HomeRoadFlag;
1631
+ gameDate: string;
1632
+ goals: number;
1633
+ assists: number;
1634
+ commonName: LocalizedText;
1635
+ opponentCommonName: LocalizedText;
1636
+ gamesStarted: number;
1637
+ decision: Decision;
1638
+ shotsAgainst: number;
1639
+ goalsAgainst: number;
1640
+ savePctg: number;
1641
+ shutouts: number;
1642
+ opponentAbbrev: string;
1643
+ pim: number;
1644
+ toi: string;
1645
+ }
1646
+ interface PlayerStatsSeason {
1647
+ season: number;
1648
+ gameTypes: (2 | 3)[];
1649
+ }
1650
+
1651
+ interface SkaterStatsLeaders {
1652
+ goalsSh: SkaterLeader[];
1653
+ plusMinus: SkaterLeader[];
1654
+ assists: SkaterLeader[];
1655
+ goalsPp: SkaterLeader[];
1656
+ faceoffLeaders: SkaterLeader[];
1657
+ penaltyMins: SkaterLeader[];
1658
+ goals: SkaterLeader[];
1659
+ points: SkaterLeader[];
1660
+ toi: SkaterLeader[];
1661
+ }
1662
+ interface SkaterLeader {
1663
+ id: number;
1664
+ firstName: LocalizedText;
1665
+ lastName: LocalizedText;
1666
+ sweaterNumber: number;
1667
+ headshot: string;
1668
+ teamAbbrev: TeamAbbrev;
1669
+ teamName: LocalizedText;
1670
+ teamLogo: string;
1671
+ position: PositionCode;
1672
+ value: number;
1673
+ }
1674
+ interface GoalieStatsLeaders {
1675
+ wins: GoalieLeader[];
1676
+ shutouts: GoalieLeader[];
1677
+ savePctg: GoalieLeader[];
1678
+ goalsAgainstAverage: GoalieLeader[];
1679
+ }
1680
+ interface GoalieLeader {
1681
+ id: number;
1682
+ firstName: LocalizedText;
1683
+ lastName: LocalizedText;
1684
+ sweaterNumber: number;
1685
+ headshot: string;
1686
+ teamAbbrev: TeamAbbrev;
1687
+ teamName: LocalizedText;
1688
+ teamLogo: string;
1689
+ position: 'G';
1690
+ value: number;
1691
+ }
1692
+
1693
+ interface PlayoffSeries {
1694
+ seasonId: number;
1695
+ currentRound: number;
1696
+ rounds: Round[];
1697
+ }
1698
+ interface Round {
1699
+ roundNumber: number;
1700
+ roundLabel: Label;
1701
+ roundAbbrev: RoundAbbrev;
1702
+ series: Series[];
1703
+ }
1704
+ type RoundAbbrev = 'NHLF' | 'SCF' | 'SCSF' | 'NHLSF' | 'QF' | 'SF' | 'PRLM' | 'DSF' | 'DF' | 'CF' | 'CQF' | 'CSF' | 'F' | 'R1' | 'R2' | 'SCQ';
1705
+ type Label = 'nhl-final' | 'stanley-cup-final' | 'stanley-cup-semifinal' | 'nhl-semifinal' | 'quarterfinals' | 'semifinals' | 'preliminary-round' | 'division-semifinals' | 'division-finals' | 'conference-finals' | 'conference-quarterfinals' | 'conference-semifinals' | 'semifinal' | 'final' | '1st-round' | '2nd-round' | 'stanley-cup-qualifiers' | 'stanley-cup-semifinals' | 'quarterfinal';
1706
+ interface Series {
1707
+ seriesLetter: SeriesLetter;
1708
+ roundNumber: number;
1709
+ seriesLabel: Label;
1710
+ seriesLink: string;
837
1711
  bottomSeed: Seed;
1712
+ topSeed: Seed;
1713
+ neededToWin: number;
1714
+ winningTeamId?: number;
1715
+ losingTeamId?: number;
838
1716
  }
839
1717
  interface Seed {
840
- name: Default;
841
- commonName: Default;
842
- tricode: string;
843
- teamSlug: string;
1718
+ id: number;
1719
+ abbrev: string;
1720
+ wins: number;
1721
+ logo?: string;
1722
+ darkLogo?: string;
844
1723
  }
845
- interface GameMeta {
846
- teams: Team$2[];
847
- seasonStates: SeasonStates;
1724
+ type SeriesLetter = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
1725
+ interface PlayoffBracket {
1726
+ bracketLogo: string;
1727
+ bracketLogoFr: string;
1728
+ series: BracketSeries[];
1729
+ }
1730
+ interface BracketSeries {
1731
+ seriesUrl: string;
1732
+ seriesTitle: SeriesTitle;
1733
+ seriesAbbrev: SeriesAbbrev;
1734
+ seriesLetter: SeriesLetter;
1735
+ playoffRound: number;
1736
+ topSeedRank: number;
1737
+ topSeedRankAbbrev: SeedRankAbbrev;
1738
+ topSeedWins: number;
1739
+ bottomSeedRank: number;
1740
+ bottomSeedRankAbbrev: SeedRankAbbrev;
1741
+ bottomSeedWins: number;
1742
+ winningTeamId: number;
1743
+ losingTeamId: number;
1744
+ topSeedTeam: SeedTeam;
1745
+ bottomSeedTeam: SeedTeam;
1746
+ seriesLogo?: string;
1747
+ seriesLogoFr?: string;
1748
+ conferenceAbbrev?: ConferenceAbbrev$1;
1749
+ conferenceName?: ConferenceName$1;
1750
+ }
1751
+ interface SeedTeam {
1752
+ id: number;
1753
+ abbrev: TeamAbbrev;
1754
+ name: LocalizedText;
1755
+ commonName: LocalizedText;
1756
+ placeNameWithPreposition: LocalizedText;
1757
+ logo: string;
1758
+ darkLogo: string;
1759
+ }
1760
+ type ConferenceAbbrev$1 = 'E' | 'W';
1761
+ type ConferenceName$1 = 'Western' | 'Eastern';
1762
+ type SeriesAbbrev = 'NHLF' | 'SCF' | 'SCSF' | 'NHLSF' | 'QF' | 'SF' | 'PRLM' | 'DSF' | 'DF' | 'CF' | 'WCF' | 'ECF' | 'CQF' | 'CSF' | 'R1' | 'R2' | 'SCQ';
1763
+ type SeriesTitle = 'NHL Final' | 'Stanley Cup Final' | 'Stanley Cup Semifinal' | 'NHL Semifinal' | 'Quarterfinals' | 'Semifinals' | 'Preliminary Round' | 'Division Semifinals' | 'Division Finals' | 'Conference Finals' | 'Western Conference Finals' | 'Eastern Conference Finals' | 'Conference Quarterfinals' | 'Conference Semifinals' | '1st Round' | '2nd Round' | 'Stanley Cup Qualifiers' | 'Stanley Cup Semifinals';
1764
+ type SeedRankAbbrev = 'C1' | 'C2' | 'C3' | 'C4' | 'C5' | 'C6' | 'C7' | 'C8' | 'C9' | 'C10' | 'C11' | 'C12' | 'D1' | 'D2' | 'D3' | 'D4' | 'L1' | 'L2' | 'L3' | 'L4' | 'L5' | 'L6' | 'L7' | 'L8' | 'L9' | 'L10' | 'L11' | 'L12' | 'L13' | 'L14' | 'L15' | 'L16' | 'WC1' | 'WC2' | 'PCHA1' | 'WCHL1';
1765
+ interface PlayoffSeriesSchedule {
1766
+ round: number;
1767
+ roundAbbrev: string;
1768
+ roundLabel: string;
1769
+ seriesLetter: string;
1770
+ seriesLogo: string;
1771
+ seriesLogoFr: string;
1772
+ neededToWin: number;
1773
+ length: number;
1774
+ bottomSeedTeam: ScheduleSeedTeam;
1775
+ topSeedTeam: ScheduleSeedTeam;
1776
+ games: Game$4[];
1777
+ fullCoverageUrl: FullCoverageURL;
1778
+ }
1779
+ interface ScheduleSeedTeam {
1780
+ id: number;
1781
+ /** Note: this is incorrectly named in the API, should be `commonName` */
1782
+ name: LocalizedText;
1783
+ abbrev: TeamAbbrev;
1784
+ placeName: LocalizedText;
1785
+ placeNameWithPreposition: LocalizedText;
1786
+ conference: Conference;
1787
+ record: string;
1788
+ seriesWins: number;
1789
+ divisionAbbrev: string;
1790
+ seed: number;
1791
+ logo: string;
1792
+ darkLogo: string;
1793
+ }
1794
+ interface Conference {
1795
+ name: string;
1796
+ abbrev: string;
1797
+ }
1798
+ type FullCoverageURL = Omit<LocalizedText, 'default'> & {
1799
+ en: LocalizedText['default'];
1800
+ };
1801
+ interface Game$4 {
1802
+ id: number;
1803
+ season: number;
1804
+ gameType: number;
1805
+ gameNumber: number;
1806
+ ifNecessary: boolean;
1807
+ venue: LocalizedText;
1808
+ neutralSite: boolean;
1809
+ startTimeUTC: string;
1810
+ easternUTCOffset: string;
1811
+ venueUTCOffset: string;
1812
+ venueTimezone: string;
848
1813
  gameState: string;
1814
+ gameScheduleState: string;
1815
+ tvBroadcasts: TvBroadcast[];
1816
+ awayTeam: Team$6;
1817
+ homeTeam: Team$6;
1818
+ gameCenterLink: string;
1819
+ periodDescriptor: PeriodDescriptor$6;
1820
+ seriesStatus: SeriesStatus$1;
1821
+ gameOutcome: GameOutcome$3;
1822
+ }
1823
+ interface Team$6 {
1824
+ id: number;
1825
+ commonName: LocalizedText;
1826
+ placeName: LocalizedText;
1827
+ placeNameWithPreposition: LocalizedText;
1828
+ abbrev: TeamAbbrev;
1829
+ score: number;
849
1830
  }
850
- interface SeasonStates {
851
- date: string;
1831
+ interface GameOutcome$3 {
1832
+ lastPeriodType: string;
1833
+ }
1834
+ interface PeriodDescriptor$6 {
1835
+ number: number;
1836
+ periodType: string;
1837
+ maxRegulationPeriods: number;
1838
+ }
1839
+ interface SeriesStatus$1 {
1840
+ topSeedWins: number;
1841
+ bottomSeedWins: number;
1842
+ }
1843
+
1844
+ type PostalCodeInfo = Array<{
1845
+ stateProvince: string;
1846
+ networkType?: string;
1847
+ county?: string;
1848
+ teamName: LocalizedText;
1849
+ postalCode: string;
1850
+ country: string;
1851
+ city: string;
1852
+ }>;
1853
+ interface LocationInfo {
1854
+ country: string;
1855
+ }
1856
+
1857
+ interface PPTReplayGoal extends BasePPTReplay {
1858
+ goal: Goal$1;
1859
+ }
1860
+ interface PPTReplayEvent extends BasePPTReplay {
1861
+ }
1862
+ interface BasePPTReplay {
1863
+ id: number;
1864
+ gameDate: string;
1865
+ awayTeam: Team$5;
1866
+ homeTeam: Team$5;
1867
+ gameState: GameState;
1868
+ gameType: number;
1869
+ }
1870
+ interface Team$5 {
1871
+ id: number;
1872
+ name: LocalizedText;
1873
+ abbrev: string;
1874
+ placeName: LocalizedText;
1875
+ placeNameWithPreposition: LocalizedText;
1876
+ logo: string;
1877
+ darkLogo: string;
1878
+ }
1879
+ interface Goal$1 {
1880
+ periodDescriptor: PeriodDescriptor$5;
1881
+ situationCode: string;
1882
+ strength: Strength;
1883
+ playerId: number;
1884
+ firstName: LocalizedText;
1885
+ lastName: LocalizedText;
1886
+ name: LocalizedText;
1887
+ teamAbbrev: LocalizedText;
1888
+ headshot: string;
1889
+ logoUrl: string;
1890
+ goalsToDate: number;
1891
+ sweaterNumber: number;
1892
+ awayScore: number;
1893
+ homeScore: number;
1894
+ leadingTeamAbbrev?: LocalizedText;
1895
+ timeInPeriod: string;
1896
+ shotType: string;
1897
+ goalModifier: GoalModifier;
1898
+ assists: Player$1[];
1899
+ pptReplayUrl: string;
1900
+ homeTeamDefendingSide: DefendingSide;
1901
+ isHome: boolean;
1902
+ eventId: number;
1903
+ highlightClip?: number;
1904
+ highlightClipFr?: number;
1905
+ highlightClipSharingUrl?: string;
1906
+ highlightClipSharingUrlFr?: string;
1907
+ }
1908
+ interface Player$1 {
1909
+ playerId: number;
1910
+ firstName: LocalizedText;
1911
+ lastName: LocalizedText;
1912
+ name: LocalizedText;
1913
+ assistsToDate: number;
1914
+ sweaterNumber: number;
1915
+ }
1916
+ interface PeriodDescriptor$5 {
1917
+ number: number;
1918
+ periodType: PeriodType;
1919
+ maxRegulationPeriods: number;
1920
+ }
1921
+
1922
+ interface GamecenterReports {
1923
+ seasonSeries: SeasonSeriesGame[];
1924
+ seasonSeriesWins: {
1925
+ awayTeamWins: number;
1926
+ homeTeamWins: number;
1927
+ };
1928
+ gameInfo: GameInfo;
1929
+ teamSeasonStats?: TeamSeasonStats$1;
1930
+ last10Record?: Last10Record;
1931
+ gameVideo?: GameVideo;
1932
+ linescore?: Linescore;
1933
+ shotsByPeriod?: ByPeriod[];
1934
+ teamGameStats?: TeamGameStat$1[];
1935
+ gameReports?: GameReports;
1936
+ }
1937
+ interface GameInfo {
1938
+ referees: LocalizedText[];
1939
+ linesmen: LocalizedText[];
1940
+ awayTeam: TeamInfo;
1941
+ homeTeam: TeamInfo;
1942
+ }
1943
+ interface TeamInfo {
1944
+ headCoach: LocalizedText;
1945
+ scratches: ScratchedPlayer[];
1946
+ }
1947
+ interface ScratchedPlayer {
1948
+ id: number;
1949
+ firstName: LocalizedText;
1950
+ lastName: LocalizedText;
1951
+ }
1952
+ interface GameReports {
1953
+ gameSummary: string;
1954
+ eventSummary: string;
1955
+ playByPlay: string;
1956
+ faceoffSummary: string;
1957
+ faceoffComparison: string;
1958
+ rosters: string;
1959
+ shotSummary: string;
1960
+ shiftChart?: string;
1961
+ toiAway: string;
1962
+ toiHome: string;
1963
+ shootoutSummary?: string;
1964
+ }
1965
+ interface GameVideo {
1966
+ threeMinRecap: number;
1967
+ threeMinRecapFr: number;
1968
+ condensedGame: number;
1969
+ condensedGameFr: number;
1970
+ }
1971
+ interface Last10Record {
1972
+ contextLabel: 'last_10_games';
1973
+ contextSeason: number;
1974
+ awayTeam: Last10RecordAwayTeam;
1975
+ homeTeam: Last10RecordAwayTeam;
1976
+ }
1977
+ interface Last10RecordAwayTeam {
1978
+ record: string;
1979
+ streakType: StreakType;
1980
+ streak: number;
1981
+ pastGameResults: PastGameResult[];
1982
+ }
1983
+ interface PastGameResult {
1984
+ opponentAbbrev: string;
1985
+ gameResult: GameResult;
1986
+ }
1987
+ type GameResult = 'L' | 'OTW' | 'W' | 'OTL' | 'SOL' | 'SOW';
1988
+ type StreakType = 'L' | 'O' | 'W';
1989
+ interface Linescore {
1990
+ byPeriod: ByPeriod[];
1991
+ totals: Totals;
1992
+ shootout?: Shootout$1;
1993
+ }
1994
+ interface ByPeriod {
1995
+ periodDescriptor: PeriodDescriptor$4;
1996
+ away: number;
1997
+ home: number;
1998
+ }
1999
+ interface PeriodDescriptor$4 {
2000
+ number: number;
2001
+ periodType: PeriodType;
2002
+ maxRegulationPeriods: number;
2003
+ }
2004
+ interface Shootout$1 {
2005
+ awayDecidingGoal: number;
2006
+ awayConversions: number;
2007
+ awayAttempts: number;
2008
+ homeDecidingGoal: number;
2009
+ homeConversions: number;
2010
+ homeAttempts: number;
2011
+ }
2012
+ interface Totals {
2013
+ away: number;
2014
+ home: number;
2015
+ }
2016
+ interface SeasonSeriesGame {
2017
+ id: number;
2018
+ season: number;
852
2019
  gameType: number;
2020
+ gameDate: string;
2021
+ startTimeUTC: string;
2022
+ easternUTCOffset: UTCOffset;
2023
+ venueUTCOffset: UTCOffset;
2024
+ gameState: GameState;
2025
+ gameScheduleState: GameScheduleState;
2026
+ awayTeam: TeamDetail;
2027
+ homeTeam: TeamDetail;
2028
+ periodDescriptor?: PeriodDescriptor$4;
2029
+ gameCenterLink: string;
2030
+ gameOutcome: GameOutcome$2;
2031
+ clock?: Clock$1;
2032
+ }
2033
+ interface TeamDetail {
2034
+ id: number;
2035
+ abbrev: string;
2036
+ logo: string;
2037
+ score?: number;
2038
+ }
2039
+ interface Clock$1 {
2040
+ timeRemaining: string;
2041
+ secondsRemaining: number;
2042
+ running: boolean;
2043
+ inIntermission: boolean;
2044
+ }
2045
+ interface GameOutcome$2 {
2046
+ lastPeriodType: PeriodType;
2047
+ otPeriods?: number;
2048
+ }
2049
+ interface TeamGameStat$1 {
2050
+ category: Category$1;
2051
+ awayValue: number | string;
2052
+ homeValue: number | string;
2053
+ }
2054
+ type Category$1 = 'sog' | 'faceoffWinningPctg' | 'faceoffWins' | 'powerPlay' | 'powerPlayPctg' | 'pim' | 'hits' | 'blockedShots' | 'giveaways' | 'takeaways';
2055
+ interface TeamSeasonStats$1 {
2056
+ contextLabel: 'regular_season';
2057
+ contextSeason: number;
2058
+ awayTeam: TeamSeasonStatsDetail$1;
2059
+ homeTeam: TeamSeasonStatsDetail$1;
2060
+ }
2061
+ interface TeamSeasonStatsDetail$1 {
2062
+ ppPctg: number;
2063
+ pkPctg: number;
2064
+ faceoffWinningPctg: number;
2065
+ goalsForPerGamePlayed: number;
2066
+ goalsAgainstPerGamePlayed: number;
2067
+ ppPctgRank: number;
2068
+ pkPctgRank: number;
2069
+ faceoffWinningPctgRank: number;
2070
+ goalsForPerGamePlayedRank: number;
2071
+ goalsAgainstPerGamePlayedRank: number;
2072
+ }
2073
+
2074
+ interface LeagueSchedule {
2075
+ nextStartDate: string;
2076
+ previousStartDate: string;
2077
+ gameWeek: GameWeek$1[];
2078
+ oddsPartners: OddsPartner$1[];
2079
+ preSeasonStartDate: string;
2080
+ regularSeasonStartDate: string;
2081
+ regularSeasonEndDate: string;
2082
+ playoffEndDate: string;
2083
+ numberOfGames: number;
2084
+ }
2085
+ interface GameWeek$1 {
2086
+ date: string;
2087
+ dayAbbrev: DayAbbrev;
2088
+ numberOfGames: number;
2089
+ datePromo: unknown[];
2090
+ games: Game$3[];
2091
+ }
2092
+ interface Game$3 {
2093
+ id: number;
853
2094
  season: number;
2095
+ gameType: number;
2096
+ venue: LocalizedText;
2097
+ neutralSite: boolean;
2098
+ startTimeUTC: string;
2099
+ easternUTCOffset: UTCOffset;
2100
+ venueUTCOffset: UTCOffset;
2101
+ venueTimezone: string;
2102
+ gameState: GameState;
2103
+ gameScheduleState: GameScheduleState;
2104
+ tvBroadcasts: TvBroadcast[];
2105
+ awayTeam: Team$4;
2106
+ homeTeam: Team$4;
2107
+ periodDescriptor: PeriodDescriptor$3;
2108
+ ticketsLink?: string;
2109
+ ticketsLinkFr?: string;
2110
+ gameCenterLink: string;
2111
+ gameOutcome?: GameOutcome$1;
2112
+ winningGoalie?: WinningGoalie;
2113
+ winningGoalScorer?: WinningGoalScorer;
2114
+ threeMinRecap?: string;
2115
+ threeMinRecapFr?: string;
2116
+ condensedGame?: string;
2117
+ condensedGameFr?: string;
854
2118
  }
855
- interface Team$2 {
856
- name: Default;
857
- tricode: string;
858
- teamId: number;
859
- teamSlug: string;
2119
+ interface Team$4 {
2120
+ id: number;
2121
+ commonName: LocalizedText;
2122
+ placeName: LocalizedText;
2123
+ placeNameWithPreposition: LocalizedText;
2124
+ abbrev: TeamAbbrev;
2125
+ logo: string;
2126
+ darkLogo: string;
2127
+ awaySplitSquad: boolean;
2128
+ radioLink?: string;
2129
+ odds?: Odd$1[];
2130
+ score?: number;
2131
+ }
2132
+ interface Odd$1 {
2133
+ providerId: number;
2134
+ value: string;
2135
+ }
2136
+ interface GameOutcome$1 {
2137
+ lastPeriodType: PeriodType;
2138
+ }
2139
+ interface PeriodDescriptor$3 {
2140
+ number: number;
2141
+ periodType: PeriodType;
2142
+ maxRegulationPeriods: number;
2143
+ }
2144
+ interface WinningGoalScorer {
2145
+ playerId: number;
2146
+ firstInitial: LocalizedText;
2147
+ lastName: LocalizedText;
2148
+ }
2149
+ interface WinningGoalie {
2150
+ playerId: number;
2151
+ firstInitial: LocalizedText;
2152
+ lastName: LocalizedText;
2153
+ }
2154
+ interface OddsPartner$1 {
2155
+ partnerId: number;
2156
+ country: string;
2157
+ name: string;
2158
+ imageUrl: string;
2159
+ siteUrl: string;
2160
+ bgColor: HexColorCode;
2161
+ textColor: HexColorCode;
2162
+ accentColor: HexColorCode;
2163
+ }
2164
+ interface ScheduleCalendar {
2165
+ endDate: string;
2166
+ nextStartDate: string;
2167
+ previousStartDate: string;
2168
+ startDate: string;
2169
+ teams: CalendarTeam[];
2170
+ }
2171
+ interface CalendarTeam {
2172
+ id: number;
2173
+ seasonId: number;
2174
+ commonName: LocalizedText;
2175
+ abbrev: string;
2176
+ name: LocalizedText;
2177
+ placeNameWithPreposition: LocalizedText;
2178
+ placeName: LocalizedText;
2179
+ logo: string;
2180
+ darkLogo: string;
2181
+ french: boolean;
860
2182
  }
861
2183
 
862
- interface PartnerGameInfo {
863
- currentOddsDate: string;
864
- lastUpdatedUTC: string;
865
- bettingPartner?: BettingPartner;
866
- games: Game$1[];
2184
+ interface Score {
2185
+ prevDate: string;
2186
+ currentDate: string;
2187
+ nextDate: string;
2188
+ gameWeek: GameWeek[];
2189
+ oddsPartners: OddsPartner[];
2190
+ games: Game$2[];
2191
+ }
2192
+ interface GameWeek {
2193
+ date: string;
2194
+ dayAbbrev: string;
2195
+ numberOfGames: number;
2196
+ }
2197
+ interface Game$2 {
2198
+ id: number;
2199
+ season: number;
2200
+ gameType: number;
2201
+ gameDate: string;
2202
+ venue: LocalizedText;
2203
+ startTimeUTC: string;
2204
+ easternUTCOffset: UTCOffset;
2205
+ venueUTCOffset: UTCOffset;
2206
+ tvBroadcasts: TvBroadcast[];
2207
+ gameState: GameState;
2208
+ gameScheduleState: GameScheduleState;
2209
+ awayTeam: Team$3;
2210
+ homeTeam: Team$3;
2211
+ gameCenterLink: string;
2212
+ neutralSite: boolean;
2213
+ venueTimezone: string;
2214
+ ticketsLink: string;
2215
+ ticketsLinkFr: string;
2216
+ teamLeaders: TeamLeader[];
2217
+ }
2218
+ interface Team$3 {
2219
+ id: number;
2220
+ name: LocalizedText;
2221
+ abbrev: TeamAbbrev;
2222
+ record: string;
2223
+ logo: string;
2224
+ odds: Odd[];
2225
+ }
2226
+ interface Odd {
2227
+ providerId: number;
2228
+ value: string;
2229
+ }
2230
+ interface TeamLeader {
2231
+ id: number;
2232
+ firstName: LocalizedText;
2233
+ lastName: LocalizedText;
2234
+ headshot: string;
2235
+ teamAbbrev: TeamAbbrev;
2236
+ sweaterNumber: number;
2237
+ position: PositionCode;
2238
+ category: LeaderCategory;
2239
+ value: number;
867
2240
  }
868
- interface BettingPartner {
2241
+ type LeaderCategory = 'goals' | 'assists' | 'wins';
2242
+ interface OddsPartner {
869
2243
  partnerId: number;
870
2244
  country: string;
871
2245
  name: string;
872
2246
  imageUrl: string;
873
2247
  siteUrl: string;
874
- bgColor: string;
875
- textColor: string;
876
- accentColor: string;
2248
+ bgColor: HexColorCode;
2249
+ textColor: HexColorCode;
2250
+ accentColor: HexColorCode;
2251
+ }
2252
+
2253
+ interface Scoreboard {
2254
+ focusedDate: string;
2255
+ focusedDateCount: number;
2256
+ gamesByDate: GamesByDate[];
2257
+ }
2258
+ interface GamesByDate {
2259
+ date: string;
2260
+ games: Game$1[];
877
2261
  }
878
2262
  interface Game$1 {
879
- gameId: number;
2263
+ id: number;
2264
+ season: number;
880
2265
  gameType: number;
2266
+ gameDate: string;
2267
+ gameCenterLink: string;
2268
+ venue: LocalizedText;
881
2269
  startTimeUTC: string;
882
- homeTeam: Team$1;
883
- awayTeam: Team$1;
2270
+ easternUTCOffset: UTCOffset;
2271
+ venueUTCOffset: UTCOffset;
2272
+ tvBroadcasts: TvBroadcast[];
2273
+ gameState: GameState;
2274
+ gameScheduleState: GameScheduleState;
2275
+ awayTeam: Team$2;
2276
+ homeTeam: Team$2;
2277
+ ticketsLink: string;
2278
+ ticketsLinkFr: string;
2279
+ period?: number;
2280
+ periodDescriptor?: PeriodDescriptor$2;
2281
+ threeMinRecap?: string;
2282
+ threeMinRecapFr?: string;
884
2283
  }
885
- interface Team$1 {
2284
+ interface Team$2 {
886
2285
  id: number;
887
- name: Default;
888
- abbrev: string;
2286
+ name: LocalizedText;
2287
+ commonName: LocalizedText;
2288
+ placeNameWithPreposition: LocalizedText;
2289
+ abbrev: TeamAbbrev;
2290
+ score?: number;
889
2291
  logo: string;
890
- odds: Odd[];
2292
+ record?: string;
891
2293
  }
892
- interface Odd {
893
- description: Description;
894
- value: number;
895
- qualifier: string;
2294
+ interface PeriodDescriptor$2 {
2295
+ number: number;
2296
+ periodType: PeriodType;
2297
+ maxRegulationPeriods: number;
896
2298
  }
897
- type Description = 'MONEY_LINE_2_WAY' | 'OVER_UNDER' | 'PUCK_LINE' | 'MONEY_LINE_3_WAY';
898
-
899
- type PostalCodeInfo = Array<{
900
- stateProvince: string;
901
- networkType?: string;
902
- county?: string;
903
- teamName: Default;
904
- postalCode: string;
905
- country: string;
906
- city: string;
907
- }>;
908
2299
 
909
2300
  interface NHLStandings {
910
2301
  wildCardIndicator: boolean;
@@ -960,7 +2351,7 @@ interface TeamStanding {
960
2351
  leagueSequence: number;
961
2352
  losses: number;
962
2353
  otLosses: number;
963
- placeName: Default;
2354
+ placeName: LocalizedText;
964
2355
  pointPctg: number;
965
2356
  points: number;
966
2357
  regulationPlusOtWinPctg: number;
@@ -983,9 +2374,9 @@ interface TeamStanding {
983
2374
  shootoutWins: number;
984
2375
  streakCode: StreakCode;
985
2376
  streakCount: number;
986
- teamName: Default;
987
- teamCommonName: Default;
988
- teamAbbrev: Default;
2377
+ teamName: LocalizedText;
2378
+ teamCommonName: LocalizedText;
2379
+ teamAbbrev: LocalizedText;
989
2380
  teamLogo: string;
990
2381
  ties: number;
991
2382
  waiversSequence: number;
@@ -1000,7 +2391,6 @@ type ConferenceName = 'Eastern' | 'Western' | 'Prince of Wales' | 'Clarence Camp
1000
2391
  type DivisionAbbrev = 'A' | 'C' | 'P' | 'M' | 'E' | 'W' | 'CEN' | 'ATL' | 'NE' | 'PAC' | 'NW' | 'SE' | 'ADM' | 'SMY' | 'PTK' | 'NRS' | 'EST' | 'WST' | 'NTH' | 'CDN' | 'AMR';
1001
2392
  type DivisionName = 'Atlantic' | 'Central' | 'Pacific' | 'Metropolitan' | 'East' | 'West' | 'Northeast' | 'Northwest' | 'Southeast' | 'Adams' | 'Smythe' | 'Patrick' | 'Norris' | 'Discover Central' | 'MassMutual East' | 'Honda West' | 'Scotia North' | 'Canadian' | 'American';
1002
2393
  type StreakCode = 'W' | 'L' | 'OT' | 'T';
1003
-
1004
2394
  interface NHLStandingsSeason {
1005
2395
  currentDate: string;
1006
2396
  seasons: SeasonDetails[];
@@ -1022,15 +2412,15 @@ interface SeasonDetails {
1022
2412
  }
1023
2413
 
1024
2414
  interface TeamProspects {
1025
- forwards: Forward[];
1026
- defensemen: Defenseman[];
1027
- goalies: Goalie[];
2415
+ forwards: Forward$1[];
2416
+ defensemen: Defenseman$1[];
2417
+ goalies: Goalie$3[];
1028
2418
  }
1029
- interface PlayerBase {
2419
+ interface BaseProspect {
1030
2420
  id: number;
1031
2421
  headshot: string;
1032
- firstName: Default;
1033
- lastName: Default;
2422
+ firstName: LocalizedText;
2423
+ lastName: LocalizedText;
1034
2424
  sweaterNumber?: number;
1035
2425
  shootsCatches: ShootsCatches;
1036
2426
  heightInInches: number;
@@ -1038,17 +2428,50 @@ interface PlayerBase {
1038
2428
  heightInCentimeters: number;
1039
2429
  weightInKilograms: number;
1040
2430
  birthDate: string;
1041
- birthCity?: Default;
2431
+ birthCity?: LocalizedText;
1042
2432
  birthCountry: string;
1043
- birthStateProvince?: Default;
2433
+ birthStateProvince?: LocalizedText;
1044
2434
  }
1045
- interface Defenseman extends PlayerBase {
2435
+ interface Defenseman$1 extends BaseProspect {
1046
2436
  positionCode: 'D';
1047
2437
  }
1048
- interface Forward extends PlayerBase {
2438
+ interface Forward$1 extends BaseProspect {
2439
+ positionCode: Exclude<PositionCode, 'D' | 'G'>;
2440
+ }
2441
+ interface Goalie$3 extends BaseProspect {
2442
+ positionCode: 'G';
2443
+ }
2444
+
2445
+ type TeamRosterSeasons = Array<Season>;
2446
+ interface TeamRoster {
2447
+ forwards: Forward[];
2448
+ defensemen: Defenseman[];
2449
+ goalies: Goalie$2[];
2450
+ }
2451
+ interface Player {
2452
+ id: number;
2453
+ headshot: string;
2454
+ firstName: LocalizedText;
2455
+ lastName: LocalizedText;
2456
+ sweaterNumber?: number;
2457
+ positionCode: PositionCode;
2458
+ shootsCatches?: ShootsCatches;
2459
+ heightInInches?: number;
2460
+ weightInPounds?: number;
2461
+ heightInCentimeters?: number;
2462
+ weightInKilograms?: number;
2463
+ birthDate: string;
2464
+ birthCity?: LocalizedText;
2465
+ birthCountry: string;
2466
+ birthStateProvince?: LocalizedText;
2467
+ }
2468
+ interface Forward extends Player {
1049
2469
  positionCode: Exclude<PositionCode, 'D' | 'G'>;
1050
2470
  }
1051
- interface Goalie extends PlayerBase {
2471
+ interface Defenseman extends Player {
2472
+ positionCode: 'D';
2473
+ }
2474
+ interface Goalie$2 extends Player {
1052
2475
  positionCode: 'G';
1053
2476
  }
1054
2477
 
@@ -1081,7 +2504,7 @@ interface Game {
1081
2504
  season: number;
1082
2505
  gameType: number;
1083
2506
  gameDate: string;
1084
- venue: Default;
2507
+ venue: LocalizedText;
1085
2508
  neutralSite: boolean;
1086
2509
  startTimeUTC: string;
1087
2510
  easternUTCOffset: string;
@@ -1090,9 +2513,9 @@ interface Game {
1090
2513
  gameState: GameState;
1091
2514
  gameScheduleState: GameScheduleState;
1092
2515
  tvBroadcasts: TvBroadcast[];
1093
- awayTeam: Team;
1094
- homeTeam: Team;
1095
- periodDescriptor: PeriodDescriptor;
2516
+ awayTeam: Team$1;
2517
+ homeTeam: Team$1;
2518
+ periodDescriptor: PeriodDescriptor$1;
1096
2519
  gameOutcome?: GameOutcome;
1097
2520
  winningGoalie?: WinningGoal;
1098
2521
  gameCenterLink?: string;
@@ -1108,11 +2531,11 @@ interface Game {
1108
2531
  ticketsLinkFr?: string;
1109
2532
  alternateBroadcasts?: AlternateBroadcast[];
1110
2533
  }
1111
- interface Team {
2534
+ interface Team$1 {
1112
2535
  id: number;
1113
- commonName: Default;
1114
- placeName: Default;
1115
- placeNameWithPreposition: Default;
2536
+ commonName: LocalizedText;
2537
+ placeName: LocalizedText;
2538
+ placeNameWithPreposition: LocalizedText;
1116
2539
  abbrev: TeamAbbrev;
1117
2540
  logo?: string;
1118
2541
  darkLogo?: string;
@@ -1130,7 +2553,7 @@ interface Team {
1130
2553
  interface GameOutcome {
1131
2554
  lastPeriodType: PeriodType;
1132
2555
  }
1133
- interface PeriodDescriptor {
2556
+ interface PeriodDescriptor$1 {
1134
2557
  number?: number;
1135
2558
  periodType: PeriodType;
1136
2559
  maxRegulationPeriods: number;
@@ -1138,67 +2561,340 @@ interface PeriodDescriptor {
1138
2561
  }
1139
2562
  interface SpecialEvent {
1140
2563
  parentId: number;
1141
- name: Default;
1142
- lightLogoUrl?: Default;
2564
+ name: LocalizedText;
2565
+ lightLogoUrl?: LocalizedText;
1143
2566
  }
1144
2567
  interface SeriesStatus {
1145
2568
  round: number;
1146
2569
  seriesAbbrev: string;
1147
2570
  seriesTitle: string;
1148
- seriesLetter: SeriesLetter;
2571
+ seriesLetter: SeriesLetter$1;
1149
2572
  neededToWin: number;
1150
2573
  topSeedWins: number;
1151
2574
  bottomSeedWins: number;
1152
2575
  gameNumberOfSeries: number;
1153
2576
  }
1154
- interface TvBroadcast {
1155
- id: number;
1156
- market: Market;
1157
- countryCode: CountryCode;
1158
- network: string;
1159
- sequenceNumber: number;
1160
- }
1161
2577
  interface WinningGoal {
1162
2578
  playerId: number;
1163
- firstInitial: Default;
1164
- lastName: Default;
2579
+ firstInitial: LocalizedText;
2580
+ lastName: LocalizedText;
1165
2581
  }
1166
2582
  interface AlternateBroadcast {
1167
2583
  country: CountryCode;
1168
- descriptions: Default[];
2584
+ descriptions: LocalizedText[];
1169
2585
  }
1170
2586
 
1171
- type GamecenterReports = Record<string, unknown>;
1172
- type GamecenterLanding = Record<string, unknown>;
1173
-
1174
- type WSCGameStory = Record<string, unknown>;
1175
- type WSCPlayByPlay = Record<string, unknown>;
1176
- type PPTReplayGoal = Record<string, unknown>;
1177
- type PPTReplayEvent = Record<string, unknown>;
1178
- type LeagueSchedule = Record<string, unknown>;
1179
- type ScheduleCalendar = Record<string, unknown>;
1180
- type PlayoffBracket = Record<string, unknown>;
1181
- type PlayoffSeries = Record<string, unknown>;
1182
- type PlayoffSeriesSchedule = Record<string, unknown>;
1183
- type NHLSeasons = Record<string, unknown>;
2587
+ interface TeamStats {
2588
+ season: string;
2589
+ gameType: number;
2590
+ skaters: Skater[];
2591
+ goalies: Goalie$1[];
2592
+ }
2593
+ interface Goalie$1 {
2594
+ playerId: number;
2595
+ headshot: string;
2596
+ firstName: LocalizedText;
2597
+ lastName: LocalizedText;
2598
+ gamesPlayed: number;
2599
+ gamesStarted: number;
2600
+ wins: number;
2601
+ losses: number;
2602
+ overtimeLosses: number;
2603
+ goalsAgainstAverage: number;
2604
+ savePercentage: number;
2605
+ shotsAgainst: number;
2606
+ saves: number;
2607
+ goalsAgainst: number;
2608
+ shutouts: number;
2609
+ goals: number;
2610
+ assists: number;
2611
+ points: number;
2612
+ penaltyMinutes: number;
2613
+ timeOnIce: number;
2614
+ }
2615
+ interface Skater {
2616
+ playerId: number;
2617
+ headshot: string;
2618
+ firstName: LocalizedText;
2619
+ lastName: LocalizedText;
2620
+ positionCode: PositionCode;
2621
+ gamesPlayed: number;
2622
+ goals: number;
2623
+ assists: number;
2624
+ points: number;
2625
+ plusMinus: number;
2626
+ penaltyMinutes: number;
2627
+ powerPlayGoals: number;
2628
+ shorthandedGoals: number;
2629
+ gameWinningGoals: number;
2630
+ overtimeGoals: number;
2631
+ shots: number;
2632
+ shootingPctg: number;
2633
+ avgTimeOnIcePerGame: number;
2634
+ avgShiftsPerGame: number;
2635
+ faceoffWinPctg: number;
2636
+ }
2637
+ interface TeamStatsSeason {
2638
+ season: number;
2639
+ gameTypes: (2 | 3)[];
2640
+ }
1184
2641
 
1185
- interface LocationInfo {
1186
- country: string;
2642
+ interface WhereToWatch {
2643
+ id: string;
2644
+ active: boolean;
2645
+ countryCode: string;
2646
+ countryName: string;
2647
+ streamingName?: string;
2648
+ streamingSiteUrl?: string;
2649
+ streamingLogoUrl?: string;
2650
+ primaryBroadcastName?: string;
2651
+ primaryBroadcastSiteUrl?: string;
2652
+ primaryBroadcastLogoUrl?: string;
2653
+ secondaryBroadcastName?: string;
2654
+ secondaryBroadcastSiteUrl?: string;
2655
+ secondaryBroadcastLogoUrl?: string;
1187
2656
  }
1188
2657
 
1189
- type TeamRoster = Record<string, unknown>;
1190
- type TeamRosterSeasons = Record<string, unknown>;
2658
+ type Category = 'points' | 'goals' | 'assists' | 'plusMinus';
2659
+ interface WSCGameStory {
2660
+ id: number;
2661
+ season: number;
2662
+ gameType: number;
2663
+ limitedScoring: boolean;
2664
+ gameDate: string;
2665
+ venue: LocalizedText;
2666
+ venueLocation: LocalizedText;
2667
+ startTimeUTC: string;
2668
+ easternUTCOffset: UTCOffset;
2669
+ venueUTCOffset: UTCOffset;
2670
+ venueTimezone: string;
2671
+ tvBroadcasts: TvBroadcast[];
2672
+ gameState: GameState;
2673
+ gameScheduleState: 'OK';
2674
+ awayTeam: Team;
2675
+ homeTeam: Team;
2676
+ shootoutInUse: boolean;
2677
+ maxPeriods: number;
2678
+ regPeriods: number;
2679
+ otInUse: boolean;
2680
+ tiesInUse: boolean;
2681
+ preGameMatchup?: PreGameMatchup;
2682
+ summary?: Summary;
2683
+ periodDescriptor?: PeriodDescriptor;
2684
+ clock?: Clock;
2685
+ }
2686
+ interface Team {
2687
+ id: number;
2688
+ name: LocalizedText;
2689
+ abbrev: string;
2690
+ placeName: LocalizedText;
2691
+ logo: string;
2692
+ record?: string;
2693
+ score?: number;
2694
+ sog?: number;
2695
+ radioLink?: string;
2696
+ }
2697
+ interface Clock {
2698
+ timeRemaining: string;
2699
+ secondsRemaining: number;
2700
+ running: boolean;
2701
+ inIntermission: boolean;
2702
+ }
2703
+ interface PeriodDescriptor {
2704
+ number: number;
2705
+ periodType: PeriodType;
2706
+ maxRegulationPeriods: number;
2707
+ }
2708
+ interface PreGameMatchup {
2709
+ skatingLeaders: SkatingLeaders;
2710
+ goalieComparison: GoalieComparison;
2711
+ teamSeasonStats: TeamSeasonStats;
2712
+ }
2713
+ interface GoalieComparison {
2714
+ season: number;
2715
+ gameTypes: number[];
2716
+ awayTeam: Goalie[];
2717
+ homeTeam: Goalie[];
2718
+ }
2719
+ interface Goalie {
2720
+ playerId: number;
2721
+ name: LocalizedText;
2722
+ firstName: LocalizedText;
2723
+ lastName: LocalizedText;
2724
+ sweaterNumber: number;
2725
+ headshot: string;
2726
+ positionCode: PositionCode;
2727
+ gamesPlayed?: number;
2728
+ seasonPoints?: number;
2729
+ record?: string;
2730
+ gaa?: number;
2731
+ savePctg?: number;
2732
+ shutouts?: number;
2733
+ }
2734
+ interface SkatingLeaders {
2735
+ season: number;
2736
+ gameTypes: number[];
2737
+ gameLimit: number;
2738
+ leaders: Leader[];
2739
+ }
2740
+ interface Leader {
2741
+ category: Category;
2742
+ awayLeader: LeaderDetail;
2743
+ homeLeader: LeaderDetail;
2744
+ }
2745
+ interface LeaderDetail {
2746
+ playerId: number;
2747
+ name: LocalizedText;
2748
+ firstName: LocalizedText;
2749
+ lastName: LocalizedText;
2750
+ sweaterNumber: number;
2751
+ positionCode: PositionCode;
2752
+ headshot: string;
2753
+ value: number;
2754
+ }
2755
+ interface TeamSeasonStats {
2756
+ awayTeam: TeamSeasonStatsDetail;
2757
+ homeTeam: TeamSeasonStatsDetail;
2758
+ }
2759
+ interface TeamSeasonStatsDetail {
2760
+ ppPctg: number;
2761
+ pkPctg: number;
2762
+ faceoffWinningPctg: number;
2763
+ goalsForPerGamePlayed: number;
2764
+ goalsAgainstPerGamePlayed: number;
2765
+ ppPctgRank: number;
2766
+ pkPctgRank: number;
2767
+ faceoffWinningPctgRank: number;
2768
+ goalsForPerGamePlayedRank: number;
2769
+ goalsAgainstPerGamePlayedRank: number;
2770
+ }
2771
+ interface Summary {
2772
+ scoring: Scoring[];
2773
+ shootout: Shootout[];
2774
+ threeStars: ThreeStar[];
2775
+ teamGameStats: TeamGameStat[];
2776
+ }
2777
+ interface Scoring {
2778
+ periodDescriptor: PeriodDescriptor;
2779
+ goals: Goal[];
2780
+ }
2781
+ interface Goal {
2782
+ situationCode: string;
2783
+ eventId: number;
2784
+ strength: Strength;
2785
+ playerId: number;
2786
+ firstName: LocalizedText;
2787
+ lastName: LocalizedText;
2788
+ name: LocalizedText;
2789
+ teamAbbrev: LocalizedText;
2790
+ headshot: string;
2791
+ highlightClipSharingUrl?: string;
2792
+ highlightClip?: number;
2793
+ discreteClip?: number;
2794
+ goalsToDate: number;
2795
+ awayScore: number;
2796
+ homeScore: number;
2797
+ leadingTeamAbbrev?: LocalizedText;
2798
+ timeInPeriod: string;
2799
+ shotType: ShotType;
2800
+ goalModifier: GoalModifier;
2801
+ assists: Assist[];
2802
+ homeTeamDefendingSide: DefendingSide;
2803
+ isHome: boolean;
2804
+ highlightClipSharingUrlFr?: string;
2805
+ highlightClipFr?: number;
2806
+ discreteClipFr?: number;
2807
+ }
2808
+ interface Assist {
2809
+ playerId: number;
2810
+ firstName: LocalizedText;
2811
+ lastName: LocalizedText;
2812
+ name: LocalizedText;
2813
+ assistsToDate: number;
2814
+ sweaterNumber: number;
2815
+ }
2816
+ interface Shootout {
2817
+ sequence: number;
2818
+ playerId: number;
2819
+ teamAbbrev: LocalizedText;
2820
+ firstName: LocalizedText;
2821
+ lastName: LocalizedText;
2822
+ shotType: ShotType;
2823
+ result: 'save' | 'goal';
2824
+ headshot: string;
2825
+ gameWinner: boolean;
2826
+ discreteClip?: number;
2827
+ discreteClipFr?: number;
2828
+ }
2829
+ interface TeamGameStat {
2830
+ category: string;
2831
+ awayValue: number | string;
2832
+ homeValue: number | string;
2833
+ }
2834
+ interface ThreeStar {
2835
+ star: number;
2836
+ playerId: number;
2837
+ teamAbbrev: string;
2838
+ headshot: string;
2839
+ name: string;
2840
+ sweaterNo: number;
2841
+ position: PositionCode;
2842
+ goals?: number;
2843
+ assists?: number;
2844
+ points?: number;
2845
+ goalsAgainstAverage?: number;
2846
+ savePctg?: number;
2847
+ }
2848
+ type WSCPlayByPlay = Array<WSCPlayByPlayEvent>;
2849
+ interface WSCPlayByPlayEvent {
2850
+ id: number;
2851
+ eventId: number;
2852
+ period: number;
2853
+ timeInPeriod: string;
2854
+ secondsRemaining: number;
2855
+ situationCode: string;
2856
+ typeCode: number;
2857
+ typeDescKey: EventTypeDescKey;
2858
+ homeTeamDefendingSide: DefendingSide;
2859
+ sortOrder: number;
2860
+ utc: string;
2861
+ eventOwnerTeamId?: number;
2862
+ losingPlayerId?: number;
2863
+ winningPlayerId?: number;
2864
+ xCoord?: number;
2865
+ yCoord?: number;
2866
+ zoneCode?: ZoneCode;
2867
+ playerId?: number;
2868
+ reason?: Reason;
2869
+ shotType?: ShotType;
2870
+ shootingPlayerId?: number;
2871
+ goalieInNetId?: number;
2872
+ blockingPlayerId?: number;
2873
+ awaySOG?: number;
2874
+ homeSOG?: number;
2875
+ hittingPlayerId?: number;
2876
+ hitteePlayerId?: number;
2877
+ penaltyTypeCode?: PenaltyTypeCode;
2878
+ descKey?: string;
2879
+ duration?: number;
2880
+ committedByPlayerId?: number;
2881
+ drawnByPlayerId?: number;
2882
+ goalModifier?: GoalModifier;
2883
+ strength?: Strength;
2884
+ scoringPlayerId?: number;
2885
+ assist1PlayerId?: number;
2886
+ awayScore?: number;
2887
+ homeScore?: number;
2888
+ strengthCode?: number;
2889
+ goalCode?: number;
2890
+ scoringPlayerTotal?: number;
2891
+ assist1PlayerTotal?: number;
2892
+ assist2PlayerId?: number;
2893
+ assist2PlayerTotal?: number;
2894
+ servedByPlayerId?: number;
2895
+ }
1191
2896
 
1192
- type TeamStats = Record<string, unknown>;
1193
- type TeamStatsSeason = Record<string, unknown>;
1194
- type PlayerLanding = Record<string, unknown>;
1195
- type PlayerGameLog = Record<string, unknown>;
1196
- type PlayerSpotlight = Record<string, unknown>;
1197
2897
  type PlayerSearchResult = Record<string, unknown>;
1198
- type SkaterStatsLeaders = Record<string, unknown>;
1199
- type GoalieStatsLeaders = Record<string, unknown>;
1200
- type NHLScore = Record<string, unknown>;
1201
- type NHLScoreboard = Record<string, unknown>;
1202
2898
 
1203
2899
  /**
1204
2900
  * @module api/gamecenter/draft
@@ -1430,7 +3126,8 @@ declare function playoffSeries(season?: Season): Promise<APIResponse<PlayoffSeri
1430
3126
  * playoffSeriesSchedule('A', 20232024).then((data) => console.log(data));
1431
3127
  * ```
1432
3128
  */
1433
- declare function playoffSeriesSchedule(seriesLetter: SeriesLetter, season?: Season): Promise<APIResponse<PlayoffSeriesSchedule>>;
3129
+ declare function playoffSeriesSchedule(seriesLetter: SeriesLetter$1, season?: Season): Promise<APIResponse<PlayoffSeriesSchedule>>;
3130
+ declare function playoffSeriesSchedule(seriesLetter: string, season?: Season): Promise<APIResponse<PlayoffSeriesSchedule>>;
1434
3131
  /**
1435
3132
  * Get information about where games are available to watch
1436
3133
  * @returns Promise resolving to streaming and broadcast availability information
@@ -1510,7 +3207,8 @@ declare function metaGame(gameId: GameId): Promise<APIResponse<GameMeta>>;
1510
3207
  * meta.playoffSeries('A', 2023).then((data) => console.log(data));
1511
3208
  * ```
1512
3209
  */
1513
- declare function metaPlayoffSeries(seriesLetter: SeriesLetter, year?: Year): Promise<APIResponse<PlayoffSeriesMeta>>;
3210
+ declare function metaPlayoffSeries(seriesLetter: SeriesLetter$1, year?: Year): Promise<APIResponse<PlayoffSeriesMeta>>;
3211
+ declare function metaPlayoffSeries(seriesLetter: string, year?: Year): Promise<APIResponse<PlayoffSeriesMeta>>;
1514
3212
  /**
1515
3213
  * Lookup information based on postal/zip code
1516
3214
  *
@@ -1582,6 +3280,7 @@ declare function landing(playerId: number | string): Promise<APIResponse<PlayerL
1582
3280
  * ```
1583
3281
  */
1584
3282
  declare function gameLog(playerId: number | string, season?: Season, gameType?: GameType): Promise<APIResponse<PlayerGameLog>>;
3283
+ declare function gameLog(playerId: number | string, season?: Season, gameType?: number | string): Promise<APIResponse<PlayerGameLog>>;
1585
3284
  /**
1586
3285
  * Get player spotlight featuring highlighted players
1587
3286
  * @returns Promise resolving to featured/spotlight players
@@ -1590,17 +3289,18 @@ declare function gameLog(playerId: number | string, season?: Season, gameType?:
1590
3289
  * spotlight().then((data) => console.log(data));
1591
3290
  * ```
1592
3291
  */
1593
- declare function spotlight(): Promise<APIResponse<PlayerSpotlight>>;
3292
+ declare function spotlight(): Promise<APIResponse<PlayerSpotlight[]>>;
1594
3293
  /**
1595
3294
  * Search for players by name
1596
3295
  * @param query - The search query string (player name)
1597
3296
  * @returns Promise resolving to player search results
3297
+ * @deprecated This endpoint is deprecated and may be removed in future versions. Use the NHL Stats API player endpoint instead.
1598
3298
  * @example
1599
3299
  * ```ts
1600
3300
  * search('McDavid').then((data) => console.log(data));
1601
3301
  * ```
1602
3302
  */
1603
- declare function search(query: string): Promise<APIResponse<PlayerSearchResult>>;
3303
+ declare function search(query: string): Promise<APIResponse<PlayerSearchResult[] | undefined>>;
1604
3304
  /**
1605
3305
  * Access stats leaders endpoints for skaters and goalies
1606
3306
  * @description Get statistical leaders across various categories
@@ -1654,7 +3354,7 @@ declare namespace player {
1654
3354
  * score('2023-11-15').then((data) => console.log(data));
1655
3355
  * ```
1656
3356
  */
1657
- declare function score(date?: Date | string): Promise<APIResponse<NHLScore>>;
3357
+ declare function score(date?: Date | string): Promise<APIResponse<Score>>;
1658
3358
  /**
1659
3359
  * Get current scoreboard information
1660
3360
  * @returns Promise resolving to current scoreboard with live and recent game data
@@ -1663,10 +3363,10 @@ declare function score(date?: Date | string): Promise<APIResponse<NHLScore>>;
1663
3363
  * scoreboard().then((data) => console.log(data));
1664
3364
  * ```
1665
3365
  */
1666
- declare function scoreboard(): Promise<APIResponse<NHLScoreboard>>;
3366
+ declare function scoreboard(): Promise<APIResponse<Scoreboard>>;
1667
3367
  declare namespace scoreboard {
1668
- var team: (team: TeamAbbrev) => Promise<APIResponse<NHLScoreboard>>;
1669
- var date: (date: Date | string) => Promise<APIResponse<NHLScoreboard>>;
3368
+ var team: (team: TeamAbbrev) => Promise<APIResponse<Scoreboard>>;
3369
+ var date: (date: Date | string) => Promise<APIResponse<Scoreboard>>;
1670
3370
  }
1671
3371
 
1672
3372
  /**
@@ -2195,4 +3895,4 @@ declare const EDGE: {
2195
3895
  };
2196
3896
  };
2197
3897
 
2198
- export { type Broadcast, type Clock, type CountryCode$1 as CountryCode, type Details, type DraftPicks, type DraftRankings, type DraftRound, type DraftTracker, EDGE, type EventId, type GameId, type GameMeta, type GameNumber, type GameOutcome$1 as GameOutcome, type GameState$1 as GameState, type GameType, type GamecenterBoxscore, type GamecenterLanding, type GamecenterPlayByPlay, type GamecenterPlayByPlayHomeTeam, type GamecenterReports, type GoalieElement, type GoalieStatsLeaders, type HomeTeamDefendingSide, type IceSurface, type IceSurfaceAwayTeam, type IceSurfaceHomeTeam, type LeagueSchedule, type LocationInfo, nhl as NHL, type NHLDate, type NHLMonth, type NHLScore, type NHLScoreboard, type NHLSeasons, type NHLStandings, type NHLStandingsSeason, type NetworkTVSchedule, type PPTReplayEvent, type PPTReplayGoal, type PartnerGameInfo, type PenaltyBoxElement, type PenaltyDescKey, type PeriodDescriptor$1 as PeriodDescriptor, type Play, type PlayerGameLog, type PlayerId, type PlayerLanding, type PlayerSearchResult, type PlayerSpotlight, type PlayoffBracket, type PlayoffRound, type PlayoffSeries, type PlayoffSeriesMeta, type PlayoffSeriesSchedule, type PositionFilter, type PostalCode, type PostalCodeInfo, type PurpleDefenseman, type PurpleForward, type Reason, type RosterSpot, type SaveLocationCategory, type SaveLocationSort, type SavePercentage5v5Sort, type SavePercentageSort, type ScheduleCalendar, type Season, type SeasonDetails, type SeriesLetter, type ShotLocationCategory, type ShotLocationSort, type ShotSpeedSort, type ShotType, type Situation, type SkaterStatsLeaders, type SkatersStrength, type SkatingDistanceSort, type SkatingSpeedSort, type Summary, type Team$3 as Team, type TeamAbbrev, type TeamId, type TeamProspects, type TeamRoster, type TeamRosterSeasons, type TeamScheduleMonth, type TeamScheduleSeason, type TeamScheduleWeek, type TeamStats, type TeamStatsSeason, type TypeDescKey, type WSCGameStory, type WSCPlayByPlay, type WhereToWatch, type Year, type ZoneTimeSort, index as gc };
3898
+ export { type CountryCode$1 as CountryCode, type DraftPicks, type DraftRankings, type DraftRound, type DraftTracker, EDGE, type EventId, type GameId, type GameMeta, type GameNumber, type GameState$1 as GameState, type GameType, type GamecenterBoxscore, type GamecenterLanding, type GamecenterPlayByPlay, type GamecenterReports, type GoalieStatsLeaders, type LeagueSchedule, type LocationInfo, nhl as NHL, type NHLDate, type NHLMonth, type NHLSeasons, type NHLStandings, type NHLStandingsSeason, type NetworkTVSchedule, type PPTReplayEvent, type PPTReplayGoal, type PartnerGameInfo, type PlayerGameLog, type PlayerId, type PlayerLanding, type PlayerSearchResult, type PlayerSpotlight, type PlayoffBracket, type PlayoffRound, type PlayoffSeries, type PlayoffSeriesMeta, type PlayoffSeriesSchedule, type PositionFilter, type PostalCode, type PostalCodeInfo, type SaveLocationCategory, type SaveLocationSort, type SavePercentage5v5Sort, type SavePercentageSort, type ScheduleCalendar, type Score, type Scoreboard, type Season, type SeriesLetter$1 as SeriesLetter, type ShotLocationCategory, type ShotLocationSort, type ShotSpeedSort, type SkaterStatsLeaders, type SkatersStrength, type SkatingDistanceSort, type SkatingSpeedSort, type TeamAbbrev, type TeamId, type TeamProspects, type TeamRoster, type TeamRosterSeasons, type TeamScheduleMonth, type TeamScheduleSeason, type TeamScheduleWeek, type TeamStats, type TeamStatsSeason, type WSCGameStory, type WSCPlayByPlay, type WSCPlayByPlayEvent, type WhereToWatch, type Year, type ZoneTimeSort, index$1 as adv, index as gc };