@types/node 22.15.33 → 22.18.13

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 (77) hide show
  1. node v22.18/README.md +15 -0
  2. {node v22.15 → node v22.18}/assert.d.ts +19 -0
  3. {node v22.15 → node v22.18}/buffer.buffer.d.ts +9 -0
  4. {node v22.15 → node v22.18}/buffer.d.ts +14 -6
  5. {node v22.15 → node v22.18}/child_process.d.ts +89 -162
  6. {node v22.15 → node v22.18}/cluster.d.ts +4 -5
  7. {node v22.15 → node v22.18}/crypto.d.ts +203 -167
  8. {node v22.15 → node v22.18}/dgram.d.ts +9 -8
  9. {node v22.15 → node v22.18}/dns/promises.d.ts +11 -10
  10. {node v22.15 → node v22.18}/dns.d.ts +19 -20
  11. {node v22.15 → node v22.18}/events.d.ts +80 -35
  12. {node v22.15 → node v22.18}/fs/promises.d.ts +78 -56
  13. {node v22.15 → node v22.18}/fs.d.ts +153 -129
  14. node v22.18/globals.d.ts +172 -0
  15. node v22.18/globals.typedarray.d.ts +38 -0
  16. {node v22.15 → node v22.18}/http.d.ts +112 -32
  17. {node v22.15 → node v22.18}/http2.d.ts +45 -26
  18. {node v22.15 → node v22.18}/https.d.ts +96 -62
  19. {node v22.15 → node v22.18}/index.d.ts +7 -3
  20. node v22.15/inspector.d.ts → node v22.18/inspector.generated.d.ts +219 -10
  21. {node v22.15 → node v22.18}/module.d.ts +70 -13
  22. {node v22.15 → node v22.18}/net.d.ts +12 -11
  23. {node v22.15 → node v22.18}/os.d.ts +14 -3
  24. {node v22.15 → node v22.18}/package.json +3 -83
  25. {node v22.15 → node v22.18}/perf_hooks.d.ts +6 -8
  26. {node v22.15 → node v22.18}/process.d.ts +15 -27
  27. {node v22.15 → node v22.18}/readline/promises.d.ts +1 -2
  28. {node v22.15 → node v22.18}/repl.d.ts +3 -5
  29. {node v22.15 → node v22.18}/sqlite.d.ts +212 -6
  30. {node v22.15 → node v22.18}/stream/consumers.d.ts +2 -2
  31. {node v22.15 → node v22.18}/stream/web.d.ts +8 -0
  32. {node v22.15 → node v22.18}/stream.d.ts +29 -33
  33. {node v22.15 → node v22.18}/string_decoder.d.ts +2 -2
  34. node v22.18/test.d.ts +2162 -0
  35. {node v22.15 → node v22.18}/tls.d.ts +90 -66
  36. {node v22.15 → node v22.18}/ts5.6/buffer.buffer.d.ts +10 -2
  37. node v22.18/ts5.6/globals.typedarray.d.ts +34 -0
  38. {node v22.15 → node v22.18}/ts5.6/index.d.ts +7 -3
  39. {node v22.15 → node v22.18}/url.d.ts +13 -4
  40. {node v22.15 → node v22.18}/util.d.ts +21 -6
  41. {node v22.15 → node v22.18}/v8.d.ts +33 -35
  42. {node v22.15 → node v22.18}/vm.d.ts +21 -50
  43. {node v22.15 → node v22.18}/wasi.d.ts +1 -1
  44. node v22.18/web-globals/abortcontroller.d.ts +34 -0
  45. node v22.18/web-globals/domexception.d.ts +68 -0
  46. node v22.15/dom-events.d.ts → node v22.18/web-globals/events.d.ts +49 -51
  47. node v22.18/web-globals/fetch.d.ts +46 -0
  48. node v22.18/web-globals/navigator.d.ts +22 -0
  49. node v22.18/web-globals/storage.d.ts +24 -0
  50. {node v22.15 → node v22.18}/worker_threads.d.ts +86 -67
  51. {node v22.15 → node v22.18}/zlib.d.ts +33 -26
  52. node v22.15/README.md +0 -15
  53. node v22.15/globals.d.ts +0 -364
  54. node v22.15/globals.typedarray.d.ts +0 -21
  55. node v22.15/test.d.ts +0 -2278
  56. node v22.15/ts5.6/globals.typedarray.d.ts +0 -19
  57. {node v22.15 → node v22.18}/LICENSE +0 -0
  58. {node v22.15 → node v22.18}/assert/strict.d.ts +0 -0
  59. {node v22.15 → node v22.18}/async_hooks.d.ts +1 -1
  60. {node v22.15 → node v22.18}/compatibility/disposable.d.ts +0 -0
  61. {node v22.15 → node v22.18}/compatibility/index.d.ts +0 -0
  62. {node v22.15 → node v22.18}/compatibility/indexable.d.ts +0 -0
  63. {node v22.15 → node v22.18}/compatibility/iterators.d.ts +0 -0
  64. {node v22.15 → node v22.18}/console.d.ts +0 -0
  65. {node v22.15 → node v22.18}/constants.d.ts +0 -0
  66. {node v22.15 → node v22.18}/diagnostics_channel.d.ts +0 -0
  67. {node v22.15 → node v22.18}/domain.d.ts +0 -0
  68. {node v22.15 → node v22.18}/path.d.ts +0 -0
  69. {node v22.15 → node v22.18}/punycode.d.ts +0 -0
  70. {node v22.15 → node v22.18}/querystring.d.ts +0 -0
  71. {node v22.15 → node v22.18}/readline.d.ts +0 -0
  72. {node v22.15 → node v22.18}/sea.d.ts +0 -0
  73. {node v22.15 → node v22.18}/stream/promises.d.ts +0 -0
  74. {node v22.15 → node v22.18}/timers/promises.d.ts +0 -0
  75. {node v22.15 → node v22.18}/timers.d.ts +0 -0
  76. {node v22.15 → node v22.18}/trace_events.d.ts +0 -0
  77. {node v22.15 → node v22.18}/tty.d.ts +0 -0
