@idlebox/stripe-node-types 24.0.14-patch.0 → 24.0.15

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 (134) hide show
  1. package/README.md +1 -1
  2. package/assert/strict.d.ts +113 -1
  3. package/assert.d.ts +162 -248
  4. package/async_hooks.d.ts +20 -5
  5. package/buffer.buffer.d.ts +24 -6
  6. package/buffer.d.ts +63 -168
  7. package/child_process.d.ts +117 -223
  8. package/cluster.d.ts +251 -329
  9. package/compatibility/iterators.d.ts +15 -0
  10. package/console.d.ts +60 -346
  11. package/constants.d.ts +15 -1
  12. package/crypto.d.ts +713 -1149
  13. package/dgram.d.ts +30 -50
  14. package/diagnostics_channel.d.ts +16 -3
  15. package/dns/promises.d.ts +15 -0
  16. package/dns.d.ts +150 -131
  17. package/domain.d.ts +25 -14
  18. package/events.d.ts +858 -719
  19. package/fs/promises.d.ts +117 -53
  20. package/fs.d.ts +729 -484
  21. package/globals.d.ts +142 -344
  22. package/globals.typedarray.d.ts +94 -0
  23. package/http.d.ts +358 -246
  24. package/http2.d.ts +578 -711
  25. package/https.d.ts +85 -216
  26. package/index.d.ts +39 -3
  27. package/inspector/promises.d.ts +54 -0
  28. package/inspector.d.ts +180 -3936
  29. package/inspector.generated.d.ts +4242 -0
  30. package/module.d.ts +60 -95
  31. package/my-shim.d.ts +15 -0
  32. package/net.d.ts +102 -186
  33. package/os.d.ts +32 -6
  34. package/package.json +3 -8
  35. package/path/posix.d.ts +20 -0
  36. package/path/win32.d.ts +20 -0
  37. package/path.d.ts +132 -122
  38. package/perf_hooks.d.ts +310 -644
  39. package/process.d.ts +192 -138
  40. package/punycode.d.ts +17 -2
  41. package/querystring.d.ts +16 -1
  42. package/quic.d.ts +926 -0
  43. package/readline/promises.d.ts +16 -1
  44. package/readline.d.ts +80 -118
  45. package/repl.d.ts +98 -96
  46. package/sea.d.ts +25 -1
  47. package/sqlite.d.ts +277 -13
  48. package/stream/consumers.d.ts +22 -7
  49. package/stream/promises.d.ts +148 -12
  50. package/stream/web.d.ts +187 -494
  51. package/stream.d.ts +608 -490
  52. package/string_decoder.d.ts +18 -3
  53. package/test/reporters.d.ts +112 -0
  54. package/test.d.ts +238 -199
  55. package/timers/promises.d.ts +16 -1
  56. package/timers.d.ts +16 -129
  57. package/tls.d.ts +163 -163
  58. package/trace_events.d.ts +21 -6
  59. package/ts5.6/buffer.buffer.d.ts +25 -8
  60. package/ts5.6/compatibility/float16array.d.ts +15 -0
  61. package/ts5.6/globals.typedarray.d.ts +31 -0
  62. package/ts5.6/index.d.ts +39 -3
  63. package/ts5.7/compatibility/float16array.d.ts +15 -0
  64. package/ts5.7/index.d.ts +39 -3
  65. package/tty.d.ts +70 -13
  66. package/undici-types/agent.d.ts +20 -4
  67. package/undici-types/api.d.ts +15 -0
  68. package/undici-types/balanced-pool.d.ts +15 -0
  69. package/undici-types/cache-interceptor.d.ts +15 -0
  70. package/undici-types/cache.d.ts +15 -0
  71. package/undici-types/client-stats.d.ts +31 -0
  72. package/undici-types/client.d.ts +21 -5
  73. package/undici-types/connector.d.ts +15 -0
  74. package/undici-types/content-type.d.ts +15 -0
  75. package/undici-types/cookies.d.ts +15 -0
  76. package/undici-types/diagnostics-channel.d.ts +24 -1
  77. package/undici-types/dispatcher.d.ts +18 -8
  78. package/undici-types/env-http-proxy-agent.d.ts +17 -1
  79. package/undici-types/errors.d.ts +20 -15
  80. package/undici-types/eventsource.d.ts +24 -4
  81. package/undici-types/fetch.d.ts +16 -0
  82. package/undici-types/formdata.d.ts +15 -0
  83. package/undici-types/global-dispatcher.d.ts +15 -0
  84. package/undici-types/global-origin.d.ts +15 -0
  85. package/undici-types/h2c-client.d.ts +15 -2
  86. package/undici-types/handlers.d.ts +16 -1
  87. package/undici-types/header.d.ts +15 -0
  88. package/undici-types/index.d.ts +21 -1
  89. package/undici-types/interceptors.d.ts +20 -0
  90. package/undici-types/mock-agent.d.ts +18 -0
  91. package/undici-types/mock-call-history.d.ts +15 -0
  92. package/undici-types/mock-client.d.ts +17 -0
  93. package/undici-types/mock-errors.d.ts +15 -0
  94. package/undici-types/mock-interceptor.d.ts +17 -1
  95. package/undici-types/mock-pool.d.ts +17 -0
  96. package/undici-types/package.json +1 -1
  97. package/undici-types/patch.d.ts +15 -0
  98. package/undici-types/pool-stats.d.ts +15 -0
  99. package/undici-types/pool.d.ts +17 -0
  100. package/undici-types/proxy-agent.d.ts +16 -0
  101. package/undici-types/readable.d.ts +15 -0
  102. package/undici-types/retry-agent.d.ts +15 -0
  103. package/undici-types/retry-handler.d.ts +24 -0
  104. package/undici-types/snapshot-agent.d.ts +125 -0
  105. package/undici-types/util.d.ts +15 -0
  106. package/undici-types/utility.d.ts +15 -0
  107. package/undici-types/webidl.d.ts +126 -36
  108. package/undici-types/websocket.d.ts +18 -1
  109. package/url.d.ts +107 -587
  110. package/util/types.d.ts +571 -0
  111. package/util.d.ts +158 -792
  112. package/v8.d.ts +82 -7
  113. package/vm.d.ts +267 -108
  114. package/wasi.d.ts +38 -2
  115. package/web-globals/abortcontroller.d.ts +75 -0
  116. package/web-globals/blob.d.ts +39 -0
  117. package/web-globals/console.d.ts +25 -0
  118. package/web-globals/crypto.d.ts +55 -0
  119. package/web-globals/domexception.d.ts +84 -0
  120. package/web-globals/encoding.d.ts +27 -0
  121. package/{dom-events.d.ts → web-globals/events.d.ts} +72 -50
  122. package/web-globals/fetch.d.ts +70 -0
  123. package/web-globals/importmeta.d.ts +29 -0
  124. package/web-globals/messaging.d.ts +39 -0
  125. package/web-globals/navigator.d.ts +41 -0
  126. package/web-globals/performance.d.ts +61 -0
  127. package/web-globals/storage.d.ts +40 -0
  128. package/web-globals/streams.d.ts +131 -0
  129. package/web-globals/timers.d.ts +60 -0
  130. package/web-globals/url.d.ts +40 -0
  131. package/worker_threads.d.ts +306 -349
  132. package/zlib.d.ts +59 -94
  133. package/ts5.1/compatibility/disposable.d.ts +0 -13
  134. package/ts5.1/index.d.ts +0 -100
package/http2.d.ts CHANGED
@@ -1,3 +1,18 @@
1
+ // biome-ignore-all lint: generated file
2
+ // biome-ignore-all assist: generated file
3
+ /* eslint-disable */
4
+ // @ts-ignore
5
+
6
+ /******************************************************************************
7
+ * GENERATED FILE, DO NOT MODIFY
8
+ * 这是生成的文件,千万不要修改
9
+ *
10
+ * @build-script/codegen - The Simple Code Generater
11
+ * https://github.com/GongT/baobao
12
+ *
13
+ ******************************************************************************/
14
+
15
+
1
16
  /**
2
17
  * The `node:http2` module provides an implementation of the [HTTP/2](https://tools.ietf.org/html/rfc7540) protocol.
3
18
  * It can be accessed using:
@@ -6,11 +21,12 @@
6
21
  * import http2 from 'node:http2';
7
22
  * ```
8
23
  * @since v8.4.0
9
- * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/http2.js)
24
+ * @see [source](https://github.com/nodejs/node/blob/v25.x/lib/http2.js)
10
25
  */
11
26
 
