@types/node 20.11.19 → 20.11.21

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.
node/README.md CHANGED
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Thu, 15 Feb 2024 16:36:06 GMT
11
+ * Last updated: Tue, 27 Feb 2024 22:35:43 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
node/buffer.d.ts CHANGED
@@ -128,9 +128,10 @@ declare module "buffer" {
128
128
  */
129
129
  export interface BlobOptions {
130
130
  /**
131
- * @default 'utf8'
131
+ * One of either `'transparent'` or `'native'`. When set to `'native'`, line endings in string source parts
132
+ * will be converted to the platform native line-ending as specified by `require('node:os').EOL`.
132
133
  */
133
- encoding?: BufferEncoding | undefined;
134
+ endings?: "transparent" | "native";
134
135
  /**
135
136
  * The Blob content-type. The intent is for `type` to convey
136
137
  * the MIME media type of the data, however no validation of the type format
@@ -162,7 +163,7 @@ declare module "buffer" {
162
163
  *
163
164
  * String sources are also copied into the `Blob`.
164
165
  */
165
- constructor(sources: Array<BinaryLike | Blob>, options?: BlobOptions);
166
+ constructor(sources: Array<ArrayBuffer | BinaryLike | Blob>, options?: BlobOptions);
166
167
  /**
167
168
  * Returns a promise that fulfills with an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) containing a copy of
168
169
  * the `Blob` data.
@@ -415,7 +416,7 @@ declare module "buffer" {
415
416
  * @return The number of bytes contained within `string`.
416
417
  */
417
418
  byteLength(
418
- string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer,
419
+ string: string | Buffer | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer,
419
420
  encoding?: BufferEncoding,
420
421
  ): number;
421
422
  /**
@@ -470,7 +471,7 @@ declare module "buffer" {
470
471
  * ```
471
472
  * @since v19.8.0
472
473
  * @param view The {TypedArray} to copy.
473
- * @param [offset=': 0'] The starting offset within `view`.
474
+ * @param [offset=0] The starting offset within `view`.
474
475
  * @param [length=view.length - offset] The number of elements from `view` to copy.
475
476
  */
476
477
  copyBytesFrom(view: NodeJS.TypedArray, offset?: number, length?: number): Buffer;
@@ -563,8 +564,8 @@ declare module "buffer" {
563
564
  * A `TypeError` will be thrown if `size` is not a number.
564
565
  *
565
566
  * The `Buffer` module pre-allocates an internal `Buffer` instance of
566
- * size `Buffer.poolSize` that is used as a pool for the fast allocation of new`Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,
567
- * and `Buffer.concat()` only when `size` is less than`Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two).
567
+ * size `Buffer.poolSize` that is used as a pool for the fast allocation of new `Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,
568
+ * and `Buffer.concat()` only when `size` is less than `Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two).
568
569
  *
569
570
  * Use of this pre-allocated internal memory pool is a key difference between
570
571
  * calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
node/events.d.ts CHANGED
@@ -92,7 +92,30 @@ declare module "events" {
92
92
  interface StaticEventEmitterOptions {
93
93
  signal?: AbortSignal | undefined;
94
94
  }
95
- interface EventEmitter extends NodeJS.EventEmitter {}
95
+ interface EventEmitter<T extends EventMap<T> = DefaultEventMap> extends NodeJS.EventEmitter<T> {}
96
+ type EventMap<T> = Record<keyof T, any[]> | DefaultEventMap;
97
+ type DefaultEventMap = [never];
98
+ const s: unique symbol;
99
+ type Key<K, T> = T extends DefaultEventMap ? string | symbol : K & (keyof (T & { [s]: never }));
100
+ type Key2<K, T> = T extends DefaultEventMap ? string | symbol : K & (keyof T);
101
+ type AnyRest = [...args: any[]];
102
+ type Args<K, T> = T extends DefaultEventMap ? AnyRest : (
103
+ K extends keyof T ? (
104
+ T[K] extends unknown[] ? T[K] : never
105
+ )
106
+ : never
107
+ );
108
+
109
+ type Listener<K, T, F> = T extends DefaultEventMap ? F : (
110
+ K extends keyof T ? (
111
+ T[K] extends unknown[] ? (...args: T[K]) => void : never
112
+ )
113
+ : never
114
+ );
115
+
116
+ type Listener1<K, T> = Listener<K, T, (...args: any[]) => void>;
117
+ type Listener2<K, T> = Listener<K, T, Function>;
118
+
96
119
  /**
97
120
  * The `EventEmitter` class is defined and exposed by the `node:events` module:
98
121
  *
@@ -106,10 +129,10 @@ declare module "events" {
106
129
  * It supports the following option:
107
130
  * @since v0.1.26
108
131
  */
109
- class EventEmitter {
132
+ class EventEmitter<T extends EventMap<T> = DefaultEventMap> {
110
133
  constructor(options?: EventEmitterOptions);
111
134
 
112
- [EventEmitter.captureRejectionSymbol]?(error: Error, event: string, ...args: any[]): void;
135
+ [EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: Key<K, T>, ...args: Args<K, T>): void;
113
136
 
114
137
  /**
115
138
  * Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given
@@ -536,13 +559,13 @@ declare module "events" {
536
559
  }
537
560
  global {
538
561
  namespace NodeJS {
539
- interface EventEmitter {
540
- [EventEmitter.captureRejectionSymbol]?(error: Error, event: string, ...args: any[]): void;
562
+ interface EventEmitter<T extends EventMap<T> = DefaultEventMap> {
563
+ [EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: Key<K, T>, ...args: Args<K, T>): void;
541
564
  /**
542
565
  * Alias for `emitter.on(eventName, listener)`.
543
566
  * @since v0.1.26
544
567
  */
545
- addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
568
+ addListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
546
569
  /**
547
570
  * Adds the `listener` function to the end of the listeners array for the
548
571
  * event named `eventName`. No checks are made to see if the `listener` has
@@ -574,7 +597,7 @@ declare module "events" {
574
597
  * @param eventName The name of the event.
575
598
  * @param listener The callback function
576
599
  */
577
- on(eventName: string | symbol, listener: (...args: any[]) => void): this;
600
+ on<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
578
601
  /**
579
602
  * Adds a **one-time**`listener` function for the event named `eventName`. The
580
603
  * next time `eventName` is triggered, this listener is removed and then invoked.
@@ -604,7 +627,7 @@ declare module "events" {
604
627
  * @param eventName The name of the event.
605
628
  * @param listener The callback function
606
629
  */
607
- once(eventName: string | symbol, listener: (...args: any[]) => void): this;
630
+ once<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
608
631
  /**
609
632
  * Removes the specified `listener` from the listener array for the event named`eventName`.
610
633
  *
@@ -687,12 +710,12 @@ declare module "events" {
687
710
  * Returns a reference to the `EventEmitter`, so that calls can be chained.
688
711
  * @since v0.1.26
689
712
  */
690
- removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
713
+ removeListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
691
714
  /**
692
715
  * Alias for `emitter.removeListener()`.
693
716
  * @since v10.0.0
694
717
  */
695
- off(eventName: string | symbol, listener: (...args: any[]) => void): this;
718
+ off<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
696
719
  /**
697
720
  * Removes all listeners, or those of the specified `eventName`.
698
721
  *
@@ -703,7 +726,7 @@ declare module "events" {
703
726
  * Returns a reference to the `EventEmitter`, so that calls can be chained.
704
727
  * @since v0.1.26
705
728
  */
706
- removeAllListeners(event?: string | symbol): this;
729
+ removeAllListeners(event?: Key<unknown, T>): this;
707
730
  /**
708
731
  * By default `EventEmitter`s will print a warning if more than `10` listeners are
709
732
  * added for a particular event. This is a useful default that helps finding
@@ -732,7 +755,7 @@ declare module "events" {
732
755
  * ```
733
756
  * @since v0.1.26
734
757
  */
735
- listeners(eventName: string | symbol): Function[];
758
+ listeners<K>(eventName: Key<K, T>): Array<Listener2<K, T>>;
736
759
  /**
737
760
  * Returns a copy of the array of listeners for the event named `eventName`,
738
761
  * including any wrappers (such as those created by `.once()`).
@@ -763,7 +786,7 @@ declare module "events" {
763
786
  * ```
764
787
  * @since v9.4.0
765
788
  */
766
- rawListeners(eventName: string | symbol): Function[];
789
+ rawListeners<K>(eventName: Key<K, T>): Array<Listener2<K, T>>;
767
790
  /**
768
791
  * Synchronously calls each of the listeners registered for the event named`eventName`, in the order they were registered, passing the supplied arguments
769
792
  * to each.
@@ -804,7 +827,7 @@ declare module "events" {
804
827
  * ```
805
828
  * @since v0.1.26
806
829
  */
807
- emit(eventName: string | symbol, ...args: any[]): boolean;
830
+ emit<K>(eventName: Key<K, T>, ...args: Args<K, T>): boolean;
808
831
  /**
809
832
  * Returns the number of listeners listening for the event named `eventName`.
810
833
  * If `listener` is provided, it will return how many times the listener is found
@@ -813,7 +836,7 @@ declare module "events" {
813
836
  * @param eventName The name of the event being listened for
814
837
  * @param listener The event handler function
815
838
  */
816
- listenerCount(eventName: string | symbol, listener?: Function): number;
839
+ listenerCount<K>(eventName: Key<K, T>, listener?: Listener2<K, T>): number;
817
840
  /**
818
841
  * Adds the `listener` function to the _beginning_ of the listeners array for the
819
842
  * event named `eventName`. No checks are made to see if the `listener` has
@@ -831,7 +854,7 @@ declare module "events" {
831
854
  * @param eventName The name of the event.
832
855
  * @param listener The callback function
833
856
  */
834
- prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
857
+ prependListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
835
858
  /**
836
859
  * Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this
837
860
  * listener is removed, and then invoked.
@@ -847,7 +870,7 @@ declare module "events" {
847
870
  * @param eventName The name of the event.
848
871
  * @param listener The callback function
849
872
  */
850
- prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
873
+ prependOnceListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
851
874
  /**
852
875
  * Returns an array listing the events for which the emitter has registered
853
876
  * listeners. The values in the array are strings or `Symbol`s.
@@ -867,7 +890,7 @@ declare module "events" {
867
890
  * ```
868
891
  * @since v6.0.0
869
892
  */
870
- eventNames(): Array<string | symbol>;
893
+ eventNames(): Array<(string | symbol) & Key2<unknown, T>>;
871
894
  }
872
895
  }
873
896
  }
node/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "20.11.19",
3
+ "version": "20.11.21",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -224,6 +224,6 @@
224
224
  "dependencies": {
225
225
  "undici-types": "~5.26.4"
226
226
  },
227
- "typesPublisherContentHash": "e5351494b040e4613bdef02794923b8199853018b6e70876b889958da925d350",
227
+ "typesPublisherContentHash": "49d3cecdb34a87a374175b684fc1cba900e11b8458c06e908070e32713ec3425",
228
228
  "typeScriptVersion": "4.6"
229
229
  }