@@ -0,0 +1,172 @@
1
+ declare var global: typeof globalThis;
2
+
3
+ declare var process: NodeJS.Process;
4
+ declare var console: Console;
5
+
6
+ interface ErrorConstructor {
7
+ /**
8
+ * Creates a `.stack` property on `targetObject`, which when accessed returns
9
+ * a string representing the location in the code at which
10
+ * `Error.captureStackTrace()` was called.
11
+ *
12
+ * ```js
13
+ * const myObject = {};
14
+ * Error.captureStackTrace(myObject);
15
+ * myObject.stack; // Similar to `new Error().stack`
16
+ * ```
17
+ *
18
+ * The first line of the trace will be prefixed with
19
+ * `${myObject.name}: ${myObject.message}`.
20
+ *
21
+ * The optional `constructorOpt` argument accepts a function. If given, all frames
22
+ * above `constructorOpt`, including `constructorOpt`, will be omitted from the
23
+ * generated stack trace.
24
+ *
25
+ * The `constructorOpt` argument is useful for hiding implementation
26
+ * details of error generation from the user. For instance:
27
+ *
28
+ * ```js
29
+ * function a() {
30
+ * b();
31
+ * }
32
+ *
33
+ * function b() {
34
+ * c();
35
+ * }
36
+ *
37
+ * function c() {
38
+ * // Create an error without stack trace to avoid calculating the stack trace twice.
39
+ * const { stackTraceLimit } = Error;
40
+ * Error.stackTraceLimit = 0;
41
+ * const error = new Error();
42
+ * Error.stackTraceLimit = stackTraceLimit;
43
+ *
44
+ * // Capture the stack trace above function b
45
+ * Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
46
+ * throw error;
47
+ * }
48
+ *
49
+ * a();
50
+ * ```
51
+ */
52
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
53
+ /**
54
+ * @see https://v8.dev/docs/stack-trace-api#customizing-stack-traces
55
+ */
56
+ prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
57
+ /**
58
+ * The `Error.stackTraceLimit` property specifies the number of stack frames
59
+ * collected by a stack trace (whether generated by `new Error().stack` or
60
+ * `Error.captureStackTrace(obj)`).
61
+ *
62
+ * The default value is `10` but may be set to any valid JavaScript number. Changes
63
+ * will affect any stack trace captured _after_ the value has been changed.
64
+ *
65
+ * If set to a non-number value, or set to a negative number, stack traces will
66
+ * not capture any frames.
67
+ */
68
+ stackTraceLimit: number;
69
+ }
70
+
71
+ /**
72
+ * Enable this API with the `--expose-gc` CLI flag.
73
+ */
74
+ declare var gc: NodeJS.GCFunction | undefined;
75
+
76
+ declare namespace NodeJS {
77
+ interface CallSite {
78
+ getColumnNumber(): number | null;
79
+ getEnclosingColumnNumber(): number | null;
80
+ getEnclosingLineNumber(): number | null;
81
+ getEvalOrigin(): string | undefined;
82
+ getFileName(): string | null;
83
+ getFunction(): Function | undefined;
84
+ getFunctionName(): string | null;
85
+ getLineNumber(): number | null;
86
+ getMethodName(): string | null;
87
+ getPosition(): number;
88
+ getPromiseIndex(): number | null;
89
+ getScriptHash(): string;
90
+ getScriptNameOrSourceURL(): string | null;
91
+ getThis(): unknown;
92
+ getTypeName(): string | null;
93
+ isAsync(): boolean;
94
+ isConstructor(): boolean;
95
+ isEval(): boolean;
96
+ isNative(): boolean;
97
+ isPromiseAll(): boolean;
98
+ isToplevel(): boolean;
99
+ }
100
+
101
+ interface ErrnoException extends Error {
102
+ errno?: number | undefined;
103
+ code?: string | undefined;
104
+ path?: string | undefined;
105
+ syscall?: string | undefined;
106
+ }
107
+
108
+ interface ReadableStream extends EventEmitter {
109
+ readable: boolean;
110
+ read(size?: number): string | Buffer;
111
+ setEncoding(encoding: BufferEncoding): this;
112
+ pause(): this;
113
+ resume(): this;
114
+ isPaused(): boolean;
115
+ pipe<T extends WritableStream>(destination: T, options?: { end?: boolean | undefined }): T;
116
+ unpipe(destination?: WritableStream): this;
117
+ unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void;
118
+ wrap(oldStream: ReadableStream): this;
119
+ [Symbol.asyncIterator](): AsyncIterableIterator<string | Buffer>;
120
+ }
121
+
122
+ interface WritableStream extends EventEmitter {
123
+ writable: boolean;
124
+ write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean;
125
+ write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean;
126
+ end(cb?: () => void): this;
127
+ end(data: string | Uint8Array, cb?: () => void): this;
128
+ end(str: string, encoding?: BufferEncoding, cb?: () => void): this;
129
+ }
130
+
131
+ interface ReadWriteStream extends ReadableStream, WritableStream {}
132
+
133
+ interface RefCounted {
134
+ ref(): this;
135
+ unref(): this;
136
+ }
137
+
138
+ interface Dict<T> {
139
+ [key: string]: T | undefined;
140
+ }
141
+
142
+ interface ReadOnlyDict<T> {
143
+ readonly [key: string]: T | undefined;
144
+ }
145
+
146
+ type PartialOptions<T> = { [K in keyof T]?: T[K] | undefined };
147
+
148
+ interface GCFunction {
149
+ (minor?: boolean): void;
150
+ (options: NodeJS.GCOptions & { execution: "async" }): Promise<void>;
151
+ (options: NodeJS.GCOptions): void;
152
+ }
153
+
154
+ interface GCOptions {
155
+ execution?: "sync" | "async" | undefined;
156
+ flavor?: "regular" | "last-resort" | undefined;
157
+ type?: "major-snapshot" | "major" | "minor" | undefined;
158
+ filename?: string | undefined;
159
+ }
160
+
161
+ /** An iterable iterator returned by the Node.js API. */
162
+ // Default TReturn/TNext in v22 is `any`, for compatibility with the previously-used IterableIterator.
163
+ interface Iterator<T, TReturn = any, TNext = any> extends IteratorObject<T, TReturn, TNext> {
164
+ [Symbol.iterator](): NodeJS.Iterator<T, TReturn, TNext>;
165
+ }
166
+
167
+ /** An async iterable iterator returned by the Node.js API. */
168
+ // Default TReturn/TNext in v22 is `any`, for compatibility with the previously-used AsyncIterableIterator.
169
+ interface AsyncIterator<T, TReturn = any, TNext = any> extends AsyncIteratorObject<T, TReturn, TNext> {
170
+ [Symbol.asyncIterator](): NodeJS.AsyncIterator<T, TReturn, TNext>;
171
+ }
172
+ }
@@ -0,0 +1,38 @@
1
+ export {}; // Make this a module
2
+
3
+ declare global {
4
+ namespace NodeJS {
5
+ type TypedArray<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> =
6
+ | Uint8Array<TArrayBuffer>
7
+ | Uint8ClampedArray<TArrayBuffer>
8
+ | Uint16Array<TArrayBuffer>
9
+ | Uint32Array<TArrayBuffer>
10
+ | Int8Array<TArrayBuffer>
11
+ | Int16Array<TArrayBuffer>
12
+ | Int32Array<TArrayBuffer>
13
+ | BigUint64Array<TArrayBuffer>
14
+ | BigInt64Array<TArrayBuffer>
15
+ | Float32Array<TArrayBuffer>
16
+ | Float64Array<TArrayBuffer>;
17
+ type ArrayBufferView<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> =
18
+ | TypedArray<TArrayBuffer>
19
+ | DataView<TArrayBuffer>;
20
+
21
+ // The following aliases are required to allow use of non-shared ArrayBufferViews in @types/node
22
+ // while maintaining compatibility with TS <=5.6.
23
+ type NonSharedUint8Array = Uint8Array<ArrayBuffer>;
24
+ type NonSharedUint8ClampedArray = Uint8ClampedArray<ArrayBuffer>;
25
+ type NonSharedUint16Array = Uint16Array<ArrayBuffer>;
26
+ type NonSharedUint32Array = Uint32Array<ArrayBuffer>;
27
+ type NonSharedInt8Array = Int8Array<ArrayBuffer>;
28
+ type NonSharedInt16Array = Int16Array<ArrayBuffer>;
29
+ type NonSharedInt32Array = Int32Array<ArrayBuffer>;
30
+ type NonSharedBigUint64Array = BigUint64Array<ArrayBuffer>;
31
+ type NonSharedBigInt64Array = BigInt64Array<ArrayBuffer>;
32
+ type NonSharedFloat32Array = Float32Array<ArrayBuffer>;
33
+ type NonSharedFloat64Array = Float64Array<ArrayBuffer>;
34
+ type NonSharedDataView = DataView<ArrayBuffer>;
35
+ type NonSharedTypedArray = TypedArray<ArrayBuffer>;
36
+ type NonSharedArrayBufferView = ArrayBufferView<ArrayBuffer>;
37
+ }
38
+ }
@@ -40,6 +40,7 @@
40
40
  * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/http.js)
