nhl-api-ts 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +81 -9
  2. package/dist/api/draft.d.mts +61 -0
  3. package/dist/api/draft.mjs +68 -0
  4. package/dist/api/edge.d.mts +221 -24
  5. package/dist/api/edge.mjs +276 -27
  6. package/dist/api/game-center.d.mts +63 -15
  7. package/dist/api/game-center.mjs +67 -8
  8. package/dist/api/helpers.d.mts +6 -6
  9. package/dist/api/helpers.mjs +6 -6
  10. package/dist/api/misc.d.mts +120 -6
  11. package/dist/api/misc.mjs +162 -7
  12. package/dist/api/players.d.mts +59 -7
  13. package/dist/api/players.mjs +85 -4
  14. package/dist/api/query/cayenne.d.mts +4 -0
  15. package/dist/api/query/cayenne.mjs +13 -0
  16. package/dist/api/query/sorting/sorting-options.d.mts +8 -0
  17. package/dist/api/query/sorting/sorting-options.mjs +30 -0
  18. package/dist/api/schedule.d.mts +36 -23
  19. package/dist/api/schedule.mjs +40 -16
  20. package/dist/api/standings.d.mts +3 -3
  21. package/dist/api/standings.mjs +4 -4
  22. package/dist/api/stats.d.mts +105 -16
  23. package/dist/api/stats.mjs +145 -41
  24. package/dist/api/teams.d.mts +48 -8
  25. package/dist/api/teams.mjs +59 -7
  26. package/dist/cli/colors.d.mts +2 -2
  27. package/dist/cli/colors.mjs +6 -2
  28. package/dist/cli/commands.mjs +521 -46
  29. package/dist/cli/run.mjs +7 -5
  30. package/dist/http-client.d.mts +2 -1
  31. package/dist/http-client.mjs +10 -3
  32. package/dist/index.d.mts +8 -2
  33. package/dist/index.mjs +3 -0
  34. package/dist/nhl-client.d.mts +70 -15
  35. package/dist/nhl-client.mjs +40 -17
  36. package/dist/types/common.d.mts +0 -1
  37. package/dist/types/draft.d.mts +97 -0
  38. package/dist/types/draft.mjs +1 -0
  39. package/dist/types/edge.d.mts +301 -5
  40. package/dist/types/game-center.d.mts +277 -119
  41. package/dist/types/index.d.mts +1 -0
  42. package/dist/types/misc.d.mts +101 -0
  43. package/dist/types/misc.mjs +0 -1
  44. package/dist/types/players.d.mts +23 -2
  45. package/dist/types/schedule.d.mts +50 -62
  46. package/dist/types/standings.d.mts +1 -2
  47. package/dist/types/stats.d.mts +313 -111
  48. package/dist/types/teams.d.mts +29 -1
  49. package/dist/utils.d.mts +1 -1
  50. package/dist/utils.mjs +3 -1
  51. package/package.json +7 -28
@@ -1,5 +1,5 @@
1
1
  import type { Context } from '#src/context.mjs';
2
- import type { CatGoalieDetail, CatSkaterDetail, Goalie5v5Detail, GoalieComparison, GoalieDetail, GoalieLanding, GoalieSavePercentageDetail, GoalieShotLocationDetail, SkaterComparison, SkaterDetail, SkaterLanding, SkaterShotLocationDetail, SkaterShotSpeedDetail, SkaterSkatingDistanceDetail, SkaterSkatingSpeedDetail, SkaterZoneTime, TeamDetail, TeamLanding, TeamShotLocationDetail, TeamShotSpeedDetail, TeamSkatingDistanceDetail, TeamSkatingSpeedDetail, TeamZoneTimeDetails } from '#src/types/index.mjs';
2
+ import type { ByTheNumbers, CatGoalieDetail, CatSkaterDetail, Goalie5v5Detail, Goalie5v5Top10Row, GoalieComparison, GoalieDetail, GoalieLanding, GoalieSavePercentageDetail, GoalieSavePercentageTop10Row, GoalieShotLocationDetail, GoalieShotLocationTop10Row, OpenUnion, SkaterComparison, SkaterDetail, SkaterDistanceTop10Row, SkaterLanding, SkaterShotLocationDetail, SkaterShotLocationTop10Row, SkaterShotSpeedDetail, SkaterShotSpeedTop10Row, SkaterSkatingDistanceDetail, SkaterSkatingSpeedDetail, SkaterSpeedTop10Row, SkaterZoneTime, SkaterZoneTimeTop10Row, TeamComparison, TeamDetail, TeamLanding, TeamShotLocationDetail, TeamShotLocationTop10Row, TeamShotSpeedDetail, TeamShotSpeedTop10Row, TeamSkatingDistanceDetail, TeamSkatingDistanceTop10Row, TeamSkatingSpeedDetail, TeamSkatingSpeedTop10Row, TeamZoneTimeDetails, TeamZoneTimeTop10Row } from '#src/types/index.mjs';
3
3
  import type { Id } from '#src/utils.mjs';