12
27
  declare module "node:http2" {
13
- import EventEmitter = require('node:events');
28
+ import { NonSharedBuffer } from 'node:buffer';
29
+ import { InternalEventEmitter } from 'node:events';
14
30
  import * as fs from '_not-use-node-type_fs';
15
31
  import * as net from 'node:net';
16
32
  import * as stream from 'node:stream';
@@ -22,50 +38,56 @@ declare module "node:http2" {
22
38
  OutgoingHttpHeaders,
23
39
  ServerResponse,
24
40
  } from 'node:http';
25
- export { OutgoingHttpHeaders } from "node:http";
26
- export interface IncomingHttpStatusHeader {
41
+ interface IncomingHttpStatusHeader {
27
42
  ":status"?: number | undefined;
28
43
  }
29
- export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders {
44
+ interface IncomingHttpHeaders extends Http1IncomingHttpHeaders {
30
45
  ":path"?: string | undefined;
31
46
  ":method"?: string | undefined;
32
47
  ":authority"?: string | undefined;
33
48
  ":scheme"?: string | undefined;
34
49
  }
35
50
  // Http2Stream
36
- export interface StreamPriorityOptions {
37
- exclusive?: boolean | undefined;
38
- parent?: number | undefined;
39
- weight?: number | undefined;
40
- silent?: boolean | undefined;
41
- }
42
- export interface StreamState {
51
+ interface StreamState {
43
52
  localWindowSize?: number | undefined;
44
53
  state?: number | undefined;
45
54
  localClose?: number | undefined;
46
55
  remoteClose?: number | undefined;
56
+ /** @deprecated */
47
57
  sumDependencyWeight?: number | undefined;
58
+ /** @deprecated */
48
59
  weight?: number | undefined;
49
60
  }
50
- export interface ServerStreamResponseOptions {
61
+ interface ServerStreamResponseOptions {
51
62
  endStream?: boolean | undefined;
52
63
  waitForTrailers?: boolean | undefined;
53
64
  }
54
- export interface StatOptions {
65
+ interface StatOptions {
55
66
  offset: number;
56
67
  length: number;
57
68
  }
58
- export interface ServerStreamFileResponseOptions {
59
- // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
60
- statCheck?(stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions): void | boolean;
69
+ interface ServerStreamFileResponseOptions {
70
+ statCheck?:
71
+ | ((stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions) => void)
72
+ | undefined;
61
73
  waitForTrailers?: boolean | undefined;
62
74
  offset?: number | undefined;
63
75
  length?: number | undefined;
64
76
  }
65
- export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions {
66
- onError?(err: NodeJS.ErrnoException): void;
77
+ interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions {
78
+ onError?: ((err: NodeJS.ErrnoException) => void) | undefined;
67
79
  }
68
- export interface Http2Stream extends stream.Duplex {
80
+ interface Http2StreamEventMap extends stream.DuplexEventMap {
81
+ "aborted": [];
82
+ "data": [chunk: string | NonSharedBuffer];
83
+ "frameError": [type: number, code: number, id: number];
84
+ "ready": [];
85
+ "streamClosed": [code: number];
86
+ "timeout": [];
87
+ "trailers": [trailers: IncomingHttpHeaders, flags: number];
88
+ "wantTrailers": [];
89
+ }
90
+ interface Http2Stream extends stream.Duplex {
69
91
  /**
70
92
  * Set to `true` if the `Http2Stream` instance was aborted abnormally. When set,
71
93
  * the `'aborted'` event will have been emitted.
@@ -152,10 +174,9 @@ declare module "node:http2" {
152
174
  */
153
175
  close(code?: number, callback?: () => void): void;
154
176
  /**
155
- * Updates the priority for this `Http2Stream` instance.
156
- * @since v8.4.0
177
+ * @deprecated Priority signaling is no longer supported in Node.js.
157
178
  */
158
- priority(options: StreamPriorityOptions): void;
179
+ priority(options: unknown): void;
159
180
  /**
160
181
  * ```js
161
182
  * import http2 from 'node:http2';
@@ -194,160 +215,122 @@ declare module "node:http2" {
194
215
  * @since v10.0.0
195
216
  */
196
217
  sendTrailers(headers: OutgoingHttpHeaders): void;
197
- addListener(event: "aborted", listener: () => void): this;
198
- addListener(event: "close", listener: () => void): this;
199
- addListener(event: "data", listener: (chunk: Buffer | string) => void): this;
200
- addListener(event: "drain", listener: () => void): this;
201
- addListener(event: "end", listener: () => void): this;
202
- addListener(event: "error", listener: (err: Error) => void): this;
203
- addListener(event: "finish", listener: () => void): this;
204
- addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
205
- addListener(event: "pipe", listener: (src: stream.Readable) => void): this;
206
- addListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
207
- addListener(event: "streamClosed", listener: (code: number) => void): this;
208
- addListener(event: "timeout", listener: () => void): this;
209
- addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
210
- addListener(event: "wantTrailers", listener: () => void): this;
211
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
212
- emit(event: "aborted"): boolean;
213
- emit(event: "close"): boolean;
214
- emit(event: "data", chunk: Buffer | string): boolean;
215
- emit(event: "drain"): boolean;
216
- emit(event: "end"): boolean;
217
- emit(event: "error", err: Error): boolean;
218
- emit(event: "finish"): boolean;
219
- emit(event: "frameError", frameType: number, errorCode: number): boolean;
220
- emit(event: "pipe", src: stream.Readable): boolean;
221
- emit(event: "unpipe", src: stream.Readable): boolean;
222
- emit(event: "streamClosed", code: number): boolean;
223
- emit(event: "timeout"): boolean;
224
- emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean;
225
- emit(event: "wantTrailers"): boolean;
226
- emit(event: string | symbol, ...args: any[]): boolean;
227
- on(event: "aborted", listener: () => void): this;
228
- on(event: "close", listener: () => void): this;
229
- on(event: "data", listener: (chunk: Buffer | string) => void): this;
230
- on(event: "drain", listener: () => void): this;
231
- on(event: "end", listener: () => void): this;
232
- on(event: "error", listener: (err: Error) => void): this;
233
- on(event: "finish", listener: () => void): this;
234
- on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
235
- on(event: "pipe", listener: (src: stream.Readable) => void): this;
236
- on(event: "unpipe", listener: (src: stream.Readable) => void): this;
237
- on(event: "streamClosed", listener: (code: number) => void): this;
238
- on(event: "timeout", listener: () => void): this;
239
- on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
240
- on(event: "wantTrailers", listener: () => void): this;
241
- on(event: string | symbol, listener: (...args: any[]) => void): this;
242
- once(event: "aborted", listener: () => void): this;
243
- once(event: "close", listener: () => void): this;
244
- once(event: "data", listener: (chunk: Buffer | string) => void): this;
245
- once(event: "drain", listener: () => void): this;
246
- once(event: "end", listener: () => void): this;
247
- once(event: "error", listener: (err: Error) => void): this;
248
- once(event: "finish", listener: () => void): this;
249
- once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
250
- once(event: "pipe", listener: (src: stream.Readable) => void): this;
251
- once(event: "unpipe", listener: (src: stream.Readable) => void): this;
252
- once(event: "streamClosed", listener: (code: number) => void): this;
253
- once(event: "timeout", listener: () => void): this;
254
- once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
255
- once(event: "wantTrailers", listener: () => void): this;
256
- once(event: string | symbol, listener: (...args: any[]) => void): this;
257
- prependListener(event: "aborted", listener: () => void): this;
258
- prependListener(event: "close", listener: () => void): this;
259
- prependListener(event: "data", listener: (chunk: Buffer | string) => void): this;
260
- prependListener(event: "drain", listener: () => void): this;
261
- prependListener(event: "end", listener: () => void): this;
262
- prependListener(event: "error", listener: (err: Error) => void): this;
263
- prependListener(event: "finish", listener: () => void): this;
264
- prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
265
- prependListener(event: "pipe", listener: (src: stream.Readable) => void): this;
266
- prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
267
- prependListener(event: "streamClosed", listener: (code: number) => void): this;
268
- prependListener(event: "timeout", listener: () => void): this;
269
- prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
270
- prependListener(event: "wantTrailers", listener: () => void): this;
271
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
272
- prependOnceListener(event: "aborted", listener: () => void): this;
273
- prependOnceListener(event: "close", listener: () => void): this;
274
- prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this;
275
- prependOnceListener(event: "drain", listener: () => void): this;
276
- prependOnceListener(event: "end", listener: () => void): this;
277
- prependOnceListener(event: "error", listener: (err: Error) => void): this;
278
- prependOnceListener(event: "finish", listener: () => void): this;
279
- prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
280
- prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this;
281
- prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
282
- prependOnceListener(event: "streamClosed", listener: (code: number) => void): this;
283
- prependOnceListener(event: "timeout", listener: () => void): this;
284
- prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
285
- prependOnceListener(event: "wantTrailers", listener: () => void): this;
286
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
218
+ // #region InternalEventEmitter
219
+ addListener<E extends keyof Http2StreamEventMap>(
220
+ eventName: E,
221
+ listener: (...args: Http2StreamEventMap[E]) => void,
222
+ ): this;
223
+ addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
224
+ emit<E extends keyof Http2StreamEventMap>(eventName: E, ...args: Http2StreamEventMap[E]): boolean;
225
+ emit(eventName: string | symbol, ...args: any[]): boolean;
226
+ listenerCount<E extends keyof Http2StreamEventMap>(
227
+ eventName: E,
228
+ listener?: (...args: Http2StreamEventMap[E]) => void,
229
+ ): number;
230
+ listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number;
231
+ listeners<E extends keyof Http2StreamEventMap>(eventName: E): ((...args: Http2StreamEventMap[E]) => void)[];
232
+ listeners(eventName: string | symbol): ((...args: any[]) => void)[];
233
+ off<E extends keyof Http2StreamEventMap>(
234
+ eventName: E,
235
+ listener: (...args: Http2StreamEventMap[E]) => void,
236
+ ): this;
237
+ off(eventName: string | symbol, listener: (...args: any[]) => void): this;
238
+ on<E extends keyof Http2StreamEventMap>(
239
+ eventName: E,
240
+ listener: (...args: Http2StreamEventMap[E]) => void,
241
+ ): this;
242
+ on(eventName: string | symbol, listener: (...args: any[]) => void): this;
243
+ once<E extends keyof Http2StreamEventMap>(
244
+ eventName: E,
245
+ listener: (...args: Http2StreamEventMap[E]) => void,
246
+ ): this;
247
+ once(eventName: string | symbol, listener: (...args: any[]) => void): this;
248
+ prependListener<E extends keyof Http2StreamEventMap>(
249
+ eventName: E,
250
+ listener: (...args: Http2StreamEventMap[E]) => void,
251
+ ): this;
252
+ prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
253
+ prependOnceListener<E extends keyof Http2StreamEventMap>(
254
+ eventName: E,
255
+ listener: (...args: Http2StreamEventMap[E]) => void,
256
+ ): this;
257
+ prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
258
+ rawListeners<E extends keyof Http2StreamEventMap>(eventName: E): ((...args: Http2StreamEventMap[E]) => void)[];
259
+ rawListeners(eventName: string | symbol): ((...args: any[]) => void)[];
260
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
261
+ removeAllListeners<E extends keyof Http2StreamEventMap>(eventName?: E): this;
262
+ removeAllListeners(eventName?: string | symbol): this;
263
+ removeListener<E extends keyof Http2StreamEventMap>(
264
+ eventName: E,
265
+ listener: (...args: Http2StreamEventMap[E]) => void,
266
+ ): this;
267
+ removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
268
+ // #endregion
287
269
  }
288
- export interface ClientHttp2Stream extends Http2Stream {
289
- addListener(event: "continue", listener: () => {}): this;
290
- addListener(
291
- event: "headers",
292
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
293
- ): this;
294
- addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
295
- addListener(
296
- event: "response",
297
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
298
- ): this;
299
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
300
- emit(event: "continue"): boolean;
301
- emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean;
302
- emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean;
303
- emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean;
304
- emit(event: string | symbol, ...args: any[]): boolean;
305
- on(event: "continue", listener: () => {}): this;
306
- on(
307
- event: "headers",
308
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
309
- ): this;
310
- on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
311
- on(
312
- event: "response",
313
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
314
- ): this;
315
- on(event: string | symbol, listener: (...args: any[]) => void): this;
316
- once(event: "continue", listener: () => {}): this;
317
- once(
318
- event: "headers",
319
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
320
- ): this;
321
- once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
322
- once(
323
- event: "response",
324
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
325
- ): this;
326
- once(event: string | symbol, listener: (...args: any[]) => void): this;
327
- prependListener(event: "continue", listener: () => {}): this;
328
- prependListener(
329
- event: "headers",
330
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
331
- ): this;
332
- prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
333
- prependListener(
334
- event: "response",
335
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
336
- ): this;
337
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
338
- prependOnceListener(event: "continue", listener: () => {}): this;
339
- prependOnceListener(
340
- event: "headers",
341
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
342
- ): this;
343
- prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
344
- prependOnceListener(
345
- event: "response",
346
- listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void,
347
- ): this;
348
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
270
+ interface ClientHttp2StreamEventMap extends Http2StreamEventMap {
271
+ "continue": [];
272
+ "headers": [headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number, rawHeaders: string[]];
273
+ "push": [headers: IncomingHttpHeaders, flags: number];
274
+ "response": [headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number, rawHeaders: string[]];
275
+ }
276
+ interface ClientHttp2Stream extends Http2Stream {
277
+ // #region InternalEventEmitter
278
+ addListener<E extends keyof ClientHttp2StreamEventMap>(
279
+ eventName: E,
280
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
281
+ ): this;
282
+ addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
283
+ emit<E extends keyof ClientHttp2StreamEventMap>(eventName: E, ...args: ClientHttp2StreamEventMap[E]): boolean;
284
+ emit(eventName: string | symbol, ...args: any[]): boolean;
285
+ listenerCount<E extends keyof ClientHttp2StreamEventMap>(
286
+ eventName: E,
287
+ listener?: (...args: ClientHttp2StreamEventMap[E]) => void,
288
+ ): number;
289
+ listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number;
290
+ listeners<E extends keyof ClientHttp2StreamEventMap>(
291
+ eventName: E,
292
+ ): ((...args: ClientHttp2StreamEventMap[E]) => void)[];
293
+ listeners(eventName: string | symbol): ((...args: any[]) => void)[];
294
+ off<E extends keyof ClientHttp2StreamEventMap>(
295
+ eventName: E,
296
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
297
+ ): this;
298
+ off(eventName: string | symbol, listener: (...args: any[]) => void): this;
299
+ on<E extends keyof ClientHttp2StreamEventMap>(
300
+ eventName: E,
301
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
302
+ ): this;
303
+ on(eventName: string | symbol, listener: (...args: any[]) => void): this;
304
+ once<E extends keyof ClientHttp2StreamEventMap>(
305
+ eventName: E,
306
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
307
+ ): this;
308
+ once(eventName: string | symbol, listener: (...args: any[]) => void): this;
309
+ prependListener<E extends keyof ClientHttp2StreamEventMap>(
310
+ eventName: E,
311
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
312
+ ): this;
313
+ prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
314
+ prependOnceListener<E extends keyof ClientHttp2StreamEventMap>(
315
+ eventName: E,
316
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
317
+ ): this;
318
+ prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
319
+ rawListeners<E extends keyof ClientHttp2StreamEventMap>(
320
+ eventName: E,
321
+ ): ((...args: ClientHttp2StreamEventMap[E]) => void)[];
322
+ rawListeners(eventName: string | symbol): ((...args: any[]) => void)[];
323
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
324
+ removeAllListeners<E extends keyof ClientHttp2StreamEventMap>(eventName?: E): this;
325
+ removeAllListeners(eventName?: string | symbol): this;
326
+ removeListener<E extends keyof ClientHttp2StreamEventMap>(
327
+ eventName: E,
328
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
329
+ ): this;
330
+ removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
331
+ // #endregion
349
332
  }
350
- export interface ServerHttp2Stream extends Http2Stream {
333
+ interface ServerHttp2Stream extends Http2Stream {
351
334
  /**
352
335
  * True if headers were sent, false otherwise (read-only).
353
336
  * @since v8.4.0
@@ -396,7 +379,7 @@ declare module "node:http2" {
396
379
  ): void;
397
380
  pushStream(
398
381
  headers: OutgoingHttpHeaders,
399
- options?: StreamPriorityOptions,
382
+ options?: Pick<ClientSessionRequestOptions, "exclusive" | "parent">,
400
383
  callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void,
401
384
  ): void;
402
385
  /**
@@ -429,7 +412,7 @@ declare module "node:http2" {
429
412
  * ```
430
413
  * @since v8.4.0
431
414
  */
432
- respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void;
415
+ respond(headers?: OutgoingHttpHeaders | readonly string[], options?: ServerStreamResponseOptions): void;
433
416
  /**
434
417
  * Initiates a response whose data is read from the given file descriptor. No
435
418
  * validation is performed on the given file descriptor. If an error occurs while
@@ -617,7 +600,7 @@ declare module "node:http2" {
617
600
  ): void;
618
601
  }
619
602
  // Http2Session
620
- export interface Settings {
603
+ interface Settings {
621
604
  headerTableSize?: number | undefined;
622
605
  enablePush?: boolean | undefined;
623
606
  initialWindowSize?: number | undefined;
@@ -626,15 +609,14 @@ declare module "node:http2" {
626
609
  maxHeaderListSize?: number | undefined;
627
610
  enableConnectProtocol?: boolean | undefined;
628
611
  }
629
- export interface ClientSessionRequestOptions {
612
+ interface ClientSessionRequestOptions {
630
613
  endStream?: boolean | undefined;
631
614
  exclusive?: boolean | undefined;
632
615
  parent?: number | undefined;
633
- weight?: number | undefined;
634
616
  waitForTrailers?: boolean | undefined;
635
617
  signal?: AbortSignal | undefined;
636
618
  }
637
- export interface SessionState {
619
+ interface SessionState {
638
620
  effectiveLocalWindowSize?: number | undefined;
639
621
  effectiveRecvDataLength?: number | undefined;
640
622
  nextStreamID?: number | undefined;
@@ -645,7 +627,24 @@ declare module "node:http2" {
645
627
  deflateDynamicTableSize?: number | undefined;
646
628
  inflateDynamicTableSize?: number | undefined;
647
629
  }
648
- export interface Http2Session extends EventEmitter {
630
+ interface Http2SessionEventMap {
631
+ "close": [];
632
+ "connect": [session: Http2Session, socket: net.Socket | tls.TLSSocket];
633
+ "error": [err: Error];
634
+ "frameError": [type: number, code: number, id: number];
635
+ "goaway": [errorCode: number, lastStreamID: number, opaqueData?: NonSharedBuffer];
636
+ "localSettings": [settings: Settings];
637
+ "ping": [payload: Buffer];
638
+ "remoteSettings": [settings: Settings];
639
+ "stream": [
640
+ stream: Http2Stream,
641
+ headers: IncomingHttpHeaders & IncomingHttpStatusHeader,
642
+ flags: number,
643
+ rawHeaders: string[],
644
+ ];
645
+ "timeout": [];
646
+ }
647
+ interface Http2Session extends InternalEventEmitter<Http2SessionEventMap> {
649
648
  /**
650
649
  * Value will be `undefined` if the `Http2Session` is not yet connected to a
651
650
  * socket, `h2c` if the `Http2Session` is not connected to a `TLSSocket`, or
@@ -790,10 +789,10 @@ declare module "node:http2" {
790
789
  * @since v8.9.3
791
790
  * @param payload Optional ping payload.
792
791
  */
793
- ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean;
792
+ ping(callback: (err: Error | null, duration: number, payload: NonSharedBuffer) => void): boolean;
794
793
  ping(
795
794
  payload: NodeJS.ArrayBufferView,
796
- callback: (err: Error | null, duration: number, payload: Buffer) => void,
795
+ callback: (err: Error | null, duration: number, payload: NonSharedBuffer) => void,
797
796
  ): boolean;
798
797
  /**
799
798
  * Calls `ref()` on this `Http2Session` instance's underlying `net.Socket`.
@@ -847,80 +846,19 @@ declare module "node:http2" {
847
846
  * @since v9.4.0
848
847
  */
849
848
  unref(): void;
850
- addListener(event: "close", listener: () => void): this;
851
- addListener(event: "error", listener: (err: Error) => void): this;
852
- addListener(
853
- event: "frameError",
854
- listener: (frameType: number, errorCode: number, streamID: number) => void,
855
- ): this;
856
- addListener(
857
- event: "goaway",
858
- listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void,
859
- ): this;
860
- addListener(event: "localSettings", listener: (settings: Settings) => void): this;
861
- addListener(event: "ping", listener: () => void): this;
862
- addListener(event: "remoteSettings", listener: (settings: Settings) => void): this;
863
- addListener(event: "timeout", listener: () => void): this;
864
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
865
- emit(event: "close"): boolean;
866
- emit(event: "error", err: Error): boolean;
867
- emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean;
868
- emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData?: Buffer): boolean;
869
- emit(event: "localSettings", settings: Settings): boolean;
870
- emit(event: "ping"): boolean;
871
- emit(event: "remoteSettings", settings: Settings): boolean;
872
- emit(event: "timeout"): boolean;
873
- emit(event: string | symbol, ...args: any[]): boolean;
874
- on(event: "close", listener: () => void): this;
875
- on(event: "error", listener: (err: Error) => void): this;
876
- on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
877
- on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void): this;
878
- on(event: "localSettings", listener: (settings: Settings) => void): this;
879
- on(event: "ping", listener: () => void): this;
880
- on(event: "remoteSettings", listener: (settings: Settings) => void): this;
881
- on(event: "timeout", listener: () => void): this;
882
- on(event: string | symbol, listener: (...args: any[]) => void): this;
883
- once(event: "close", listener: () => void): this;
884
- once(event: "error", listener: (err: Error) => void): this;
885
- once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
886
- once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void): this;
887
- once(event: "localSettings", listener: (settings: Settings) => void): this;
888
- once(event: "ping", listener: () => void): this;
889
- once(event: "remoteSettings", listener: (settings: Settings) => void): this;
890
- once(event: "timeout", listener: () => void): this;
891
- once(event: string | symbol, listener: (...args: any[]) => void): this;
892
- prependListener(event: "close", listener: () => void): this;
893
- prependListener(event: "error", listener: (err: Error) => void): this;
894
- prependListener(
895
- event: "frameError",
896
- listener: (frameType: number, errorCode: number, streamID: number) => void,
897
- ): this;
898
- prependListener(
899
- event: "goaway",
900
- listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void,
901
- ): this;
902
- prependListener(event: "localSettings", listener: (settings: Settings) => void): this;
903
- prependListener(event: "ping", listener: () => void): this;
904
- prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this;
905
- prependListener(event: "timeout", listener: () => void): this;
906
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
907
- prependOnceListener(event: "close", listener: () => void): this;
908
- prependOnceListener(event: "error", listener: (err: Error) => void): this;
909
- prependOnceListener(
910
- event: "frameError",
911
- listener: (frameType: number, errorCode: number, streamID: number) => void,
912
- ): this;
913
- prependOnceListener(
914
- event: "goaway",
915
- listener: (errorCode: number, lastStreamID: number, opaqueData?: Buffer) => void,
916
- ): this;
917
- prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this;
918
- prependOnceListener(event: "ping", listener: () => void): this;
919
- prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this;
920
- prependOnceListener(event: "timeout", listener: () => void): this;
921
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
922
849
  }
923
- export interface ClientHttp2Session extends Http2Session {
850
+ interface ClientHttp2SessionEventMap extends Http2SessionEventMap {
851
+ "altsvc": [alt: string, origin: string, streamId: number];
852
+ "connect": [session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket];
853
+ "origin": [origins: string[]];
854
+ "stream": [
855
+ stream: ClientHttp2Stream,
856
+ headers: IncomingHttpHeaders & IncomingHttpStatusHeader,
857
+ flags: number,
858
+ rawHeaders: string[],
859
+ ];
860
+ }
861
+ interface ClientHttp2Session extends Http2Session {
924
862
  /**
925
863
  * For HTTP/2 Client `Http2Session` instances only, the `http2session.request()` creates and returns an `Http2Stream` instance that can be used to send an
926
864
  * HTTP/2 request to the connected server.
@@ -970,93 +908,78 @@ declare module "node:http2" {
970
908
  headers?: OutgoingHttpHeaders | readonly string[],
971
909
  options?: ClientSessionRequestOptions,
972
910
  ): ClientHttp2Stream;
973
- addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
974
- addListener(event: "origin", listener: (origins: string[]) => void): this;
975
- addListener(
976
- event: "connect",
977
- listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,
978
- ): this;
979
- addListener(
980
- event: "stream",
981
- listener: (
982
- stream: ClientHttp2Stream,
983
- headers: IncomingHttpHeaders & IncomingHttpStatusHeader,
984
- flags: number,
985
- ) => void,
986
- ): this;
987
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
988
- emit(event: "altsvc", alt: string, origin: string, stream: number): boolean;
989
- emit(event: "origin", origins: readonly string[]): boolean;
990
- emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean;
991
- emit(
992
- event: "stream",
993
- stream: ClientHttp2Stream,
994
- headers: IncomingHttpHeaders & IncomingHttpStatusHeader,
995
- flags: number,
996
- ): boolean;
997
- emit(event: string | symbol, ...args: any[]): boolean;
998
- on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
999
- on(event: "origin", listener: (origins: string[]) => void): this;
1000
- on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
1001
- on(
1002
- event: "stream",
1003
- listener: (
1004
- stream: ClientHttp2Stream,
1005
- headers: IncomingHttpHeaders & IncomingHttpStatusHeader,
1006
- flags: number,
1007
- ) => void,
1008
- ): this;
1009
- on(event: string | symbol, listener: (...args: any[]) => void): this;
1010
- once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
1011
- once(event: "origin", listener: (origins: string[]) => void): this;
1012
- once(
1013
- event: "connect",
1014
- listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,
1015
- ): this;
1016
- once(
1017
- event: "stream",
1018
- listener: (
1019
- stream: ClientHttp2Stream,
1020
- headers: IncomingHttpHeaders & IncomingHttpStatusHeader,
1021
- flags: number,
1022
- ) => void,
1023
- ): this;
1024
- once(event: string | symbol, listener: (...args: any[]) => void): this;
1025
- prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
1026
- prependListener(event: "origin", listener: (origins: string[]) => void): this;
1027
- prependListener(
1028
- event: "connect",
1029
- listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,
1030
- ): this;
1031
- prependListener(
1032
- event: "stream",
1033
- listener: (
1034
- stream: ClientHttp2Stream,
1035
- headers: IncomingHttpHeaders & IncomingHttpStatusHeader,
1036
- flags: number,
1037
- ) => void,
1038
- ): this;
1039
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
1040
- prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
1041
- prependOnceListener(event: "origin", listener: (origins: string[]) => void): this;
1042
- prependOnceListener(
1043
- event: "connect",
1044
- listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,
1045
- ): this;
1046
- prependOnceListener(
1047
- event: "stream",
1048
- listener: (
1049
- stream: ClientHttp2Stream,
1050
- headers: IncomingHttpHeaders & IncomingHttpStatusHeader,
1051
- flags: number,
1052
- ) => void,
1053
- ): this;
1054
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
911
+ // #region InternalEventEmitter
912
+ addListener<E extends keyof ClientHttp2StreamEventMap>(
913
+ eventName: E,
914
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
915
+ ): this;
916
+ addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
917
+ emit<E extends keyof ClientHttp2StreamEventMap>(eventName: E, ...args: ClientHttp2StreamEventMap[E]): boolean;
918
+ emit(eventName: string | symbol, ...args: any[]): boolean;
919
+ listenerCount<E extends keyof ClientHttp2StreamEventMap>(
920
+ eventName: E,
921
+ listener?: (...args: ClientHttp2StreamEventMap[E]) => void,
922
+ ): number;
923
+ listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number;
924
+ listeners<E extends keyof ClientHttp2StreamEventMap>(
925
+ eventName: E,
926
+ ): ((...args: ClientHttp2StreamEventMap[E]) => void)[];
927
+ listeners(eventName: string | symbol): ((...args: any[]) => void)[];
928
+ off<E extends keyof ClientHttp2StreamEventMap>(
929
+ eventName: E,
930
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
931
+ ): this;
932
+ off(eventName: string | symbol, listener: (...args: any[]) => void): this;
933
+ on<E extends keyof ClientHttp2StreamEventMap>(
934
+ eventName: E,
935
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
936
+ ): this;
937
+ on(eventName: string | symbol, listener: (...args: any[]) => void): this;
938
+ once<E extends keyof ClientHttp2StreamEventMap>(
939
+ eventName: E,
940
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
941
+ ): this;
942
+ once(eventName: string | symbol, listener: (...args: any[]) => void): this;
943
+ prependListener<E extends keyof ClientHttp2StreamEventMap>(
944
+ eventName: E,
945
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
946
+ ): this;
947
+ prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
948
+ prependOnceListener<E extends keyof ClientHttp2StreamEventMap>(
949
+ eventName: E,
950
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
951
+ ): this;
952
+ prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
953
+ rawListeners<E extends keyof ClientHttp2StreamEventMap>(
954
+ eventName: E,
955
+ ): ((...args: ClientHttp2StreamEventMap[E]) => void)[];
956
+ rawListeners(eventName: string | symbol): ((...args: any[]) => void)[];
957
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
958
+ removeAllListeners<E extends keyof ClientHttp2StreamEventMap>(eventName?: E): this;
959
+ removeAllListeners(eventName?: string | symbol): this;
960
+ removeListener<E extends keyof ClientHttp2StreamEventMap>(
961
+ eventName: E,
962
+ listener: (...args: ClientHttp2StreamEventMap[E]) => void,
963
+ ): this;
964
+ removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
965
+ // #endregion
1055
966
  }
1056
- export interface AlternativeServiceOptions {
967
+ interface AlternativeServiceOptions {
1057
968
  origin: number | string | url.URL;
1058
969
  }
1059
- export interface ServerHttp2Session<
970
+ interface ServerHttp2SessionEventMap<
971
+ Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
972
+ Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
973
+ Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
974
+ Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
975
+ > extends Http2SessionEventMap {
976
+ "connect": [
977
+ session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
978
+ socket: net.Socket | tls.TLSSocket,
979
+ ];
980
+ "stream": [stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number, rawHeaders: string[]];
981
+ }
982
+ interface ServerHttp2Session<
1060
983
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1061
984
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1062
985
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
@@ -1157,76 +1080,87 @@ declare module "node:http2" {
1157
1080
  }
1158
1081
  >
1159
1082
  ): void;
1160
- addListener(
1161
- event: "connect",
1083
+ // #region InternalEventEmitter
1084
+ addListener<E extends keyof ServerHttp2SessionEventMap>(
1085
+ eventName: E,
1162
1086
  listener: (
1163
- session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1164
- socket: net.Socket | tls.TLSSocket,
1087
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1165
1088
  ) => void,
1166
1089
  ): this;
1167
- addListener(
1168
- event: "stream",
1169
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1170
- ): this;
1171
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
1172
- emit(
1173
- event: "connect",
1174
- session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1175
- socket: net.Socket | tls.TLSSocket,
1090
+ addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1091
+ emit<E extends keyof ServerHttp2SessionEventMap>(
1092
+ eventName: E,
1093
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1176
1094
  ): boolean;
1177
- emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;
1178
- emit(event: string | symbol, ...args: any[]): boolean;
1179
- on(
1180
- event: "connect",
1095
+ emit(eventName: string | symbol, ...args: any[]): boolean;
1096
+ listenerCount<E extends keyof ServerHttp2SessionEventMap>(
1097
+ eventName: E,
1098
+ listener?: (
1099
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1100
+ ) => void,
1101
+ ): number;
1102
+ listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number;
1103
+ listeners<E extends keyof ServerHttp2SessionEventMap>(
1104
+ eventName: E,
1105
+ ): ((
1106
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1107
+ ) => void)[];
1108
+ listeners(eventName: string | symbol): ((...args: any[]) => void)[];
1109
+ off<E extends keyof ServerHttp2SessionEventMap>(
1110
+ eventName: E,
1181
1111
  listener: (
1182
- session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1183
- socket: net.Socket | tls.TLSSocket,
1112
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1184
1113
  ) => void,
1185
1114
  ): this;
1186
- on(
1187
- event: "stream",
1188
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1189
- ): this;
1190
- on(event: string | symbol, listener: (...args: any[]) => void): this;
1191
- once(
1192
- event: "connect",
1115
+ off(eventName: string | symbol, listener: (...args: any[]) => void): this;
1116
+ on<E extends keyof ServerHttp2SessionEventMap>(
1117
+ eventName: E,
1193
1118
  listener: (
1194
- session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1195
- socket: net.Socket | tls.TLSSocket,
1119
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1196
1120
  ) => void,
1197
1121
  ): this;
1198
- once(
1199
- event: "stream",
1200
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1201
- ): this;
1202
- once(event: string | symbol, listener: (...args: any[]) => void): this;
1203
- prependListener(
1204
- event: "connect",
1122
+ on(eventName: string | symbol, listener: (...args: any[]) => void): this;
1123
+ once<E extends keyof ServerHttp2SessionEventMap>(
1124
+ eventName: E,
1205
1125
  listener: (
1206
- session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1207
- socket: net.Socket | tls.TLSSocket,
1126
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1208
1127
  ) => void,
1209
1128
  ): this;
1210
- prependListener(
1211
- event: "stream",
1212
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1129
+ once(eventName: string | symbol, listener: (...args: any[]) => void): this;
1130
+ prependListener<E extends keyof ServerHttp2SessionEventMap>(
1131
+ eventName: E,
1132
+ listener: (
1133
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1134
+ ) => void,
1213
1135
  ): this;
1214
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
1215
- prependOnceListener(
1216
- event: "connect",
1136
+ prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1137
+ prependOnceListener<E extends keyof ServerHttp2SessionEventMap>(
1138
+ eventName: E,
1217
1139
  listener: (
1218
- session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1219
- socket: net.Socket | tls.TLSSocket,
1140
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1220
1141
  ) => void,
1221
1142
  ): this;
1222
- prependOnceListener(
1223
- event: "stream",
1224
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1143
+ prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1144
+ rawListeners<E extends keyof ServerHttp2SessionEventMap>(
1145
+ eventName: E,
1146
+ ): ((
1147
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1148
+ ) => void)[];
1149
+ rawListeners(eventName: string | symbol): ((...args: any[]) => void)[];
1150
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
1151
+ removeAllListeners<E extends keyof ServerHttp2SessionEventMap>(eventName?: E): this;
1152
+ removeAllListeners(eventName?: string | symbol): this;
1153
+ removeListener<E extends keyof ServerHttp2SessionEventMap>(
1154
+ eventName: E,
1155
+ listener: (
1156
+ ...args: ServerHttp2SessionEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1157
+ ) => void,
1225
1158
  ): this;
1226
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
1159
+ removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1160
+ // #endregion
1227
1161
  }
1228
1162
  // Http2Server
1229
- export interface SessionOptions {
1163
+ interface SessionOptions {
1230
1164
  /**
1231
1165
  * Sets the maximum dynamic table size for deflating header fields.
1232
1166
  * @default 4Kib
@@ -1295,8 +1229,16 @@ declare module "node:http2" {
1295
1229
  * @default 100000
1296
1230
  */
1297
1231
  unknownProtocolTimeout?: number | undefined;
1232
+ /**
1233
+ * If `true`, it turns on strict leading
1234
+ * and trailing whitespace validation for HTTP/2 header field names and values
1235
+ * as per [RFC-9113](https://www.rfc-editor.org/rfc/rfc9113.html#section-8.2.1).
1236
+ * @since v24.2.0
1237
+ * @default true
1238
+ */
1239
+ strictFieldWhitespaceValidation?: boolean | undefined;
1298
1240
  }
1299
- export interface ClientSessionOptions extends SessionOptions {
1241
+ interface ClientSessionOptions extends SessionOptions {
1300
1242
  /**
1301
1243
  * Sets the maximum number of reserved push streams the client will accept at any given time.
1302
1244
  * Once the current number of currently reserved push streams exceeds reaches this limit,
@@ -1318,7 +1260,7 @@ declare module "node:http2" {
1318
1260
  */
1319
1261
  protocol?: "http:" | "https:" | undefined;
1320
1262
  }
1321
- export interface ServerSessionOptions<
1263
+ interface ServerSessionOptions<
1322
1264
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1323
1265
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1324
1266
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
@@ -1331,20 +1273,20 @@ declare module "node:http2" {
1331
1273
  Http2ServerRequest?: Http2Request | undefined;
1332
1274
  Http2ServerResponse?: Http2Response | undefined;
1333
1275
  }
1334
- export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions {}
1335
- export interface SecureServerSessionOptions<
1276
+ interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions {}
1277
+ interface SecureServerSessionOptions<
1336
1278
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1337
1279
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1338
1280
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
1339
1281
  Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
1340
1282
  > extends ServerSessionOptions<Http1Request, Http1Response, Http2Request, Http2Response>, tls.TlsOptions {}
1341
- export interface ServerOptions<
1283
+ interface ServerOptions<
1342
1284
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1343
1285
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1344
1286
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
1345
1287
  Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
1346
1288
  > extends ServerSessionOptions<Http1Request, Http1Response, Http2Request, Http2Response> {}
1347
- export interface SecureServerOptions<
1289
+ interface SecureServerOptions<
1348
1290
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1349
1291
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1350
1292
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
@@ -1353,7 +1295,7 @@ declare module "node:http2" {
1353
1295
  allowHTTP1?: boolean | undefined;
1354
1296
  origins?: string[] | undefined;
1355
1297
  }
1356
- interface HTTP2ServerCommon {
1298
+ interface Http2ServerCommon {
1357
1299
  setTimeout(msec?: number, callback?: () => void): this;
1358
1300
  /**
1359
1301
  * Throws ERR_HTTP2_INVALID_SETTING_VALUE for invalid settings values.
@@ -1361,243 +1303,194 @@ declare module "node:http2" {
1361
1303
  */
1362
1304
  updateSettings(settings: Settings): void;
1363
1305
  }
1364
- export interface Http2Server<
1306
+ interface Http2ServerEventMap<
1365
1307
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1366
1308
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1367
1309
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
1368
1310
  Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
1369
- > extends net.Server, HTTP2ServerCommon {
1370
- addListener(
1371
- event: "checkContinue",
1372
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1373
- ): this;
1374
- addListener(
1375
- event: "request",
1376
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1377
- ): this;
1378
- addListener(
1379
- event: "session",
1380
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1381
- ): this;
1382
- addListener(event: "sessionError", listener: (err: Error) => void): this;
1383
- addListener(
1384
- event: "stream",
1385
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1311
+ > extends net.ServerEventMap, Pick<Http2SessionEventMap, "stream" | "timeout"> {
1312
+ "checkContinue": [request: InstanceType<Http2Request>, response: InstanceType<Http2Response>];
1313
+ "request": [request: InstanceType<Http2Request>, response: InstanceType<Http2Response>];
1314
+ "session": [session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>];
1315
+ "sessionError": [err: Error];
1316
+ }
1317
+ interface Http2Server<
1318
+ Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1319
+ Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1320
+ Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
1321
+ Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
1322
+ > extends net.Server, Http2ServerCommon {
1323
+ // #region InternalEventEmitter
1324
+ addListener<E extends keyof Http2ServerEventMap>(
1325
+ eventName: E,
1326
+ listener: (
1327
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1328
+ ) => void,
1386
1329
  ): this;
1387
- addListener(event: "timeout", listener: () => void): this;
1388
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
1389
- emit(
1390
- event: "checkContinue",
1391
- request: InstanceType<Http2Request>,
1392
- response: InstanceType<Http2Response>,
1393
- ): boolean;
1394
- emit(event: "request", request: InstanceType<Http2Request>, response: InstanceType<Http2Response>): boolean;
1395
- emit(
1396
- event: "session",
1397
- session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1330
+ addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1331
+ emit<E extends keyof Http2ServerEventMap>(
1332
+ eventName: E,
1333
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1398
1334
  ): boolean;
1399
- emit(event: "sessionError", err: Error): boolean;
1400
- emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;
1401
- emit(event: "timeout"): boolean;
1402
- emit(event: string | symbol, ...args: any[]): boolean;
1403
- on(
1404
- event: "checkContinue",
1405
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1406
- ): this;
1407
- on(
1408
- event: "request",
1409
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1410
- ): this;
1411
- on(
1412
- event: "session",
1413
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1414
- ): this;
1415
- on(event: "sessionError", listener: (err: Error) => void): this;
1416
- on(
1417
- event: "stream",
1418
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1419
- ): this;
1420
- on(event: "timeout", listener: () => void): this;
1421
- on(event: string | symbol, listener: (...args: any[]) => void): this;
1422
- once(
1423
- event: "checkContinue",
1424
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1425
- ): this;
1426
- once(
1427
- event: "request",
1428
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1429
- ): this;
1430
- once(
1431
- event: "session",
1432
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1433
- ): this;
1434
- once(event: "sessionError", listener: (err: Error) => void): this;
1435
- once(
1436
- event: "stream",
1437
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1438
- ): this;
1439
- once(event: "timeout", listener: () => void): this;
1440
- once(event: string | symbol, listener: (...args: any[]) => void): this;
1441
- prependListener(
1442
- event: "checkContinue",
1443
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1444
- ): this;
1445
- prependListener(
1446
- event: "request",
1447
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1448
- ): this;
1449
- prependListener(
1450
- event: "session",
1451
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1335
+ emit(eventName: string | symbol, ...args: any[]): boolean;
1336
+ listenerCount<E extends keyof Http2ServerEventMap>(
1337
+ eventName: E,
1338
+ listener?: (
1339
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1340
+ ) => void,
1341
+ ): number;
1342
+ listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number;
1343
+ listeners<E extends keyof Http2ServerEventMap>(
1344
+ eventName: E,
1345
+ ): ((...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]) => void)[];
1346
+ listeners(eventName: string | symbol): ((...args: any[]) => void)[];
1347
+ off<E extends keyof Http2ServerEventMap>(
1348
+ eventName: E,
1349
+ listener: (
1350
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1351
+ ) => void,
1452
1352
  ): this;
1453
- prependListener(event: "sessionError", listener: (err: Error) => void): this;
1454
- prependListener(
1455
- event: "stream",
1456
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1353
+ off(eventName: string | symbol, listener: (...args: any[]) => void): this;
1354
+ on<E extends keyof Http2ServerEventMap>(
1355
+ eventName: E,
1356
+ listener: (
1357
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1358
+ ) => void,
1457
1359
  ): this;
1458
- prependListener(event: "timeout", listener: () => void): this;
1459
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
1460
- prependOnceListener(
1461
- event: "checkContinue",
1462
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1360
+ on(eventName: string | symbol, listener: (...args: any[]) => void): this;
1361
+ once<E extends keyof Http2ServerEventMap>(
1362
+ eventName: E,
1363
+ listener: (
1364
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1365
+ ) => void,
1463
1366
  ): this;
1464
- prependOnceListener(
1465
- event: "request",
1466
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1367
+ once(eventName: string | symbol, listener: (...args: any[]) => void): this;
1368
+ prependListener<E extends keyof Http2ServerEventMap>(
1369
+ eventName: E,
1370
+ listener: (
1371
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1372
+ ) => void,
1467
1373
  ): this;
1468
- prependOnceListener(
1469
- event: "session",
1470
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1374
+ prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1375
+ prependOnceListener<E extends keyof Http2ServerEventMap>(
1376
+ eventName: E,
1377
+ listener: (
1378
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1379
+ ) => void,
1471
1380
  ): this;
1472
- prependOnceListener(event: "sessionError", listener: (err: Error) => void): this;
1473
- prependOnceListener(
1474
- event: "stream",
1475
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1381
+ prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1382
+ rawListeners<E extends keyof Http2ServerEventMap>(
1383
+ eventName: E,
1384
+ ): ((...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]) => void)[];
1385
+ rawListeners(eventName: string | symbol): ((...args: any[]) => void)[];
1386
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
1387
+ removeAllListeners<E extends keyof Http2ServerEventMap>(eventName?: E): this;
1388
+ removeAllListeners(eventName?: string | symbol): this;
1389
+ removeListener<E extends keyof Http2ServerEventMap>(
1390
+ eventName: E,
1391
+ listener: (
1392
+ ...args: Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1393
+ ) => void,
1476
1394
  ): this;
1477
- prependOnceListener(event: "timeout", listener: () => void): this;
1478
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
1395
+ removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1396
+ // #endregion
1479
1397
  }
1480
- export interface Http2SecureServer<
1398
+ interface Http2SecureServerEventMap<
1481
1399
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1482
1400
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1483
1401
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
1484
1402
  Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
1485
- > extends tls.Server, HTTP2ServerCommon {
1486
- addListener(
1487
- event: "checkContinue",
1488
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1489
- ): this;
1490
- addListener(
1491
- event: "request",
1492
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1493
- ): this;
1494
- addListener(
1495
- event: "session",
1496
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1497
- ): this;
1498
- addListener(event: "sessionError", listener: (err: Error) => void): this;
1499
- addListener(
1500
- event: "stream",
1501
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1403
+ > extends tls.ServerEventMap, Http2ServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response> {
1404
+ "unknownProtocol": [socket: tls.TLSSocket];
1405
+ }
1406
+ interface Http2SecureServer<
1407
+ Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
1408
+ Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
1409
+ Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
1410
+ Http2Response extends typeof Http2ServerResponse<InstanceType<Http2Request>> = typeof Http2ServerResponse,
1411
+ > extends tls.Server, Http2ServerCommon {
1412
+ // #region InternalEventEmitter
1413
+ addListener<E extends keyof Http2SecureServerEventMap>(
1414
+ eventName: E,
1415
+ listener: (
1416
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1417
+ ) => void,
1502
1418
  ): this;
1503
- addListener(event: "timeout", listener: () => void): this;
1504
- addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
1505
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
1506
- emit(
1507
- event: "checkContinue",
1508
- request: InstanceType<Http2Request>,
1509
- response: InstanceType<Http2Response>,
1510
- ): boolean;
1511
- emit(event: "request", request: InstanceType<Http2Request>, response: InstanceType<Http2Response>): boolean;
1512
- emit(
1513
- event: "session",
1514
- session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>,
1419
+ addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1420
+ emit<E extends keyof Http2SecureServerEventMap>(
1421
+ eventName: E,
1422
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1515
1423
  ): boolean;
1516
- emit(event: "sessionError", err: Error): boolean;
1517
- emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;
1518
- emit(event: "timeout"): boolean;
1519
- emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean;
1520
- emit(event: string | symbol, ...args: any[]): boolean;
1521
- on(
1522
- event: "checkContinue",
1523
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1524
- ): this;
1525
- on(
1526
- event: "request",
1527
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1528
- ): this;
1529
- on(
1530
- event: "session",
1531
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1532
- ): this;
1533
- on(event: "sessionError", listener: (err: Error) => void): this;
1534
- on(
1535
- event: "stream",
1536
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1537
- ): this;
1538
- on(event: "timeout", listener: () => void): this;
1539
- on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
1540
- on(event: string | symbol, listener: (...args: any[]) => void): this;
1541
- once(
1542
- event: "checkContinue",
1543
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1544
- ): this;
1545
- once(
1546
- event: "request",
1547
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1548
- ): this;
1549
- once(
1550
- event: "session",
1551
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1552
- ): this;
1553
- once(event: "sessionError", listener: (err: Error) => void): this;
1554
- once(
1555
- event: "stream",
1556
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1557
- ): this;
1558
- once(event: "timeout", listener: () => void): this;
1559
- once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
1560
- once(event: string | symbol, listener: (...args: any[]) => void): this;
1561
- prependListener(
1562
- event: "checkContinue",
1563
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1564
- ): this;
1565
- prependListener(
1566
- event: "request",
1567
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1568
- ): this;
1569
- prependListener(
1570
- event: "session",
1571
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1424
+ emit(eventName: string | symbol, ...args: any[]): boolean;
1425
+ listenerCount<E extends keyof Http2SecureServerEventMap>(
1426
+ eventName: E,
1427
+ listener?: (
1428
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1429
+ ) => void,
1430
+ ): number;
1431
+ listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number;
1432
+ listeners<E extends keyof Http2SecureServerEventMap>(
1433
+ eventName: E,
1434
+ ): ((
1435
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1436
+ ) => void)[];
1437
+ listeners(eventName: string | symbol): ((...args: any[]) => void)[];
1438
+ off<E extends keyof Http2SecureServerEventMap>(
1439
+ eventName: E,
1440
+ listener: (
1441
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1442
+ ) => void,
1572
1443
  ): this;
1573
- prependListener(event: "sessionError", listener: (err: Error) => void): this;
1574
- prependListener(
1575
- event: "stream",
1576
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1444
+ off(eventName: string | symbol, listener: (...args: any[]) => void): this;
1445
+ on<E extends keyof Http2SecureServerEventMap>(
1446
+ eventName: E,
1447
+ listener: (
1448
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1449
+ ) => void,
1577
1450
  ): this;
1578
- prependListener(event: "timeout", listener: () => void): this;
1579
- prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
1580
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
1581
- prependOnceListener(
1582
- event: "checkContinue",
1583
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1451
+ on(eventName: string | symbol, listener: (...args: any[]) => void): this;
1452
+ once<E extends keyof Http2SecureServerEventMap>(
1453
+ eventName: E,
1454
+ listener: (
1455
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1456
+ ) => void,
1584
1457
  ): this;
1585
- prependOnceListener(
1586
- event: "request",
1587
- listener: (request: InstanceType<Http2Request>, response: InstanceType<Http2Response>) => void,
1458
+ once(eventName: string | symbol, listener: (...args: any[]) => void): this;
1459
+ prependListener<E extends keyof Http2SecureServerEventMap>(
1460
+ eventName: E,
1461
+ listener: (
1462
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1463
+ ) => void,
1588
1464
  ): this;
1589
- prependOnceListener(
1590
- event: "session",
1591
- listener: (session: ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>) => void,
1465
+ prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1466
+ prependOnceListener<E extends keyof Http2SecureServerEventMap>(
1467
+ eventName: E,
1468
+ listener: (
1469
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1470
+ ) => void,
1592
1471
  ): this;
1593
- prependOnceListener(event: "sessionError", listener: (err: Error) => void): this;
1594
- prependOnceListener(
1595
- event: "stream",
1596
- listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void,
1472
+ prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1473
+ rawListeners<E extends keyof Http2SecureServerEventMap>(
1474
+ eventName: E,
1475
+ ): ((
1476
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1477
+ ) => void)[];
1478
+ rawListeners(eventName: string | symbol): ((...args: any[]) => void)[];
1479
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
1480
+ removeAllListeners<E extends keyof Http2SecureServerEventMap>(eventName?: E): this;
1481
+ removeAllListeners(eventName?: string | symbol): this;
1482
+ removeListener<E extends keyof Http2SecureServerEventMap>(
1483
+ eventName: E,
1484
+ listener: (
1485
+ ...args: Http2SecureServerEventMap<Http1Request, Http1Response, Http2Request, Http2Response>[E]
1486
+ ) => void,
1597
1487
  ): this;
1598
- prependOnceListener(event: "timeout", listener: () => void): this;
1599
- prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
1600
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
1488
+ removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1489
+ // #endregion
1490
+ }
1491
+ interface Http2ServerRequestEventMap extends stream.ReadableEventMap {
1492
+ "aborted": [hadError: boolean, code: number];
1493
+ "data": [chunk: string | NonSharedBuffer];
1601
1494
  }
1602
1495
  /**
1603
1496
  * A `Http2ServerRequest` object is created by {@link Server} or {@link SecureServer} and passed as the first argument to the `'request'` event. It may be used to access a request status,
@@ -1605,7 +1498,7 @@ declare module "node:http2" {
1605
1498
  * data.
1606
1499
  * @since v8.4.0
1607
1500
  */
1608
- export class Http2ServerRequest extends stream.Readable {
1501
+ class Http2ServerRequest extends stream.Readable {
1609
1502
  constructor(
1610
1503
  stream: ServerHttp2Stream,
1611
1504
  headers: IncomingHttpHeaders,
@@ -1797,55 +1690,68 @@ declare module "node:http2" {
1797
1690
  */
1798
1691
  setTimeout(msecs: number, callback?: () => void): void;
1799
1692
  read(size?: number): Buffer | string | null;
1800
- addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
1801
- addListener(event: "close", listener: () => void): this;
1802
- addListener(event: "data", listener: (chunk: Buffer | string) => void): this;
1803
- addListener(event: "end", listener: () => void): this;
1804
- addListener(event: "readable", listener: () => void): this;
1805
- addListener(event: "error", listener: (err: Error) => void): this;
1806
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
1807
- emit(event: "aborted", hadError: boolean, code: number): boolean;
1808
- emit(event: "close"): boolean;
1809
- emit(event: "data", chunk: Buffer | string): boolean;
1810
- emit(event: "end"): boolean;
1811
- emit(event: "readable"): boolean;
1812
- emit(event: "error", err: Error): boolean;
1813
- emit(event: string | symbol, ...args: any[]): boolean;
1814
- on(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
1815
- on(event: "close", listener: () => void): this;
1816
- on(event: "data", listener: (chunk: Buffer | string) => void): this;
1817
- on(event: "end", listener: () => void): this;
1818
- on(event: "readable", listener: () => void): this;
1819
- on(event: "error", listener: (err: Error) => void): this;
1820
- on(event: string | symbol, listener: (...args: any[]) => void): this;
1821
- once(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
1822
- once(event: "close", listener: () => void): this;
1823
- once(event: "data", listener: (chunk: Buffer | string) => void): this;
1824
- once(event: "end", listener: () => void): this;
1825
- once(event: "readable", listener: () => void): this;
1826
- once(event: "error", listener: (err: Error) => void): this;
1827
- once(event: string | symbol, listener: (...args: any[]) => void): this;
1828
- prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
1829
- prependListener(event: "close", listener: () => void): this;
1830
- prependListener(event: "data", listener: (chunk: Buffer | string) => void): this;
1831
- prependListener(event: "end", listener: () => void): this;
1832
- prependListener(event: "readable", listener: () => void): this;
1833
- prependListener(event: "error", listener: (err: Error) => void): this;
1834
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
1835
- prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
1836
- prependOnceListener(event: "close", listener: () => void): this;
1837
- prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this;
1838
- prependOnceListener(event: "end", listener: () => void): this;
1839
- prependOnceListener(event: "readable", listener: () => void): this;
1840
- prependOnceListener(event: "error", listener: (err: Error) => void): this;
1841
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
1693
+ // #region InternalEventEmitter
1694
+ addListener<E extends keyof Http2ServerRequestEventMap>(
1695
+ eventName: E,
1696
+ listener: (...args: Http2ServerRequestEventMap[E]) => void,
1697
+ ): this;
1698
+ addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1699
+ emit<E extends keyof Http2ServerRequestEventMap>(eventName: E, ...args: Http2ServerRequestEventMap[E]): boolean;
1700
+ emit(eventName: string | symbol, ...args: any[]): boolean;
1701
+ listenerCount<E extends keyof Http2ServerRequestEventMap>(
1702
+ eventName: E,
1703
+ listener?: (...args: Http2ServerRequestEventMap[E]) => void,
1704
+ ): number;
1705
+ listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number;
1706
+ listeners<E extends keyof Http2ServerRequestEventMap>(
1707
+ eventName: E,
1708
+ ): ((...args: Http2ServerRequestEventMap[E]) => void)[];
1709
+ listeners(eventName: string | symbol): ((...args: any[]) => void)[];
1710
+ off<E extends keyof Http2ServerRequestEventMap>(
1711
+ eventName: E,
1712
+ listener: (...args: Http2ServerRequestEventMap[E]) => void,
1713
+ ): this;
1714
+ off(eventName: string | symbol, listener: (...args: any[]) => void): this;
1715
+ on<E extends keyof Http2ServerRequestEventMap>(
1716
+ eventName: E,
1717
+ listener: (...args: Http2ServerRequestEventMap[E]) => void,
1718
+ ): this;
1719
+ on(eventName: string | symbol, listener: (...args: any[]) => void): this;
1720
+ once<E extends keyof Http2ServerRequestEventMap>(
1721
+ eventName: E,
1722
+ listener: (...args: Http2ServerRequestEventMap[E]) => void,
1723
+ ): this;
1724
+ once(eventName: string | symbol, listener: (...args: any[]) => void): this;
1725
+ prependListener<E extends keyof Http2ServerRequestEventMap>(
1726
+ eventName: E,
1727
+ listener: (...args: Http2ServerRequestEventMap[E]) => void,
1728
+ ): this;
1729
+ prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1730
+ prependOnceListener<E extends keyof Http2ServerRequestEventMap>(
1731
+ eventName: E,
1732
+ listener: (...args: Http2ServerRequestEventMap[E]) => void,
1733
+ ): this;
1734
+ prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1735
+ rawListeners<E extends keyof Http2ServerRequestEventMap>(
1736
+ eventName: E,
1737
+ ): ((...args: Http2ServerRequestEventMap[E]) => void)[];
1738
+ rawListeners(eventName: string | symbol): ((...args: any[]) => void)[];
1739
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
1740
+ removeAllListeners<E extends keyof Http2ServerRequestEventMap>(eventName?: E): this;
1741
+ removeAllListeners(eventName?: string | symbol): this;
1742
+ removeListener<E extends keyof Http2ServerRequestEventMap>(
1743
+ eventName: E,
1744
+ listener: (...args: Http2ServerRequestEventMap[E]) => void,
1745
+ ): this;
1746
+ removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
1747
+ // #endregion
1842
1748
  }
1843
1749
  /**
1844
1750
  * This object is created internally by an HTTP server, not by the user. It is
1845
1751
  * passed as the second parameter to the `'request'` event.
1846
1752
  * @since v8.4.0
1847
1753
  */
1848
- export class Http2ServerResponse<Request extends Http2ServerRequest = Http2ServerRequest> extends stream.Writable {
1754
+ class Http2ServerResponse<Request extends Http2ServerRequest = Http2ServerRequest> extends stream.Writable {
1849
1755
  constructor(stream: ServerHttp2Stream);
1850
1756
  /**
1851
1757
  * See `response.socket`.
@@ -1861,7 +1767,7 @@ declare module "node:http2" {
1861
1767
  * If there were no previous values for the header, this is equivalent to calling {@link setHeader}.
1862
1768
  *
1863
1769
  * Attempting to set a header field name or value that contains invalid characters will result in a
1864
- * [TypeError](https://nodejs.org/docs/latest-v24.x/api/errors.html#class-typeerror) being thrown.
1770
+ * [TypeError](https://nodejs.org/docs/latest-v25.x/api/errors.html#class-typeerror) being thrown.
1865
1771
  *
1866
1772
  * ```js
1867
1773
  * // Returns headers including "set-cookie: a" and "set-cookie: b"
@@ -2193,8 +2099,8 @@ declare module "node:http2" {
2193
2099
  * will result in a `TypeError` being thrown.
2194
2100
  * @since v8.4.0
2195
2101
  */
2196
- writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this;
2197
- writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this;
2102
+ writeHead(statusCode: number, headers?: OutgoingHttpHeaders | readonly string[]): this;
2103
+ writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders | readonly string[]): this;
2198
2104
  /**
2199
2105
  * Call `http2stream.pushStream()` with the given headers, and wrap the
2200
2106
  * given `Http2Stream` on a newly created `Http2ServerResponse` as the callback
@@ -2209,50 +2115,8 @@ declare module "node:http2" {
2209
2115
  headers: OutgoingHttpHeaders,
2210
2116
  callback: (err: Error | null, res: Http2ServerResponse) => void,
2211
2117
  ): void;
2212
- addListener(event: "close", listener: () => void): this;
2213
- addListener(event: "drain", listener: () => void): this;
2214
- addListener(event: "error", listener: (error: Error) => void): this;
2215
- addListener(event: "finish", listener: () => void): this;
2216
- addListener(event: "pipe", listener: (src: stream.Readable) => void): this;
2217
- addListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
2218
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
2219
- emit(event: "close"): boolean;
2220
- emit(event: "drain"): boolean;
2221
- emit(event: "error", error: Error): boolean;
2222
- emit(event: "finish"): boolean;
2223
- emit(event: "pipe", src: stream.Readable): boolean;
2224
- emit(event: "unpipe", src: stream.Readable): boolean;
2225
- emit(event: string | symbol, ...args: any[]): boolean;
2226
- on(event: "close", listener: () => void): this;
2227
- on(event: "drain", listener: () => void): this;
2228
- on(event: "error", listener: (error: Error) => void): this;
2229
- on(event: "finish", listener: () => void): this;
2230
- on(event: "pipe", listener: (src: stream.Readable) => void): this;
2231
- on(event: "unpipe", listener: (src: stream.Readable) => void): this;
2232
- on(event: string | symbol, listener: (...args: any[]) => void): this;
2233
- once(event: "close", listener: () => void): this;
2234
- once(event: "drain", listener: () => void): this;
2235
- once(event: "error", listener: (error: Error) => void): this;
2236
- once(event: "finish", listener: () => void): this;
2237
- once(event: "pipe", listener: (src: stream.Readable) => void): this;
2238
- once(event: "unpipe", listener: (src: stream.Readable) => void): this;
2239
- once(event: string | symbol, listener: (...args: any[]) => void): this;
2240
- prependListener(event: "close", listener: () => void): this;
2241
- prependListener(event: "drain", listener: () => void): this;
2242
- prependListener(event: "error", listener: (error: Error) => void): this;
2243
- prependListener(event: "finish", listener: () => void): this;
2244
- prependListener(event: "pipe", listener: (src: stream.Readable) => void): this;
2245
- prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
2246
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
2247
- prependOnceListener(event: "close", listener: () => void): this;
2248
- prependOnceListener(event: "drain", listener: () => void): this;
2249
- prependOnceListener(event: "error", listener: (error: Error) => void): this;
2250
- prependOnceListener(event: "finish", listener: () => void): this;
2251
- prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this;
2252
- prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
2253
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
2254
2118
  }
2255
- export namespace constants {
2119
+ namespace constants {
2256
2120
  const NGHTTP2_SESSION_SERVER: number;
2257
2121
  const NGHTTP2_SESSION_CLIENT: number;
2258
2122
  const NGHTTP2_STREAM_STATE_IDLE: number;
@@ -2472,13 +2336,13 @@ declare module "node:http2" {
2472
2336
  * This symbol can be set as a property on the HTTP/2 headers object with
2473
2337
  * an array value in order to provide a list of headers considered sensitive.
2474
2338
  */
2475
- export const sensitiveHeaders: symbol;
2339
+ const sensitiveHeaders: symbol;
2476
2340
  /**
2477
2341
  * Returns an object containing the default settings for an `Http2Session` instance. This method returns a new object instance every time it is called
2478
2342
  * so instances returned may be safely modified for use.
2479
2343
  * @since v8.4.0
2480
2344
  */
2481
- export function getDefaultSettings(): Settings;
2345
+ function getDefaultSettings(): Settings;
2482
2346
  /**
2483
2347
  * Returns a `Buffer` instance containing serialized representation of the given
2484
2348
  * HTTP/2 settings as specified in the [HTTP/2](https://tools.ietf.org/html/rfc7540) specification. This is intended
@@ -2494,14 +2358,14 @@ declare module "node:http2" {
2494
2358
  * ```
2495
2359
  * @since v8.4.0
2496
2360
  */
2497
- export function getPackedSettings(settings: Settings): Buffer;
2361
+ function getPackedSettings(settings: Settings): NonSharedBuffer;
2498
2362
  /**
2499
2363
  * Returns a `HTTP/2 Settings Object` containing the deserialized settings from
2500
2364
  * the given `Buffer` as generated by `http2.getPackedSettings()`.
2501
2365
  * @since v8.4.0
2502
2366
  * @param buf The packed settings.
2503
2367
  */
2504
- export function getUnpackedSettings(buf: Uint8Array): Settings;
2368
+ function getUnpackedSettings(buf: Uint8Array): Settings;
2505
2369
  /**
2506
2370
  * Returns a `net.Server` instance that creates and manages `Http2Session` instances.
2507
2371
  *
@@ -2531,10 +2395,10 @@ declare module "node:http2" {
2531
2395
  * @since v8.4.0
2532
2396
  * @param onRequestHandler See `Compatibility API`
2533
2397
  */
2534
- export function createServer(
2398
+ function createServer(
2535
2399
  onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void,
2536
2400
  ): Http2Server;
2537
- export function createServer<
2401
+ function createServer<
2538
2402
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
2539
2403
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
2540
2404
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
@@ -2571,10 +2435,10 @@ declare module "node:http2" {
2571
2435
  * @since v8.4.0
2572
2436
  * @param onRequestHandler See `Compatibility API`
2573
2437
  */
2574
- export function createSecureServer(
2438
+ function createSecureServer(
2575
2439
  onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void,
2576
2440
  ): Http2SecureServer;
2577
- export function createSecureServer<
2441
+ function createSecureServer<
2578
2442
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
2579
2443
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
2580
2444
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
@@ -2599,11 +2463,11 @@ declare module "node:http2" {
2599
2463
  * is used). Userinfo (user ID and password), path, querystring, and fragment details in the URL will be ignored.
2600
2464
  * @param listener Will be registered as a one-time listener of the {@link 'connect'} event.
2601
2465
  */
2602
- export function connect(
2466
+ function connect(
2603
2467
  authority: string | url.URL,
2604
2468
  listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,
2605
2469
  ): ClientHttp2Session;
2606
- export function connect(
2470
+ function connect(
2607
2471
  authority: string | url.URL,
2608
2472
  options?: ClientSessionOptions | SecureClientSessionOptions,
2609
2473
  listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,
@@ -2614,7 +2478,7 @@ declare module "node:http2" {
2614
2478
  * @param options Any `{@link createServer}` options can be provided.
2615
2479
  * @since v20.12.0
2616
2480
  */
2617
- export function performServerHandshake<
2481
+ function performServerHandshake<
2618
2482
  Http1Request extends typeof IncomingMessage = typeof IncomingMessage,
2619
2483
  Http1Response extends typeof ServerResponse<InstanceType<Http1Request>> = typeof ServerResponse,
2620
2484
  Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest,
@@ -2624,3 +2488,6 @@ declare module "node:http2" {
2624
2488
  options?: ServerOptions<Http1Request, Http1Response, Http2Request, Http2Response>,
2625
2489
  ): ServerHttp2Session<Http1Request, Http1Response, Http2Request, Http2Response>;
2626
2490
  }
2491
+ declare module "node:http2" {
2492
+ export { OutgoingHttpHeaders } from "node:http";
2493
+ }