41
41
  */
42
42
  declare module "http" {
43
+ import { NonSharedBuffer } from "node:buffer";
43
44
  import * as stream from "node:stream";
44
45
  import { URL } from "node:url";
45
46
  import { LookupOptions } from "node:dns";
@@ -200,7 +201,7 @@ declare module "http" {
200
201
  "x-frame-options"?: string | undefined;
201
202
  "x-xss-protection"?: string | undefined;
202
203
  }
203
- interface ClientRequestArgs {
204
+ interface ClientRequestArgs extends Pick<LookupOptions, "hints"> {
204
205
  _defaultAgent?: Agent | undefined;
205
206
  agent?: Agent | boolean | undefined;
206
207
  auth?: string | null | undefined;
@@ -213,7 +214,6 @@ declare module "http" {
213
214
  defaultPort?: number | string | undefined;
214
215
  family?: number | undefined;
215
216
  headers?: OutgoingHttpHeaders | readonly string[] | undefined;
216
- hints?: LookupOptions["hints"];
217
217
  host?: string | null | undefined;
218
218
  hostname?: string | null | undefined;
219
219
  insecureHTTPParser?: boolean | undefined;
@@ -234,7 +234,7 @@ declare module "http" {
234
234
  socketPath?: string | undefined;
235
235
  timeout?: number | undefined;
236
236
  uniqueHeaders?: Array<string | string[]> | undefined;
237
- joinDuplicateHeaders?: boolean;
237
+ joinDuplicateHeaders?: boolean | undefined;
238
238
  }
239
239
  interface ServerOptions<
240
240
  Request extends typeof IncomingMessage = typeof IncomingMessage,
@@ -260,7 +260,7 @@ declare module "http" {
260
260
  * @default false
261
261
  * @since v18.14.0
262
262
  */
263
- joinDuplicateHeaders?: boolean;
263
+ joinDuplicateHeaders?: boolean | undefined;
264
264
  /**
265
265
  * The number of milliseconds of inactivity a server needs to wait for additional incoming data,
266
266
  * after it has finished writing the last response, before a socket will be destroyed.
@@ -460,13 +460,13 @@ declare module "http" {
460
460
  addListener(event: "clientError", listener: (err: Error, socket: stream.Duplex) => void): this;
461
461
  addListener(
462
462
  event: "connect",
463
- listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,
463
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
464
464
  ): this;
465
465
  addListener(event: "dropRequest", listener: (req: InstanceType<Request>, socket: stream.Duplex) => void): this;
466
466
  addListener(event: "request", listener: RequestListener<Request, Response>): this;
467
467
  addListener(
468
468
  event: "upgrade",
469
- listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,
469
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
470
470
  ): this;
471
471
  emit(event: string, ...args: any[]): boolean;
472
472
  emit(event: "close"): boolean;
@@ -484,14 +484,14 @@ declare module "http" {
484
484
  res: InstanceType<Response> & { req: InstanceType<Request> },
485
485
  ): boolean;
486
486
  emit(event: "clientError", err: Error, socket: stream.Duplex): boolean;
487
- emit(event: "connect", req: InstanceType<Request>, socket: stream.Duplex, head: Buffer): boolean;
487
+ emit(event: "connect", req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer): boolean;
488
488
  emit(event: "dropRequest", req: InstanceType<Request>, socket: stream.Duplex): boolean;
489
489
  emit(
490
490
  event: "request",
491
491
  req: InstanceType<Request>,
492
492
  res: InstanceType<Response> & { req: InstanceType<Request> },
493
493
  ): boolean;
494
- emit(event: "upgrade", req: InstanceType<Request>, socket: stream.Duplex, head: Buffer): boolean;
494
+ emit(event: "upgrade", req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer): boolean;
495
495
  on(event: string, listener: (...args: any[]) => void): this;
496
496
  on(event: "close", listener: () => void): this;
497
497
  on(event: "connection", listener: (socket: Socket) => void): this;
@@ -500,10 +500,16 @@ declare module "http" {
500
500
  on(event: "checkContinue", listener: RequestListener<Request, Response>): this;
501
501
  on(event: "checkExpectation", listener: RequestListener<Request, Response>): this;
502
502
  on(event: "clientError", listener: (err: Error, socket: stream.Duplex) => void): this;
503
- on(event: "connect", listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void): this;
503
+ on(
504
+ event: "connect",
505
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
506
+ ): this;
504
507
  on(event: "dropRequest", listener: (req: InstanceType<Request>, socket: stream.Duplex) => void): this;
505
508
  on(event: "request", listener: RequestListener<Request, Response>): this;
506
- on(event: "upgrade", listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void): this;
509
+ on(
510
+ event: "upgrade",
511
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
512
+ ): this;
507
513
  once(event: string, listener: (...args: any[]) => void): this;
508
514
  once(event: "close", listener: () => void): this;
509
515
  once(event: "connection", listener: (socket: Socket) => void): this;
@@ -514,13 +520,13 @@ declare module "http" {
514
520
  once(event: "clientError", listener: (err: Error, socket: stream.Duplex) => void): this;
515
521
  once(
516
522
  event: "connect",
517
- listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,
523
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
518
524
  ): this;
519
525
  once(event: "dropRequest", listener: (req: InstanceType<Request>, socket: stream.Duplex) => void): this;
520
526
  once(event: "request", listener: RequestListener<Request, Response>): this;
521
527
  once(
522
528
  event: "upgrade",
523
- listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,
529
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
524
530
  ): this;
525
531
  prependListener(event: string, listener: (...args: any[]) => void): this;
526
532
  prependListener(event: "close", listener: () => void): this;
@@ -532,7 +538,7 @@ declare module "http" {
532
538
  prependListener(event: "clientError", listener: (err: Error, socket: stream.Duplex) => void): this;
533
539
  prependListener(
534
540
  event: "connect",
535
- listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,
541
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
536
542
  ): this;
537
543
  prependListener(
538
544
  event: "dropRequest",
@@ -541,7 +547,7 @@ declare module "http" {
541
547
  prependListener(event: "request", listener: RequestListener<Request, Response>): this;
542
548
  prependListener(
543
549
  event: "upgrade",
544
- listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,
550
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
545
551
  ): this;
546
552
  prependOnceListener(event: string, listener: (...args: any[]) => void): this;
547
553
  prependOnceListener(event: "close", listener: () => void): this;
@@ -553,7 +559,7 @@ declare module "http" {
553
559
  prependOnceListener(event: "clientError", listener: (err: Error, socket: stream.Duplex) => void): this;
554
560
  prependOnceListener(
555
561
  event: "connect",
556
- listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,
562
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
557
563
  ): this;
558
564
  prependOnceListener(
559
565
  event: "dropRequest",
@@ -562,7 +568,7 @@ declare module "http" {
562
568
  prependOnceListener(event: "request", listener: RequestListener<Request, Response>): this;
563
569
  prependOnceListener(
564
570
  event: "upgrade",
565
- listener: (req: InstanceType<Request>, socket: stream.Duplex, head: Buffer) => void,
571
+ listener: (req: InstanceType<Request>, socket: stream.Duplex, head: NonSharedBuffer) => void,
566
572
  ): this;
567
573
  }
568
574
  /**
@@ -911,7 +917,7 @@ declare module "http" {
911
917
  * the request body should be sent.
912
918
  * @since v10.0.0
913
919
  */
914
- writeProcessing(): void;
920
+ writeProcessing(callback?: () => void): void;
915
921
  }
916
922
  interface InformationEvent {
917
923
  statusCode: number;
@@ -1082,7 +1088,7 @@ declare module "http" {
1082
1088
  addListener(event: "abort", listener: () => void): this;
1083
1089
  addListener(
1084
1090
  event: "connect",
1085
- listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,
1091
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1086
1092
  ): this;
1087
1093
  addListener(event: "continue", listener: () => void): this;
1088
1094
  addListener(event: "information", listener: (info: InformationEvent) => void): this;
@@ -1091,7 +1097,7 @@ declare module "http" {
1091
1097
  addListener(event: "timeout", listener: () => void): this;
1092
1098
  addListener(
1093
1099
  event: "upgrade",
1094
- listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,
1100
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1095
1101
  ): this;
1096
1102
  addListener(event: "close", listener: () => void): this;
1097
1103
  addListener(event: "drain", listener: () => void): this;
@@ -1104,13 +1110,19 @@ declare module "http" {
1104
1110
  * @deprecated
1105
1111
  */
1106
1112
  on(event: "abort", listener: () => void): this;
1107
- on(event: "connect", listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this;
1113
+ on(
1114
+ event: "connect",
1115
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1116
+ ): this;
1108
1117
  on(event: "continue", listener: () => void): this;
1109
1118
  on(event: "information", listener: (info: InformationEvent) => void): this;
1110
1119
  on(event: "response", listener: (response: IncomingMessage) => void): this;
1111
1120
  on(event: "socket", listener: (socket: Socket) => void): this;
1112
1121
  on(event: "timeout", listener: () => void): this;
1113
- on(event: "upgrade", listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this;
1122
+ on(
1123
+ event: "upgrade",
1124
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1125
+ ): this;
1114
1126
  on(event: "close", listener: () => void): this;
1115
1127
  on(event: "drain", listener: () => void): this;
1116
1128
  on(event: "error", listener: (err: Error) => void): this;
@@ -1122,13 +1134,19 @@ declare module "http" {
1122
1134
  * @deprecated
1123
1135
  */
1124
1136
  once(event: "abort", listener: () => void): this;
1125
- once(event: "connect", listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this;
1137
+ once(
1138
+ event: "connect",
1139
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1140
+ ): this;
1126
1141
  once(event: "continue", listener: () => void): this;
1127
1142
  once(event: "information", listener: (info: InformationEvent) => void): this;
1128
1143
  once(event: "response", listener: (response: IncomingMessage) => void): this;
1129
1144
  once(event: "socket", listener: (socket: Socket) => void): this;
1130
1145
  once(event: "timeout", listener: () => void): this;
1131
- once(event: "upgrade", listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this;
1146
+ once(
1147
+ event: "upgrade",
1148
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1149
+ ): this;
1132
1150
  once(event: "close", listener: () => void): this;
1133
1151
  once(event: "drain", listener: () => void): this;
1134
1152
  once(event: "error", listener: (err: Error) => void): this;
@@ -1142,7 +1160,7 @@ declare module "http" {
1142
1160
  prependListener(event: "abort", listener: () => void): this;
1143
1161
  prependListener(
1144
1162
  event: "connect",
1145
- listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,
1163
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1146
1164
  ): this;
1147
1165
  prependListener(event: "continue", listener: () => void): this;
1148
1166
  prependListener(event: "information", listener: (info: InformationEvent) => void): this;
@@ -1151,7 +1169,7 @@ declare module "http" {
1151
1169
  prependListener(event: "timeout", listener: () => void): this;
1152
1170
  prependListener(
1153
1171
  event: "upgrade",
1154
- listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,
1172
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1155
1173
  ): this;
1156
1174
  prependListener(event: "close", listener: () => void): this;
1157
1175
  prependListener(event: "drain", listener: () => void): this;
@@ -1166,7 +1184,7 @@ declare module "http" {
1166
1184
  prependOnceListener(event: "abort", listener: () => void): this;
1167
1185
  prependOnceListener(
1168
1186
  event: "connect",
1169
- listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,
1187
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1170
1188
  ): this;
1171
1189
  prependOnceListener(event: "continue", listener: () => void): this;
1172
1190
  prependOnceListener(event: "information", listener: (info: InformationEvent) => void): this;
@@ -1175,7 +1193,7 @@ declare module "http" {
1175
1193
  prependOnceListener(event: "timeout", listener: () => void): this;
1176
1194
  prependOnceListener(
1177
1195
  event: "upgrade",
1178
- listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void,
1196
+ listener: (response: IncomingMessage, socket: Socket, head: NonSharedBuffer) => void,
1179
1197
  ): this;
1180
1198
  prependOnceListener(event: "close", listener: () => void): this;
1181
1199
  prependOnceListener(event: "drain", listener: () => void): this;
@@ -1419,7 +1437,7 @@ declare module "http" {
1419
1437
  */
1420
1438
  destroy(error?: Error): this;
1421
1439
  }
1422
- interface AgentOptions extends Partial<TcpSocketConnectOpts> {
1440
+ interface AgentOptions extends NodeJS.PartialOptions<TcpSocketConnectOpts> {
1423
1441
  /**
1424
1442
  * Keep sockets around in a pool to be used by other requests in the future. Default = false
1425
1443
  */
@@ -1570,6 +1588,68 @@ declare module "http" {
1570
1588
  * @since v0.11.4
1571
1589
  */
1572
1590
  destroy(): void;
1591
+ /**
1592
+ * Produces a socket/stream to be used for HTTP requests.
1593
+ *
1594
+ * By default, this function is the same as `net.createConnection()`. However,
1595
+ * custom agents may override this method in case greater flexibility is desired.
1596
+ *
1597
+ * A socket/stream can be supplied in one of two ways: by returning the
1598
+ * socket/stream from this function, or by passing the socket/stream to `callback`.
1599
+ *
1600
+ * This method is guaranteed to return an instance of the `net.Socket` class,
1601
+ * a subclass of `stream.Duplex`, unless the user specifies a socket
1602
+ * type other than `net.Socket`.
1603
+ *
1604
+ * `callback` has a signature of `(err, stream)`.
1605
+ * @since v0.11.4
1606
+ * @param options Options containing connection details. Check `createConnection` for the format of the options
1607
+ * @param callback Callback function that receives the created socket
1608
+ */
1609
+ createConnection(
1610
+ options: ClientRequestArgs,
1611
+ callback?: (err: Error | null, stream: stream.Duplex) => void,
1612
+ ): stream.Duplex | null | undefined;
1613
+ /**
1614
+ * Called when `socket` is detached from a request and could be persisted by the`Agent`. Default behavior is to:
1615
+ *
1616
+ * ```js
1617
+ * socket.setKeepAlive(true, this.keepAliveMsecs);
1618
+ * socket.unref();
1619
+ * return true;
1620
+ * ```
1621
+ *
1622
+ * This method can be overridden by a particular `Agent` subclass. If this
1623
+ * method returns a falsy value, the socket will be destroyed instead of persisting
1624
+ * it for use with the next request.
1625
+ *
1626
+ * The `socket` argument can be an instance of `net.Socket`, a subclass of `stream.Duplex`.
1627
+ * @since v8.1.0
1628
+ */
1629
+ keepSocketAlive(socket: stream.Duplex): void;
1630
+ /**
1631
+ * Called when `socket` is attached to `request` after being persisted because of
1632
+ * the keep-alive options. Default behavior is to:
1633
+ *
1634
+ * ```js
1635
+ * socket.ref();
1636
+ * ```
1637
+ *
1638
+ * This method can be overridden by a particular `Agent` subclass.
1639
+ *
1640
+ * The `socket` argument can be an instance of `net.Socket`, a subclass of `stream.Duplex`.
1641
+ * @since v8.1.0
1642
+ */
1643
+ reuseSocket(socket: stream.Duplex, request: ClientRequest): void;
1644
+ /**
1645
+ * Get a unique name for a set of request options, to determine whether a
1646
+ * connection can be reused. For an HTTP agent, this returns`host:port:localAddress` or `host:port:localAddress:family`. For an HTTPS agent,
1647
+ * the name includes the CA, cert, ciphers, and other HTTPS/TLS-specific options
1648
+ * that determine socket reusability.
1649
+ * @since v0.11.4
1650
+ * @param options A set of options providing information for name generation
1651
+ */
1652
+ getName(options?: ClientRequestArgs): string;
1573
1653
  }
1574
1654
  const METHODS: string[];
1575
1655
  const STATUS_CODES: {
@@ -1966,18 +2046,18 @@ declare module "http" {
1966
2046
  */
1967
2047
  const maxHeaderSize: number;
1968
2048
  /**
1969
- * A browser-compatible implementation of [WebSocket](https://nodejs.org/docs/latest/api/http.html#websocket).
2049
+ * A browser-compatible implementation of `WebSocket`.
1970
2050
  * @since v22.5.0
1971
2051
  */
1972
- const WebSocket: import("undici-types").WebSocket;
2052
+ const WebSocket: typeof import("undici-types").WebSocket;
1973
2053
  /**
1974
2054
  * @since v22.5.0
1975
2055
  */
1976
- const CloseEvent: import("undici-types").CloseEvent;
2056
+ const CloseEvent: typeof import("undici-types").CloseEvent;
1977
2057
  /**
1978
2058
  * @since v22.5.0
1979
2059
  */
1980
- const MessageEvent: import("undici-types").MessageEvent;
2060
+ const MessageEvent: typeof import("undici-types").MessageEvent;
1981
2061
  }
1982
2062
  declare module "node:http" {
1983
2063
  export * from "http";