node/ts4.8/buffer.d.ts CHANGED
@@ -128,9 +128,10 @@ declare module "buffer" {
128
128
  */
129
129
  export interface BlobOptions {
130
130
  /**
131
- * @default 'utf8'
131
+ * One of either `'transparent'` or `'native'`. When set to `'native'`, line endings in string source parts
132
+ * will be converted to the platform native line-ending as specified by `require('node:os').EOL`.
132
133
  */
133
- encoding?: BufferEncoding | undefined;
134
+ endings?: "transparent" | "native";
134
135
  /**
135
136
  * The Blob content-type. The intent is for `type` to convey
136
137
  * the MIME media type of the data, however no validation of the type format
@@ -162,7 +163,7 @@ declare module "buffer" {
162
163
  *
163
164
  * String sources are also copied into the `Blob`.
164
165
  */
165
- constructor(sources: Array<BinaryLike | Blob>, options?: BlobOptions);
166
+ constructor(sources: Array<ArrayBuffer | BinaryLike | Blob>, options?: BlobOptions);
166
167
  /**
167
168
  * Returns a promise that fulfills with an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) containing a copy of
168
169
  * the `Blob` data.
@@ -415,7 +416,7 @@ declare module "buffer" {
415
416
  * @return The number of bytes contained within `string`.
416
417
  */
417
418
  byteLength(
418
- string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer,
419
+ string: string | Buffer | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer,
419
420
  encoding?: BufferEncoding,
420
421
  ): number;
421
422
  /**
@@ -470,7 +471,7 @@ declare module "buffer" {
470
471
  * ```
471
472
  * @since v19.8.0
472
473
  * @param view The {TypedArray} to copy.
473
- * @param [offset=': 0'] The starting offset within `view`.
474
+ * @param [offset=0] The starting offset within `view`.
474
475
  * @param [length=view.length - offset] The number of elements from `view` to copy.
475
476
  */
476
477
  copyBytesFrom(view: NodeJS.TypedArray, offset?: number, length?: number): Buffer;
@@ -563,8 +564,8 @@ declare module "buffer" {
563
564
  * A `TypeError` will be thrown if `size` is not a number.
564
565
  *
565
566
  * The `Buffer` module pre-allocates an internal `Buffer` instance of
566
- * size `Buffer.poolSize` that is used as a pool for the fast allocation of new`Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,
567
- * and `Buffer.concat()` only when `size` is less than`Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two).
567
+ * size `Buffer.poolSize` that is used as a pool for the fast allocation of new `Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,
568
+ * and `Buffer.concat()` only when `size` is less than `Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two).
568
569
  *
569
570
  * Use of this pre-allocated internal memory pool is a key difference between
570
571
  * calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
node/ts4.8/events.d.ts CHANGED
@@ -92,7 +92,30 @@ declare module "events" {
92
92
  interface StaticEventEmitterOptions {
93
93
  signal?: AbortSignal | undefined;
94
94
  }
95
- interface EventEmitter extends NodeJS.EventEmitter {}
95
+ interface EventEmitter<T extends EventMap<T> = DefaultEventMap> extends NodeJS.EventEmitter<T> {}
96
+ type EventMap<T> = Record<keyof T, any[]> | DefaultEventMap;
97
+ type DefaultEventMap = [never];
98
+ const s: unique symbol;
99
+ type Key<K, T> = T extends DefaultEventMap ? string | symbol : K & (keyof (T & { [s]: never }));
100
+ type Key2<K, T> = T extends DefaultEventMap ? string | symbol : K & (keyof T);
101
+ type AnyRest = [...args: any[]];
102
+ type Args<K, T> = T extends DefaultEventMap ? AnyRest : (
103
+ K extends keyof T ? (
104
+ T[K] extends unknown[] ? T[K] : never
105
+ )
106
+ : never
107
+ );
108
+
109
+ type Listener<K, T, F> = T extends DefaultEventMap ? F : (
110
+ K extends keyof T ? (
111
+ T[K] extends unknown[] ? (...args: T[K]) => void : never
112
+ )
113
+ : never
114
+ );
115
+
116
+ type Listener1<K, T> = Listener<K, T, (...args: any[]) => void>;
117
+ type Listener2<K, T> = Listener<K, T, Function>;
118
+
96
119
  /**
97
120
  * The `EventEmitter` class is defined and exposed by the `node:events` module:
98
121
  *
@@ -106,10 +129,10 @@ declare module "events" {
106
129
  * It supports the following option:
107
130
  * @since v0.1.26
108
131
  */
109
- class EventEmitter {
132
+ class EventEmitter<T extends EventMap<T> = DefaultEventMap> {
110
133
  constructor(options?: EventEmitterOptions);
111
134
 
112
- [EventEmitter.captureRejectionSymbol]?(error: Error, event: string, ...args: any[]): void;
135
+ [EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: Key<K, T>, ...args: Args<K, T>): void;
113
136
 
114
137
  /**
115
138
  * Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given
@@ -536,13 +559,13 @@ declare module "events" {
536
559
  }
537
560
  global {
538
561
  namespace NodeJS {
539
- interface EventEmitter {
540
- [EventEmitter.captureRejectionSymbol]?(error: Error, event: string, ...args: any[]): void;
562
+ interface EventEmitter<T extends EventMap<T> = DefaultEventMap> {
563
+ [EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: Key<K, T>, ...args: Args<K, T>): void;
541
564
  /**
542
565
  * Alias for `emitter.on(eventName, listener)`.
543
566
  * @since v0.1.26
544
567
  */
545
- addListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
568
+ addListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
546
569
  /**
547
570
  * Adds the `listener` function to the end of the listeners array for the
548
571
  * event named `eventName`. No checks are made to see if the `listener` has
@@ -574,7 +597,7 @@ declare module "events" {
574
597
  * @param eventName The name of the event.
575
598
  * @param listener The callback function
576
599
  */
577
- on(eventName: string | symbol, listener: (...args: any[]) => void): this;
600
+ on<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
578
601
  /**
579
602
  * Adds a **one-time**`listener` function for the event named `eventName`. The
580
603
  * next time `eventName` is triggered, this listener is removed and then invoked.
@@ -604,7 +627,7 @@ declare module "events" {
604
627
  * @param eventName The name of the event.
605
628
  * @param listener The callback function
606
629
  */
607
- once(eventName: string | symbol, listener: (...args: any[]) => void): this;
630
+ once<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
608
631
  /**
609
632
  * Removes the specified `listener` from the listener array for the event named`eventName`.
610
633
  *
@@ -687,12 +710,12 @@ declare module "events" {
687
710
  * Returns a reference to the `EventEmitter`, so that calls can be chained.
688
711
  * @since v0.1.26
689
712
  */
690
- removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
713
+ removeListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
691
714
  /**
692
715
  * Alias for `emitter.removeListener()`.
693
716
  * @since v10.0.0
694
717
  */
695
- off(eventName: string | symbol, listener: (...args: any[]) => void): this;
718
+ off<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
696
719
  /**
697
720
  * Removes all listeners, or those of the specified `eventName`.
698
721
  *
@@ -703,7 +726,7 @@ declare module "events" {
703
726
  * Returns a reference to the `EventEmitter`, so that calls can be chained.
704
727
  * @since v0.1.26
705
728
  */
706
- removeAllListeners(event?: string | symbol): this;
729
+ removeAllListeners(event?: Key<unknown, T>): this;
707
730
  /**
708
731
  * By default `EventEmitter`s will print a warning if more than `10` listeners are
709
732
  * added for a particular event. This is a useful default that helps finding
@@ -732,7 +755,7 @@ declare module "events" {
732
755
  * ```
733
756
  * @since v0.1.26
734
757
  */
735
- listeners(eventName: string | symbol): Function[];
758
+ listeners<K>(eventName: Key<K, T>): Array<Listener2<K, T>>;
736
759
  /**
737
760
  * Returns a copy of the array of listeners for the event named `eventName`,
738
761
  * including any wrappers (such as those created by `.once()`).
@@ -763,7 +786,7 @@ declare module "events" {
763
786
  * ```
764
787
  * @since v9.4.0
765
788
  */
766
- rawListeners(eventName: string | symbol): Function[];
789
+ rawListeners<K>(eventName: Key<K, T>): Array<Listener2<K, T>>;
767
790
  /**
768
791
  * Synchronously calls each of the listeners registered for the event named`eventName`, in the order they were registered, passing the supplied arguments
769
792
  * to each.
@@ -804,7 +827,7 @@ declare module "events" {
804
827
  * ```
805
828
  * @since v0.1.26
806
829
  */
807
- emit(eventName: string | symbol, ...args: any[]): boolean;
830
+ emit<K>(eventName: Key<K, T>, ...args: Args<K, T>): boolean;
808
831
  /**
809
832
  * Returns the number of listeners listening for the event named `eventName`.
810
833
  * If `listener` is provided, it will return how many times the listener is found
@@ -813,7 +836,7 @@ declare module "events" {
813
836
  * @param eventName The name of the event being listened for
814
837
  * @param listener The event handler function
815
838
  */
816
- listenerCount(eventName: string | symbol, listener?: Function): number;
839
+ listenerCount<K>(eventName: Key<K, T>, listener?: Listener2<K, T>): number;
817
840
  /**
818
841
  * Adds the `listener` function to the _beginning_ of the listeners array for the
819
842
  * event named `eventName`. No checks are made to see if the `listener` has
@@ -831,7 +854,7 @@ declare module "events" {
831
854
  * @param eventName The name of the event.
832
855
  * @param listener The callback function
833
856
  */
834
- prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
857
+ prependListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
835
858
  /**
836
859
  * Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this
837
860
  * listener is removed, and then invoked.
@@ -847,7 +870,7 @@ declare module "events" {
847
870
  * @param eventName The name of the event.
848
871
  * @param listener The callback function
849
872
  */
850
- prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
873
+ prependOnceListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
851
874
  /**
852
875
  * Returns an array listing the events for which the emitter has registered
853
876
  * listeners. The values in the array are strings or `Symbol`s.
@@ -867,7 +890,7 @@ declare module "events" {
867
890
  * ```
868
891
  * @since v6.0.0
869
892
  */
870
- eventNames(): Array<string | symbol>;
893
+ eventNames(): Array<(string | symbol) & Key2<unknown, T>>;
871
894
  }
872
895
  }
873
896
  }