4
4
  export interface EdgeSeasonParams {
5
5
  /** Season in YYYYYYYY format, e.g. 20232024. Defaults to the current season ("now"). */
@@ -15,144 +15,326 @@ export interface EdgeTeamParams extends EdgeSeasonParams {
15
15
  /** NHL team id, e.g. 10 */
16
16
  teamId: Id;
17
17
  }
18
+ /** Player positions of an EDGE top-10 leaderboard. */
19
+ export declare const EdgePositions: {
20
+ readonly ALL: 'all';
21
+ readonly FORWARDS: 'forwards';
22
+ readonly DEFENSE: 'defense';
23
+ };
24
+ export type EdgePosition = OpenUnion<(typeof EdgePositions)[keyof typeof EdgePositions]>;
25
+ /** Game strengths of an EDGE top-10 leaderboard. */
26
+ export declare const EdgeStrengths: {
27
+ readonly ALL: 'all';
28
+ readonly EVEN: 'es';
29
+ readonly POWER_PLAY: 'pp';
30
+ readonly PENALTY_KILL: 'pk';
31
+ };
32
+ export type EdgeStrength = OpenUnion<(typeof EdgeStrengths)[keyof typeof EdgeStrengths]>;
33
+ /** Rink zones; the `sortBy` of the zone time top-10s. */
34
+ export declare const EdgeZones: {
35
+ readonly OFFENSIVE: 'offensive';
36
+ readonly NEUTRAL: 'neutral';
37
+ readonly DEFENSIVE: 'defensive';
38
+ };
39
+ export type EdgeZone = OpenUnion<(typeof EdgeZones)[keyof typeof EdgeZones]>;
40
+ export type EdgeSkatingDistanceSortBy = OpenUnion<'total' | 'per-60' | 'max-game' | 'max-period'>;
41
+ export type EdgeSkatingSpeedSortBy = OpenUnion<'max' | 'over-22' | '20-22' | '18-20'>;
42
+ export type EdgeShotSpeedSortBy = OpenUnion<'max' | 'over-100' | '90-99' | '80-89' | '70-79'>;
43
+ export type EdgeShotLocationSortBy = OpenUnion<'sog' | 'goals' | 'shooting-pctg'>;
44
+ /** Shot location area: every shot, high danger, mid range or long range. */
45
+ export type EdgeShotLocationCategory = OpenUnion<'all' | 'high' | 'mid' | 'long'>;
46
+ export type EdgeGoalieShotLocationSortBy = OpenUnion<'save-pctg' | 'saves' | 'goals-against' | 'shots-against'>;
47
+ export type EdgeGoalie5v5SortBy = OpenUnion<'save-pctg' | 'save-pctg-close' | 'shots' | 'shots-per-60'>;
48
+ export type EdgeGoalieSavePercentageSortBy = OpenUnion<'games' | 'pctg'>;
49
+ export interface EdgeTop10Params<SortBy extends string> extends EdgeSeasonParams {
50
+ /** Metric to rank by. Every row carries every metric; this only reorders. */
51
+ sortBy: SortBy;
52
+ }
53
+ export interface EdgePositionTop10Params<SortBy extends string> extends EdgeTop10Params<SortBy> {
54
+ /** 'all' (default), 'forwards' or 'defense'. See `EdgePositions`. */
55
+ positions?: EdgePosition;
56
+ }
57
+ export interface EdgeStrengthTop10Params<SortBy extends string> extends EdgePositionTop10Params<SortBy> {
58
+ /** 'all' (default), 'es', 'pp' or 'pk'. See `EdgeStrengths`. */
59
+ strength?: EdgeStrength;
60
+ }
61
+ export interface EdgeShotLocationTop10Params extends EdgePositionTop10Params<EdgeShotLocationSortBy> {
62
+ /** 'all' (default), 'high', 'mid' or 'long'. */
63
+ category?: EdgeShotLocationCategory;
64
+ }
65
+ export interface EdgeTeamZoneTimeTop10Params extends EdgeTop10Params<EdgeZone> {
66
+ /** 'all' (default), 'es', 'pp' or 'pk'. See `EdgeStrengths`. */
67
+ strength?: EdgeStrength;
68
+ }
69
+ export interface EdgeGoalieShotLocationTop10Params extends EdgeTop10Params<EdgeGoalieShotLocationSortBy> {
70
+ /** 'all' (default), 'high', 'mid' or 'long'. */
71
+ category?: EdgeShotLocationCategory;
72
+ }
18
73
  /**
19
74
  * Get NHL EDGE skater detail statistics for a specific player.
20
75
  *
21
76
  * @example await client.edge.skaterDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
22
77
  */
23
- export declare const skaterDetail: (ctx: Context, params: EdgePlayerParams) => Promise<SkaterDetail>;
78
+ export declare function skaterDetail(ctx: Context, params: EdgePlayerParams): Promise<SkaterDetail>;
24
79
  /**
25
80
  * Get NHL EDGE shot speed details for a specific skater.
26
81
  *
27
82
  * @example await client.edge.skaterShotSpeedDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
28
83
  */
29
- export declare const skaterShotSpeedDetail: (ctx: Context, params: EdgePlayerParams) => Promise<SkaterShotSpeedDetail>;
84
+ export declare function skaterShotSpeedDetail(ctx: Context, params: EdgePlayerParams): Promise<SkaterShotSpeedDetail>;
30
85
  /**
31
86
  * Get NHL EDGE skating speed details for a specific skater.
32
87
  *
33
88
  * @example await client.edge.skaterSkatingSpeedDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
34
89
  */
35
- export declare const skaterSkatingSpeedDetail: (ctx: Context, params: EdgePlayerParams) => Promise<SkaterSkatingSpeedDetail>;
90
+ export declare function skaterSkatingSpeedDetail(ctx: Context, params: EdgePlayerParams): Promise<SkaterSkatingSpeedDetail>;
36
91
  /**
37
92
  * Get NHL EDGE shot location details for a specific skater.
38
93
  *
39
94
  * @example await client.edge.skaterShotLocationDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
40
95
  */
41
- export declare const skaterShotLocationDetail: (ctx: Context, params: EdgePlayerParams) => Promise<SkaterShotLocationDetail>;
96
+ export declare function skaterShotLocationDetail(ctx: Context, params: EdgePlayerParams): Promise<SkaterShotLocationDetail>;
42
97
  /**
43
98
  * Get NHL EDGE skating distance details for a specific skater.
44
99
  *
45
100
  * @example await client.edge.skaterSkatingDistanceDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
46
101
  */
47
- export declare const skaterSkatingDistanceDetail: (ctx: Context, params: EdgePlayerParams) => Promise<SkaterSkatingDistanceDetail>;
102
+ export declare function skaterSkatingDistanceDetail(ctx: Context, params: EdgePlayerParams): Promise<SkaterSkatingDistanceDetail>;
48
103
  /**
49
104
  * Get NHL EDGE comparison statistics for a specific skater.
50
105
  *
51
106
  * @example await client.edge.skaterComparison({ playerId: 8478402, season: '20232024', gameType: 2 })
52
107
  */
53
- export declare const skaterComparison: (ctx: Context, params: EdgePlayerParams) => Promise<SkaterComparison>;
108
+ export declare function skaterComparison(ctx: Context, params: EdgePlayerParams): Promise<SkaterComparison>;
54
109
  /**
55
110
  * Get NHL EDGE zone time details for a specific skater.
56
111
  *
57
112
  * @example await client.edge.skaterZoneTime({ playerId: 8478402, season: '20232024', gameType: 2 })
58
113
  */
59
- export declare const skaterZoneTime: (ctx: Context, params: EdgePlayerParams) => Promise<SkaterZoneTime>;
114
+ export declare function skaterZoneTime(ctx: Context, params: EdgePlayerParams): Promise<SkaterZoneTime>;
60
115
  /**
61
116
  * Get NHL EDGE skater landing page data.
62
117
  *
63
118
  * @example await client.edge.skaterLanding({ season: '20232024' })
64
119
  */
65
- export declare const skaterLanding: (ctx: Context, params?: EdgeSeasonParams) => Promise<SkaterLanding>;
120
+ export declare function skaterLanding(ctx: Context, params?: EdgeSeasonParams): Promise<SkaterLanding>;
66
121
  /**
67
122
  * Get NHL CAT (Catch All Tracking) EDGE skater details.
68
123
  *
69
124
  * @example await client.edge.catSkaterDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
70
125
  */
71
- export declare const catSkaterDetail: (ctx: Context, params: EdgePlayerParams) => Promise<CatSkaterDetail>;
126
+ export declare function catSkaterDetail(ctx: Context, params: EdgePlayerParams): Promise<CatSkaterDetail>;
72
127
  /**
73
128
  * Get NHL EDGE goalie detail statistics for a specific player.
74
129
  *
75
130
  * @example await client.edge.goalieDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
76
131
  */
77
- export declare const goalieDetail: (ctx: Context, params: EdgePlayerParams) => Promise<GoalieDetail>;
132
+ export declare function goalieDetail(ctx: Context, params: EdgePlayerParams): Promise<GoalieDetail>;
78
133
  /**
79
134
  * Get NHL EDGE shot location details for a specific goalie.
80
135
  *
81
136
  * @example await client.edge.goalieShotLocationDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
82
137
  */
83
- export declare const goalieShotLocationDetail: (ctx: Context, params: EdgePlayerParams) => Promise<GoalieShotLocationDetail>;
138
+ export declare function goalieShotLocationDetail(ctx: Context, params: EdgePlayerParams): Promise<GoalieShotLocationDetail>;
84
139
  /**
85
140
  * Get NHL EDGE 5v5 performance details for a specific goalie.
86
141
  *
87
142
  * @example await client.edge.goalie5v5Detail({ playerId: 8478402, season: '20232024', gameType: 2 })
88
143
  */
89
- export declare const goalie5v5Detail: (ctx: Context, params: EdgePlayerParams) => Promise<Goalie5v5Detail>;
144
+ export declare function goalie5v5Detail(ctx: Context, params: EdgePlayerParams): Promise<Goalie5v5Detail>;
90
145
  /**
91
146
  * Get NHL EDGE comparison statistics for a specific goalie.
92
147
  *
93
148
  * @example await client.edge.goalieComparison({ playerId: 8478402, season: '20232024', gameType: 2 })
94
149
  */
95
- export declare const goalieComparison: (ctx: Context, params: EdgePlayerParams) => Promise<GoalieComparison>;
150
+ export declare function goalieComparison(ctx: Context, params: EdgePlayerParams): Promise<GoalieComparison>;
96
151
  /**
97
152
  * Get NHL EDGE save percentage details for a specific goalie.
98
153
  *
99
154
  * @example await client.edge.goalieSavePercentageDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
100
155
  */
101
- export declare const goalieSavePercentageDetail: (ctx: Context, params: EdgePlayerParams) => Promise<GoalieSavePercentageDetail>;
156
+ export declare function goalieSavePercentageDetail(ctx: Context, params: EdgePlayerParams): Promise<GoalieSavePercentageDetail>;
102
157
  /**
103
158
  * Get NHL EDGE goalie landing page data.
104
159
  *
105
160
  * @example await client.edge.goalieLanding({ season: '20232024' })
106
161
  */
107
- export declare const goalieLanding: (ctx: Context, params?: EdgeSeasonParams) => Promise<GoalieLanding>;
162
+ export declare function goalieLanding(ctx: Context, params?: EdgeSeasonParams): Promise<GoalieLanding>;
108
163
  /**
109
164
  * Get NHL CAT (Catch All Tracking) EDGE goalie details.
110
165
  *
111
166
  * @example await client.edge.catGoalieDetail({ playerId: 8478402, season: '20232024', gameType: 2 })
112
167
  */
113
- export declare const catGoalieDetail: (ctx: Context, params: EdgePlayerParams) => Promise<CatGoalieDetail>;
168
+ export declare function catGoalieDetail(ctx: Context, params: EdgePlayerParams): Promise<CatGoalieDetail>;
114
169
  /**
115
170
  * Get NHL EDGE team detail statistics for a specific team.
116
171
  *
117
172
  * @example await client.edge.teamDetail({ teamId: 10 })
118
173
  */
119
- export declare const teamDetail: (ctx: Context, params: EdgeTeamParams) => Promise<TeamDetail>;
174
+ export declare function teamDetail(ctx: Context, params: EdgeTeamParams): Promise<TeamDetail>;
120
175
  /**
121
176
  * Get NHL EDGE skating distance details for a specific team.
122
177
  *
123
178
  * @example await client.edge.teamSkatingDistanceDetail({ teamId: 10 })
124
179
  */
125
- export declare const teamSkatingDistanceDetail: (ctx: Context, params: EdgeTeamParams) => Promise<TeamSkatingDistanceDetail>;
180
+ export declare function teamSkatingDistanceDetail(ctx: Context, params: EdgeTeamParams): Promise<TeamSkatingDistanceDetail>;
126
181
  /**
127
182
  * Get NHL EDGE zone time details for a specific team.
128
183
  *
129
184
  * @example await client.edge.teamZoneTimeDetails({ teamId: 10 })
130
185
  */
131
- export declare const teamZoneTimeDetails: (ctx: Context, params: EdgeTeamParams) => Promise<TeamZoneTimeDetails>;
186
+ export declare function teamZoneTimeDetails(ctx: Context, params: EdgeTeamParams): Promise<TeamZoneTimeDetails>;
132
187
  /**
133
188
  * Get NHL EDGE shot location details for a specific team.
134
189
  *
135
190
  * @example await client.edge.teamShotLocationDetail({ teamId: 10 })
136
191
  */
137
- export declare const teamShotLocationDetail: (ctx: Context, params: EdgeTeamParams) => Promise<TeamShotLocationDetail>;
192
+ export declare function teamShotLocationDetail(ctx: Context, params: EdgeTeamParams): Promise<TeamShotLocationDetail>;
138
193
  /**
139
194
  * Get NHL EDGE team landing page data.
140
195
  *
141
196
  * @example await client.edge.teamLanding({ season: '20232024' })
142
197
  */
143
- export declare const teamLanding: (ctx: Context, params?: EdgeSeasonParams) => Promise<TeamLanding>;
198
+ export declare function teamLanding(ctx: Context, params?: EdgeSeasonParams): Promise<TeamLanding>;
144
199
  /**
145
200
  * Get NHL EDGE shot speed details for a specific team.
146
201
  *
147
202
  * @example await client.edge.teamShotSpeedDetail({ teamId: 10 })
148
203
  */
149
- export declare const teamShotSpeedDetail: (ctx: Context, params: EdgeTeamParams) => Promise<TeamShotSpeedDetail>;
204
+ export declare function teamShotSpeedDetail(ctx: Context, params: EdgeTeamParams): Promise<TeamShotSpeedDetail>;
150
205
  /**
151
206
  * Get NHL EDGE skating speed details for a specific team.
152
207
  *
153
208
  * @example await client.edge.teamSkatingSpeedDetail({ teamId: 10 })
154
209
  */
155
- export declare const teamSkatingSpeedDetail: (ctx: Context, params: EdgeTeamParams) => Promise<TeamSkatingSpeedDetail>;
210
+ export declare function teamSkatingSpeedDetail(ctx: Context, params: EdgeTeamParams): Promise<TeamSkatingSpeedDetail>;
211
+ /**
212
+ * Get the NHL EDGE top 10 skaters by skating distance.
213
+ *
214
+ * @param params.positions 'all' (default), 'forwards' or 'defense'
215
+ * @param params.strength 'all' (default), 'es', 'pp' or 'pk'
216
+ * @param params.sortBy 'total', 'per-60', 'max-game' or 'max-period'
217
+ * @example https://api-web.nhle.com/v1/edge/skater-distance-top-10/all/all/total/20252026/2
218
+ */
219
+ export declare function skaterDistanceTop10(ctx: Context, { positions, strength, sortBy, ...params }: EdgeStrengthTop10Params<EdgeSkatingDistanceSortBy>): Promise<SkaterDistanceTop10Row[]>;
220
+ /**
221
+ * Get the NHL EDGE top 10 skaters by skating speed.
222
+ *
223
+ * @param params.positions 'all' (default), 'forwards' or 'defense'
224
+ * @param params.sortBy 'max', 'over-22', '20-22' or '18-20' (bursts in mph)
225
+ * @example https://api-web.nhle.com/v1/edge/skater-speed-top-10/all/max/20252026/2
226
+ */
227
+ export declare function skaterSpeedTop10(ctx: Context, { positions, sortBy, ...params }: EdgePositionTop10Params<EdgeSkatingSpeedSortBy>): Promise<SkaterSpeedTop10Row[]>;
228
+ /**
229
+ * Get the NHL EDGE top 10 skaters by zone time.
230
+ *
231
+ * @param params.positions 'all' (default), 'forwards' or 'defense'
232
+ * @param params.strength 'all' (default), 'es', 'pp' or 'pk'
233
+ * @param params.sortBy Zone: 'offensive', 'neutral' or 'defensive'. See `EdgeZones`.
234
+ * @example https://api-web.nhle.com/v1/edge/skater-zone-time-top-10/all/all/offensive/20252026/2
235
+ */
236
+ export declare function skaterZoneTimeTop10(ctx: Context, { positions, strength, sortBy, ...params }: EdgeStrengthTop10Params<EdgeZone>): Promise<SkaterZoneTimeTop10Row[]>;
237
+ /**
238
+ * Get the NHL EDGE top 10 skaters by shot speed.
239
+ *
240
+ * @param params.positions 'all' (default), 'forwards' or 'defense'
241
+ * @param params.sortBy 'max', 'over-100', '90-99', '80-89' or '70-79' (attempts in mph)
242
+ * @example https://api-web.nhle.com/v1/edge/skater-shot-speed-top-10/all/max/20252026/2
243
+ */
244
+ export declare function skaterShotSpeedTop10(ctx: Context, { positions, sortBy, ...params }: EdgePositionTop10Params<EdgeShotSpeedSortBy>): Promise<SkaterShotSpeedTop10Row[]>;
245
+ /**
246
+ * Get the NHL EDGE top 10 skaters by shot location. `sortBy` comes before
247
+ * `category` in the URL (the NHL-API-Reference has them the other way round,
248
+ * which 404s).
249
+ *
250
+ * @param params.positions 'all' (default), 'forwards' or 'defense'. 'F' / 'D' are a 404 here.
251
+ * @param params.sortBy 'sog', 'goals' or 'shooting-pctg'
252
+ * @param params.category 'all' (default), 'high', 'mid' or 'long'
253
+ * @example https://api-web.nhle.com/v1/edge/skater-shot-location-top-10/all/sog/all/20252026/2
254
+ */
255
+ export declare function skaterShotLocationTop10(ctx: Context, { positions, sortBy, category, ...params }: EdgeShotLocationTop10Params): Promise<SkaterShotLocationTop10Row[]>;
256
+ /**
257
+ * Get the NHL EDGE top 10 goalies by 5v5 performance.
258
+ *
259
+ * @param params.sortBy 'save-pctg', 'save-pctg-close', 'shots' or 'shots-per-60'
260
+ * @example https://api-web.nhle.com/v1/edge/goalie-5v5-top-10/save-pctg/20252026/2
261
+ */
262
+ export declare function goalie5v5Top10(ctx: Context, { sortBy, ...params }: EdgeTop10Params<EdgeGoalie5v5SortBy>): Promise<Goalie5v5Top10Row[]>;
263
+ /**
264
+ * Get the NHL EDGE top 10 goalies by shot location.
265
+ *
266
+ * @param params.sortBy 'save-pctg', 'saves', 'goals-against' or 'shots-against'
267
+ * @param params.category 'all' (default), 'high', 'mid' or 'long'
268
+ * @example https://api-web.nhle.com/v1/edge/goalie-shot-location-top-10/save-pctg/all/20252026/2
269
+ */
270
+ export declare function goalieShotLocationTop10(ctx: Context, { sortBy, category, ...params }: EdgeGoalieShotLocationTop10Params): Promise<GoalieShotLocationTop10Row[]>;
271
+ /**
272
+ * Get the NHL EDGE top 10 goalies by games above a .900 save percentage.
273
+ *
274
+ * @param params.sortBy 'games' (count) or 'pctg' (share of games played)
275
+ * @example https://api-web.nhle.com/v1/edge/goalie-edge-save-pctg-top-10/games/20252026/2
276
+ */
277
+ export declare function goalieSavePercentageTop10(ctx: Context, { sortBy, ...params }: EdgeTop10Params<EdgeGoalieSavePercentageSortBy>): Promise<GoalieSavePercentageTop10Row[]>;
278
+ /**
279
+ * Get the NHL EDGE top 10 teams by skating distance.
280
+ *
281
+ * @param params.positions 'all' (default), 'forwards' or 'defense'
282
+ * @param params.strength 'all' (default), 'es', 'pp' or 'pk'
283
+ * @param params.sortBy 'total', 'per-60', 'max-game' or 'max-period'
284
+ * @example https://api-web.nhle.com/v1/edge/team-skating-distance-top-10/all/all/total/20252026/2
285
+ */
286
+ export declare function teamSkatingDistanceTop10(ctx: Context, { positions, strength, sortBy, ...params }: EdgeStrengthTop10Params<EdgeSkatingDistanceSortBy>): Promise<TeamSkatingDistanceTop10Row[]>;
287
+ /**
288
+ * Get the NHL EDGE top 10 teams by skating speed.
289
+ *
290
+ * @param params.positions 'all' (default), 'forwards' or 'defense'
291
+ * @param params.sortBy 'max', 'over-22', '20-22' or '18-20' (bursts in mph)
292
+ * @example https://api-web.nhle.com/v1/edge/team-skating-speed-top-10/all/max/20252026/2
293
+ */
294
+ export declare function teamSkatingSpeedTop10(ctx: Context, { positions, sortBy, ...params }: EdgePositionTop10Params<EdgeSkatingSpeedSortBy>): Promise<TeamSkatingSpeedTop10Row[]>;
295
+ /**
296
+ * Get the NHL EDGE top 10 teams by zone time. There is no `positions` slot.
297
+ *
298
+ * @param params.strength 'all' (default), 'es', 'pp' or 'pk'
299
+ * @param params.sortBy Zone: 'offensive', 'neutral' or 'defensive'. See `EdgeZones`.
300
+ * @example https://api-web.nhle.com/v1/edge/team-zone-time-top-10/es/offensive/20242025/2
301
+ */
302
+ export declare function teamZoneTimeTop10(ctx: Context, { strength, sortBy, ...params }: EdgeTeamZoneTimeTop10Params): Promise<TeamZoneTimeTop10Row[]>;
303
+ /**
304
+ * Get the NHL EDGE top 10 teams by shot speed.
305
+ *
306
+ * @param params.positions 'all' (default), 'forwards' or 'defense'
307
+ * @param params.sortBy 'max', 'over-100', '90-99', '80-89' or '70-79' (attempts in mph)
308
+ * @example https://api-web.nhle.com/v1/edge/team-shot-speed-top-10/all/max/20252026/2
309
+ */
310
+ export declare function teamShotSpeedTop10(ctx: Context, { positions, sortBy, ...params }: EdgePositionTop10Params<EdgeShotSpeedSortBy>): Promise<TeamShotSpeedTop10Row[]>;
311
+ /**
312
+ * Get the NHL EDGE top 10 teams by shot location. `sortBy` comes before
313
+ * `category` in the URL (the NHL-API-Reference has them the other way round,
314
+ * which 404s).
315
+ *
316
+ * @param params.positions 'all' (default), 'forwards' or 'defense'. 'F' / 'D' are a 404 here.
317
+ * @param params.sortBy 'sog', 'goals' or 'shooting-pctg'
318
+ * @param params.category 'all' (default), 'high', 'mid' or 'long'
319
+ * @example https://api-web.nhle.com/v1/edge/team-shot-location-top-10/all/sog/all/20252026/2
320
+ */
321
+ export declare function teamShotLocationTop10(ctx: Context, { positions, sortBy, category, ...params }: EdgeShotLocationTop10Params): Promise<TeamShotLocationTop10Row[]>;
322
+ /**
323
+ * Get the NHL EDGE comparison statistics for a specific team.
324
+ *
325
+ * @param params.teamId NHL team id, e.g. 10
326
+ * @example await client.edge.teamComparison({ teamId: 10 })
327
+ */
328
+ export declare function teamComparison(ctx: Context, params: EdgeTeamParams): Promise<TeamComparison>;
329
+ /**
330
+ * Get the NHL EDGE "by the numbers" league highlights. Without a season this
331
+ * is the latest game night (`games`, `gameDate` and the nightly leaders);
332
+ * with a season it is the season bests (hardest shot, top speed, longest
333
+ * distance in a game).
334
+ *
335
+ * @example https://api-web.nhle.com/v1/edge/by-the-numbers/now
336
+ */
337
+ export declare function byTheNumbers(ctx: Context, params?: EdgeSeasonParams): Promise<ByTheNumbers>;
156
338
  export declare const edgeApi: {
157
339
  readonly skaterDetail: typeof skaterDetail;
158
340
  readonly skaterShotSpeedDetail: typeof skaterShotSpeedDetail;
@@ -177,4 +359,19 @@ export declare const edgeApi: {
177
359
  readonly teamLanding: typeof teamLanding;
178
360
  readonly teamShotSpeedDetail: typeof teamShotSpeedDetail;
179
361
  readonly teamSkatingSpeedDetail: typeof teamSkatingSpeedDetail;
362
+ readonly skaterDistanceTop10: typeof skaterDistanceTop10;
363
+ readonly skaterSpeedTop10: typeof skaterSpeedTop10;
364
+ readonly skaterZoneTimeTop10: typeof skaterZoneTimeTop10;
365
+ readonly skaterShotSpeedTop10: typeof skaterShotSpeedTop10;
366
+ readonly skaterShotLocationTop10: typeof skaterShotLocationTop10;
367
+ readonly goalie5v5Top10: typeof goalie5v5Top10;
368
+ readonly goalieShotLocationTop10: typeof goalieShotLocationTop10;
369
+ readonly goalieSavePercentageTop10: typeof goalieSavePercentageTop10;
370
+ readonly teamSkatingDistanceTop10: typeof teamSkatingDistanceTop10;
371
+ readonly teamSkatingSpeedTop10: typeof teamSkatingSpeedTop10;
372
+ readonly teamZoneTimeTop10: typeof teamZoneTimeTop10;
373
+ readonly teamShotSpeedTop10: typeof teamShotSpeedTop10;
374
+ readonly teamShotLocationTop10: typeof teamShotLocationTop10;
375
+ readonly teamComparison: typeof teamComparison;
376
+ readonly byTheNumbers: typeof byTheNumbers;
180
377
  };