imran-dl 2.3.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of imran-dl might be problematic. Click here for more details.

Files changed (229) hide show
  1. package/.cache/nix/binary-cache-v6.sqlite +0 -0
  2. package/.cache/nix/binary-cache-v6.sqlite-journal +0 -0
  3. package/.cache/replit/__replit_disk_meta.json +1 -0
  4. package/.cache/replit/modules/nodejs-20:v32-20240401-269b323.res +1 -0
  5. package/.cache/replit/modules/replit:v8-20240329-787bc7d.res +1 -0
  6. package/.cache/replit/modules.stamp +0 -0
  7. package/.cache/replit/nix/env.json +1 -0
  8. package/.cache/typescript/5.0/node_modules/.package-lock.json +12 -0
  9. package/.cache/typescript/5.0/node_modules/types-registry/README.md +2 -0
  10. package/.cache/typescript/5.0/node_modules/types-registry/index.json +1 -0
  11. package/.cache/typescript/5.0/node_modules/types-registry/package.json +20 -0
  12. package/.cache/typescript/5.0/package.json +1 -0
  13. package/.cache/typescript/5.3/node_modules/.package-lock.json +114 -0
  14. package/.cache/typescript/5.3/node_modules/@types/cheerio/LICENSE +21 -0
  15. package/.cache/typescript/5.3/node_modules/@types/cheerio/README.md +15 -0
  16. package/.cache/typescript/5.3/node_modules/@types/cheerio/index.d.ts +318 -0
  17. package/.cache/typescript/5.3/node_modules/@types/cheerio/package.json +71 -0
  18. package/.cache/typescript/5.3/node_modules/@types/node/LICENSE +21 -0
  19. package/.cache/typescript/5.3/node_modules/@types/node/README.md +15 -0
  20. package/.cache/typescript/5.3/node_modules/@types/node/assert/strict.d.ts +8 -0
  21. package/.cache/typescript/5.3/node_modules/@types/node/assert.d.ts +996 -0
  22. package/.cache/typescript/5.3/node_modules/@types/node/async_hooks.d.ts +539 -0
  23. package/.cache/typescript/5.3/node_modules/@types/node/buffer.d.ts +2362 -0
  24. package/.cache/typescript/5.3/node_modules/@types/node/child_process.d.ts +1540 -0
  25. package/.cache/typescript/5.3/node_modules/@types/node/cluster.d.ts +432 -0
  26. package/.cache/typescript/5.3/node_modules/@types/node/console.d.ts +415 -0
  27. package/.cache/typescript/5.3/node_modules/@types/node/constants.d.ts +19 -0
  28. package/.cache/typescript/5.3/node_modules/@types/node/crypto.d.ts +4456 -0
  29. package/.cache/typescript/5.3/node_modules/@types/node/dgram.d.ts +586 -0
  30. package/.cache/typescript/5.3/node_modules/@types/node/diagnostics_channel.d.ts +191 -0
  31. package/.cache/typescript/5.3/node_modules/@types/node/dns/promises.d.ts +425 -0
  32. package/.cache/typescript/5.3/node_modules/@types/node/dns.d.ts +809 -0
  33. package/.cache/typescript/5.3/node_modules/@types/node/dom-events.d.ts +122 -0
  34. package/.cache/typescript/5.3/node_modules/@types/node/domain.d.ts +170 -0
  35. package/.cache/typescript/5.3/node_modules/@types/node/events.d.ts +879 -0
  36. package/.cache/typescript/5.3/node_modules/@types/node/fs/promises.d.ts +1239 -0
  37. package/.cache/typescript/5.3/node_modules/@types/node/fs.d.ts +4291 -0
  38. package/.cache/typescript/5.3/node_modules/@types/node/globals.d.ts +385 -0
  39. package/.cache/typescript/5.3/node_modules/@types/node/globals.global.d.ts +1 -0
  40. package/.cache/typescript/5.3/node_modules/@types/node/http.d.ts +1888 -0
  41. package/.cache/typescript/5.3/node_modules/@types/node/http2.d.ts +2382 -0
  42. package/.cache/typescript/5.3/node_modules/@types/node/https.d.ts +550 -0
  43. package/.cache/typescript/5.3/node_modules/@types/node/index.d.ts +88 -0
  44. package/.cache/typescript/5.3/node_modules/@types/node/inspector.d.ts +2747 -0
  45. package/.cache/typescript/5.3/node_modules/@types/node/module.d.ts +301 -0
  46. package/.cache/typescript/5.3/node_modules/@types/node/net.d.ts +949 -0
  47. package/.cache/typescript/5.3/node_modules/@types/node/os.d.ts +478 -0
  48. package/.cache/typescript/5.3/node_modules/@types/node/package.json +230 -0
  49. package/.cache/typescript/5.3/node_modules/@types/node/path.d.ts +191 -0
  50. package/.cache/typescript/5.3/node_modules/@types/node/perf_hooks.d.ts +639 -0
  51. package/.cache/typescript/5.3/node_modules/@types/node/process.d.ts +1539 -0
  52. package/.cache/typescript/5.3/node_modules/@types/node/punycode.d.ts +117 -0
  53. package/.cache/typescript/5.3/node_modules/@types/node/querystring.d.ts +141 -0
  54. package/.cache/typescript/5.3/node_modules/@types/node/readline/promises.d.ts +150 -0
  55. package/.cache/typescript/5.3/node_modules/@types/node/readline.d.ts +539 -0
  56. package/.cache/typescript/5.3/node_modules/@types/node/repl.d.ts +430 -0
  57. package/.cache/typescript/5.3/node_modules/@types/node/stream/consumers.d.ts +12 -0
  58. package/.cache/typescript/5.3/node_modules/@types/node/stream/promises.d.ts +83 -0
  59. package/.cache/typescript/5.3/node_modules/@types/node/stream/web.d.ts +350 -0
  60. package/.cache/typescript/5.3/node_modules/@types/node/stream.d.ts +1701 -0
  61. package/.cache/typescript/5.3/node_modules/@types/node/string_decoder.d.ts +67 -0
  62. package/.cache/typescript/5.3/node_modules/@types/node/test.d.ts +1382 -0
  63. package/.cache/typescript/5.3/node_modules/@types/node/timers/promises.d.ts +93 -0
  64. package/.cache/typescript/5.3/node_modules/@types/node/timers.d.ts +240 -0
  65. package/.cache/typescript/5.3/node_modules/@types/node/tls.d.ts +1210 -0
  66. package/.cache/typescript/5.3/node_modules/@types/node/trace_events.d.ts +182 -0
  67. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/assert/strict.d.ts +8 -0
  68. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/assert.d.ts +996 -0
  69. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/async_hooks.d.ts +539 -0
  70. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/buffer.d.ts +2362 -0
  71. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/child_process.d.ts +1540 -0
  72. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/cluster.d.ts +432 -0
  73. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/console.d.ts +415 -0
  74. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/constants.d.ts +19 -0
  75. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/crypto.d.ts +4455 -0
  76. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dgram.d.ts +586 -0
  77. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +191 -0
  78. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dns/promises.d.ts +425 -0
  79. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dns.d.ts +809 -0
  80. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dom-events.d.ts +122 -0
  81. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/domain.d.ts +170 -0
  82. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/events.d.ts +879 -0
  83. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/fs/promises.d.ts +1239 -0
  84. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/fs.d.ts +4291 -0
  85. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/globals.d.ts +385 -0
  86. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
  87. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/http.d.ts +1888 -0
  88. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/http2.d.ts +2382 -0
  89. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/https.d.ts +550 -0
  90. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/index.d.ts +88 -0
  91. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/inspector.d.ts +2747 -0
  92. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/module.d.ts +301 -0
  93. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/net.d.ts +949 -0
  94. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/os.d.ts +478 -0
  95. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/path.d.ts +191 -0
  96. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/perf_hooks.d.ts +639 -0
  97. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/process.d.ts +1539 -0
  98. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/punycode.d.ts +117 -0
  99. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/querystring.d.ts +141 -0
  100. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/readline/promises.d.ts +150 -0
  101. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/readline.d.ts +539 -0
  102. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/repl.d.ts +430 -0
  103. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/consumers.d.ts +12 -0
  104. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/promises.d.ts +83 -0
  105. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/web.d.ts +350 -0
  106. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream.d.ts +1701 -0
  107. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/string_decoder.d.ts +67 -0
  108. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/test.d.ts +1382 -0
  109. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/timers/promises.d.ts +93 -0
  110. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/timers.d.ts +240 -0
  111. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/tls.d.ts +1210 -0
  112. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/trace_events.d.ts +182 -0
  113. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/tty.d.ts +208 -0
  114. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/url.d.ts +927 -0
  115. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/util.d.ts +2183 -0
  116. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/v8.d.ts +635 -0
  117. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/vm.d.ts +903 -0
  118. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/wasi.d.ts +158 -0
  119. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/worker_threads.d.ts +691 -0
  120. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/zlib.d.ts +517 -0
  121. package/.cache/typescript/5.3/node_modules/@types/node/tty.d.ts +208 -0
  122. package/.cache/typescript/5.3/node_modules/@types/node/url.d.ts +927 -0
  123. package/.cache/typescript/5.3/node_modules/@types/node/util.d.ts +2183 -0
  124. package/.cache/typescript/5.3/node_modules/@types/node/v8.d.ts +635 -0
  125. package/.cache/typescript/5.3/node_modules/@types/node/vm.d.ts +903 -0
  126. package/.cache/typescript/5.3/node_modules/@types/node/wasi.d.ts +158 -0
  127. package/.cache/typescript/5.3/node_modules/@types/node/worker_threads.d.ts +691 -0
  128. package/.cache/typescript/5.3/node_modules/@types/node/zlib.d.ts +517 -0
  129. package/.cache/typescript/5.3/node_modules/@types/node-fetch/LICENSE +21 -0
  130. package/.cache/typescript/5.3/node_modules/@types/node-fetch/README.md +15 -0
  131. package/.cache/typescript/5.3/node_modules/@types/node-fetch/externals.d.ts +32 -0
  132. package/.cache/typescript/5.3/node_modules/@types/node-fetch/index.d.ts +214 -0
  133. package/.cache/typescript/5.3/node_modules/@types/node-fetch/package.json +83 -0
  134. package/.cache/typescript/5.3/node_modules/@types/qs/LICENSE +21 -0
  135. package/.cache/typescript/5.3/node_modules/@types/qs/README.md +15 -0
  136. package/.cache/typescript/5.3/node_modules/@types/qs/index.d.ts +79 -0
  137. package/.cache/typescript/5.3/node_modules/@types/qs/package.json +65 -0
  138. package/.cache/typescript/5.3/node_modules/asynckit/LICENSE +21 -0
  139. package/.cache/typescript/5.3/node_modules/asynckit/README.md +233 -0
  140. package/.cache/typescript/5.3/node_modules/asynckit/bench.js +76 -0
  141. package/.cache/typescript/5.3/node_modules/asynckit/index.js +6 -0
  142. package/.cache/typescript/5.3/node_modules/asynckit/lib/abort.js +29 -0
  143. package/.cache/typescript/5.3/node_modules/asynckit/lib/async.js +34 -0
  144. package/.cache/typescript/5.3/node_modules/asynckit/lib/defer.js +26 -0
  145. package/.cache/typescript/5.3/node_modules/asynckit/lib/iterate.js +75 -0
  146. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  147. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_parallel.js +25 -0
  148. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_serial.js +25 -0
  149. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  150. package/.cache/typescript/5.3/node_modules/asynckit/lib/state.js +37 -0
  151. package/.cache/typescript/5.3/node_modules/asynckit/lib/streamify.js +141 -0
  152. package/.cache/typescript/5.3/node_modules/asynckit/lib/terminator.js +29 -0
  153. package/.cache/typescript/5.3/node_modules/asynckit/package.json +63 -0
  154. package/.cache/typescript/5.3/node_modules/asynckit/parallel.js +43 -0
  155. package/.cache/typescript/5.3/node_modules/asynckit/serial.js +17 -0
  156. package/.cache/typescript/5.3/node_modules/asynckit/serialOrdered.js +75 -0
  157. package/.cache/typescript/5.3/node_modules/asynckit/stream.js +21 -0
  158. package/.cache/typescript/5.3/node_modules/combined-stream/License +19 -0
  159. package/.cache/typescript/5.3/node_modules/combined-stream/Readme.md +138 -0
  160. package/.cache/typescript/5.3/node_modules/combined-stream/lib/combined_stream.js +208 -0
  161. package/.cache/typescript/5.3/node_modules/combined-stream/package.json +25 -0
  162. package/.cache/typescript/5.3/node_modules/combined-stream/yarn.lock +17 -0
  163. package/.cache/typescript/5.3/node_modules/delayed-stream/License +19 -0
  164. package/.cache/typescript/5.3/node_modules/delayed-stream/Makefile +7 -0
  165. package/.cache/typescript/5.3/node_modules/delayed-stream/Readme.md +141 -0
  166. package/.cache/typescript/5.3/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  167. package/.cache/typescript/5.3/node_modules/delayed-stream/package.json +27 -0
  168. package/.cache/typescript/5.3/node_modules/form-data/License +19 -0
  169. package/.cache/typescript/5.3/node_modules/form-data/README.md.bak +358 -0
  170. package/.cache/typescript/5.3/node_modules/form-data/Readme.md +358 -0
  171. package/.cache/typescript/5.3/node_modules/form-data/index.d.ts +62 -0
  172. package/.cache/typescript/5.3/node_modules/form-data/lib/browser.js +2 -0
  173. package/.cache/typescript/5.3/node_modules/form-data/lib/form_data.js +501 -0
  174. package/.cache/typescript/5.3/node_modules/form-data/lib/populate.js +10 -0
  175. package/.cache/typescript/5.3/node_modules/form-data/package.json +68 -0
  176. package/.cache/typescript/5.3/node_modules/mime-db/HISTORY.md +507 -0
  177. package/.cache/typescript/5.3/node_modules/mime-db/LICENSE +23 -0
  178. package/.cache/typescript/5.3/node_modules/mime-db/README.md +100 -0
  179. package/.cache/typescript/5.3/node_modules/mime-db/db.json +8519 -0
  180. package/.cache/typescript/5.3/node_modules/mime-db/index.js +12 -0
  181. package/.cache/typescript/5.3/node_modules/mime-db/package.json +60 -0
  182. package/.cache/typescript/5.3/node_modules/mime-types/HISTORY.md +397 -0
  183. package/.cache/typescript/5.3/node_modules/mime-types/LICENSE +23 -0
  184. package/.cache/typescript/5.3/node_modules/mime-types/README.md +113 -0
  185. package/.cache/typescript/5.3/node_modules/mime-types/index.js +188 -0
  186. package/.cache/typescript/5.3/node_modules/mime-types/package.json +44 -0
  187. package/.cache/typescript/5.3/node_modules/types-registry/README.md +2 -0
  188. package/.cache/typescript/5.3/node_modules/types-registry/index.json +1 -0
  189. package/.cache/typescript/5.3/node_modules/types-registry/package.json +20 -0
  190. package/.cache/typescript/5.3/node_modules/undici-types/README.md +6 -0
  191. package/.cache/typescript/5.3/node_modules/undici-types/agent.d.ts +31 -0
  192. package/.cache/typescript/5.3/node_modules/undici-types/api.d.ts +43 -0
  193. package/.cache/typescript/5.3/node_modules/undici-types/balanced-pool.d.ts +18 -0
  194. package/.cache/typescript/5.3/node_modules/undici-types/cache.d.ts +36 -0
  195. package/.cache/typescript/5.3/node_modules/undici-types/client.d.ts +97 -0
  196. package/.cache/typescript/5.3/node_modules/undici-types/connector.d.ts +34 -0
  197. package/.cache/typescript/5.3/node_modules/undici-types/content-type.d.ts +21 -0
  198. package/.cache/typescript/5.3/node_modules/undici-types/cookies.d.ts +28 -0
  199. package/.cache/typescript/5.3/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
  200. package/.cache/typescript/5.3/node_modules/undici-types/dispatcher.d.ts +241 -0
  201. package/.cache/typescript/5.3/node_modules/undici-types/errors.d.ts +128 -0
  202. package/.cache/typescript/5.3/node_modules/undici-types/fetch.d.ts +209 -0
  203. package/.cache/typescript/5.3/node_modules/undici-types/file.d.ts +39 -0
  204. package/.cache/typescript/5.3/node_modules/undici-types/filereader.d.ts +54 -0
  205. package/.cache/typescript/5.3/node_modules/undici-types/formdata.d.ts +108 -0
  206. package/.cache/typescript/5.3/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  207. package/.cache/typescript/5.3/node_modules/undici-types/global-origin.d.ts +7 -0
  208. package/.cache/typescript/5.3/node_modules/undici-types/handlers.d.ts +9 -0
  209. package/.cache/typescript/5.3/node_modules/undici-types/header.d.ts +4 -0
  210. package/.cache/typescript/5.3/node_modules/undici-types/index.d.ts +63 -0
  211. package/.cache/typescript/5.3/node_modules/undici-types/interceptors.d.ts +5 -0
  212. package/.cache/typescript/5.3/node_modules/undici-types/mock-agent.d.ts +50 -0
  213. package/.cache/typescript/5.3/node_modules/undici-types/mock-client.d.ts +25 -0
  214. package/.cache/typescript/5.3/node_modules/undici-types/mock-errors.d.ts +12 -0
  215. package/.cache/typescript/5.3/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  216. package/.cache/typescript/5.3/node_modules/undici-types/mock-pool.d.ts +25 -0
  217. package/.cache/typescript/5.3/node_modules/undici-types/package.json +55 -0
  218. package/.cache/typescript/5.3/node_modules/undici-types/patch.d.ts +71 -0
  219. package/.cache/typescript/5.3/node_modules/undici-types/pool-stats.d.ts +19 -0
  220. package/.cache/typescript/5.3/node_modules/undici-types/pool.d.ts +28 -0
  221. package/.cache/typescript/5.3/node_modules/undici-types/proxy-agent.d.ts +30 -0
  222. package/.cache/typescript/5.3/node_modules/undici-types/readable.d.ts +61 -0
  223. package/.cache/typescript/5.3/node_modules/undici-types/webidl.d.ts +220 -0
  224. package/.cache/typescript/5.3/node_modules/undici-types/websocket.d.ts +131 -0
  225. package/.cache/typescript/5.3/package.json +1 -0
  226. package/IMRAN/module.js +1 -0
  227. package/README.md +64 -0
  228. package/index.js +13 -0
  229. package/package.json +48 -0
@@ -0,0 +1,635 @@
1
+ /**
2
+ * The `node:v8` module exposes APIs that are specific to the version of [V8](https://developers.google.com/v8/) built into the Node.js binary. It can be accessed using:
3
+ *
4
+ * ```js
5
+ * const v8 = require('node:v8');
6
+ * ```
7
+ * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/v8.js)
8
+ */
9
+ declare module "v8" {
10
+ import { Readable } from "node:stream";
11
+ interface HeapSpaceInfo {
12
+ space_name: string;
13
+ space_size: number;
14
+ space_used_size: number;
15
+ space_available_size: number;
16
+ physical_space_size: number;
17
+ }
18
+ // ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */
19
+ type DoesZapCodeSpaceFlag = 0 | 1;
20
+ interface HeapInfo {
21
+ total_heap_size: number;
22
+ total_heap_size_executable: number;
23
+ total_physical_size: number;
24
+ total_available_size: number;
25
+ used_heap_size: number;
26
+ heap_size_limit: number;
27
+ malloced_memory: number;
28
+ peak_malloced_memory: number;
29
+ does_zap_garbage: DoesZapCodeSpaceFlag;
30
+ number_of_native_contexts: number;
31
+ number_of_detached_contexts: number;
32
+ total_global_handles_size: number;
33
+ used_global_handles_size: number;
34
+ external_memory: number;
35
+ }
36
+ interface HeapCodeStatistics {
37
+ code_and_metadata_size: number;
38
+ bytecode_and_metadata_size: number;
39
+ external_script_source_size: number;
40
+ }
41
+ /**
42
+ * Returns an integer representing a version tag derived from the V8 version,
43
+ * command-line flags, and detected CPU features. This is useful for determining
44
+ * whether a `vm.Script` `cachedData` buffer is compatible with this instance
45
+ * of V8.
46
+ *
47
+ * ```js
48
+ * console.log(v8.cachedDataVersionTag()); // 3947234607
49
+ * // The value returned by v8.cachedDataVersionTag() is derived from the V8
50
+ * // version, command-line flags, and detected CPU features. Test that the value
51
+ * // does indeed update when flags are toggled.
52
+ * v8.setFlagsFromString('--allow_natives_syntax');
53
+ * console.log(v8.cachedDataVersionTag()); // 183726201
54
+ * ```
55
+ * @since v8.0.0
56
+ */
57
+ function cachedDataVersionTag(): number;
58
+ /**
59
+ * Returns an object with the following properties:
60
+ *
61
+ * `does_zap_garbage` is a 0/1 boolean, which signifies whether the`--zap_code_space` option is enabled or not. This makes V8 overwrite heap
62
+ * garbage with a bit pattern. The RSS footprint (resident set size) gets bigger
63
+ * because it continuously touches all heap pages and that makes them less likely
64
+ * to get swapped out by the operating system.
65
+ *
66
+ * `number_of_native_contexts` The value of native\_context is the number of the
67
+ * top-level contexts currently active. Increase of this number over time indicates
68
+ * a memory leak.
69
+ *
70
+ * `number_of_detached_contexts` The value of detached\_context is the number
71
+ * of contexts that were detached and not yet garbage collected. This number
72
+ * being non-zero indicates a potential memory leak.
73
+ *
74
+ * `total_global_handles_size` The value of total\_global\_handles\_size is the
75
+ * total memory size of V8 global handles.
76
+ *
77
+ * `used_global_handles_size` The value of used\_global\_handles\_size is the
78
+ * used memory size of V8 global handles.
79
+ *
80
+ * `external_memory` The value of external\_memory is the memory size of array
81
+ * buffers and external strings.
82
+ *
83
+ * ```js
84
+ * {
85
+ * total_heap_size: 7326976,
86
+ * total_heap_size_executable: 4194304,
87
+ * total_physical_size: 7326976,
88
+ * total_available_size: 1152656,
89
+ * used_heap_size: 3476208,
90
+ * heap_size_limit: 1535115264,
91
+ * malloced_memory: 16384,
92
+ * peak_malloced_memory: 1127496,
93
+ * does_zap_garbage: 0,
94
+ * number_of_native_contexts: 1,
95
+ * number_of_detached_contexts: 0,
96
+ * total_global_handles_size: 8192,
97
+ * used_global_handles_size: 3296,
98
+ * external_memory: 318824
99
+ * }
100
+ * ```
101
+ * @since v1.0.0
102
+ */
103
+ function getHeapStatistics(): HeapInfo;
104
+ /**
105
+ * Returns statistics about the V8 heap spaces, i.e. the segments which make up
106
+ * the V8 heap. Neither the ordering of heap spaces, nor the availability of a
107
+ * heap space can be guaranteed as the statistics are provided via the
108
+ * V8[`GetHeapSpaceStatistics`](https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#ac673576f24fdc7a33378f8f57e1d13a4) function and may change from one V8 version to the
109
+ * next.
110
+ *
111
+ * The value returned is an array of objects containing the following properties:
112
+ *
113
+ * ```json
114
+ * [
115
+ * {
116
+ * "space_name": "new_space",
117
+ * "space_size": 2063872,
118
+ * "space_used_size": 951112,
119
+ * "space_available_size": 80824,
120
+ * "physical_space_size": 2063872
121
+ * },
122
+ * {
123
+ * "space_name": "old_space",
124
+ * "space_size": 3090560,
125
+ * "space_used_size": 2493792,
126
+ * "space_available_size": 0,
127
+ * "physical_space_size": 3090560
128
+ * },
129
+ * {
130
+ * "space_name": "code_space",
131
+ * "space_size": 1260160,
132
+ * "space_used_size": 644256,
133
+ * "space_available_size": 960,
134
+ * "physical_space_size": 1260160
135
+ * },
136
+ * {
137
+ * "space_name": "map_space",
138
+ * "space_size": 1094160,
139
+ * "space_used_size": 201608,
140
+ * "space_available_size": 0,
141
+ * "physical_space_size": 1094160
142
+ * },
143
+ * {
144
+ * "space_name": "large_object_space",
145
+ * "space_size": 0,
146
+ * "space_used_size": 0,
147
+ * "space_available_size": 1490980608,
148
+ * "physical_space_size": 0
149
+ * }
150
+ * ]
151
+ * ```
152
+ * @since v6.0.0
153
+ */
154
+ function getHeapSpaceStatistics(): HeapSpaceInfo[];
155
+ /**
156
+ * The `v8.setFlagsFromString()` method can be used to programmatically set
157
+ * V8 command-line flags. This method should be used with care. Changing settings
158
+ * after the VM has started may result in unpredictable behavior, including
159
+ * crashes and data loss; or it may simply do nothing.
160
+ *
161
+ * The V8 options available for a version of Node.js may be determined by running`node --v8-options`.
162
+ *
163
+ * Usage:
164
+ *
165
+ * ```js
166
+ * // Print GC events to stdout for one minute.
167
+ * const v8 = require('node:v8');
168
+ * v8.setFlagsFromString('--trace_gc');
169
+ * setTimeout(() => { v8.setFlagsFromString('--notrace_gc'); }, 60e3);
170
+ * ```
171
+ * @since v1.0.0
172
+ */
173
+ function setFlagsFromString(flags: string): void;
174
+ /**
175
+ * Generates a snapshot of the current V8 heap and returns a Readable
176
+ * Stream that may be used to read the JSON serialized representation.
177
+ * This JSON stream format is intended to be used with tools such as
178
+ * Chrome DevTools. The JSON schema is undocumented and specific to the
179
+ * V8 engine. Therefore, the schema may change from one version of V8 to the next.
180
+ *
181
+ * Creating a heap snapshot requires memory about twice the size of the heap at
182
+ * the time the snapshot is created. This results in the risk of OOM killers
183
+ * terminating the process.
184
+ *
185
+ * Generating a snapshot is a synchronous operation which blocks the event loop
186
+ * for a duration depending on the heap size.
187
+ *
188
+ * ```js
189
+ * // Print heap snapshot to the console
190
+ * const v8 = require('node:v8');
191
+ * const stream = v8.getHeapSnapshot();
192
+ * stream.pipe(process.stdout);
193
+ * ```
194
+ * @since v11.13.0
195
+ * @return A Readable containing the V8 heap snapshot.
196
+ */
197
+ function getHeapSnapshot(): Readable;
198
+ /**
199
+ * Generates a snapshot of the current V8 heap and writes it to a JSON
200
+ * file. This file is intended to be used with tools such as Chrome
201
+ * DevTools. The JSON schema is undocumented and specific to the V8
202
+ * engine, and may change from one version of V8 to the next.
203
+ *
204
+ * A heap snapshot is specific to a single V8 isolate. When using `worker threads`, a heap snapshot generated from the main thread will
205
+ * not contain any information about the workers, and vice versa.
206
+ *
207
+ * Creating a heap snapshot requires memory about twice the size of the heap at
208
+ * the time the snapshot is created. This results in the risk of OOM killers
209
+ * terminating the process.
210
+ *
211
+ * Generating a snapshot is a synchronous operation which blocks the event loop
212
+ * for a duration depending on the heap size.
213
+ *
214
+ * ```js
215
+ * const { writeHeapSnapshot } = require('node:v8');
216
+ * const {
217
+ * Worker,
218
+ * isMainThread,
219
+ * parentPort,
220
+ * } = require('node:worker_threads');
221
+ *
222
+ * if (isMainThread) {
223
+ * const worker = new Worker(__filename);
224
+ *
225
+ * worker.once('message', (filename) => {
226
+ * console.log(`worker heapdump: ${filename}`);
227
+ * // Now get a heapdump for the main thread.
228
+ * console.log(`main thread heapdump: ${writeHeapSnapshot()}`);
229
+ * });
230
+ *
231
+ * // Tell the worker to create a heapdump.
232
+ * worker.postMessage('heapdump');
233
+ * } else {
234
+ * parentPort.once('message', (message) => {
235
+ * if (message === 'heapdump') {
236
+ * // Generate a heapdump for the worker
237
+ * // and return the filename to the parent.
238
+ * parentPort.postMessage(writeHeapSnapshot());
239
+ * }
240
+ * });
241
+ * }
242
+ * ```
243
+ * @since v11.13.0
244
+ * @param filename The file path where the V8 heap snapshot is to be saved. If not specified, a file name with the pattern `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be
245
+ * generated, where `{pid}` will be the PID of the Node.js process, `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from the main Node.js thread or the id of a
246
+ * worker thread.
247
+ * @return The filename where the snapshot was saved.
248
+ */
249
+ function writeHeapSnapshot(filename?: string): string;
250
+ /**
251
+ * Get statistics about code and its metadata in the heap, see
252
+ * V8[`GetHeapCodeAndMetadataStatistics`](https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#a6079122af17612ef54ef3348ce170866) API. Returns an object with the
253
+ * following properties:
254
+ *
255
+ * ```js
256
+ * {
257
+ * code_and_metadata_size: 212208,
258
+ * bytecode_and_metadata_size: 161368,
259
+ * external_script_source_size: 1410794,
260
+ * cpu_profiler_metadata_size: 0,
261
+ * }
262
+ * ```
263
+ * @since v12.8.0
264
+ */
265
+ function getHeapCodeStatistics(): HeapCodeStatistics;
266
+ /**
267
+ * @since v8.0.0
268
+ */
269
+ class Serializer {
270
+ /**
271
+ * Writes out a header, which includes the serialization format version.
272
+ */
273
+ writeHeader(): void;
274
+ /**
275
+ * Serializes a JavaScript value and adds the serialized representation to the
276
+ * internal buffer.
277
+ *
278
+ * This throws an error if `value` cannot be serialized.
279
+ */
280
+ writeValue(val: any): boolean;
281
+ /**
282
+ * Returns the stored internal buffer. This serializer should not be used once
283
+ * the buffer is released. Calling this method results in undefined behavior
284
+ * if a previous write has failed.
285
+ */
286
+ releaseBuffer(): Buffer;
287
+ /**
288
+ * Marks an `ArrayBuffer` as having its contents transferred out of band.
289
+ * Pass the corresponding `ArrayBuffer` in the deserializing context to `deserializer.transferArrayBuffer()`.
290
+ * @param id A 32-bit unsigned integer.
291
+ * @param arrayBuffer An `ArrayBuffer` instance.
292
+ */
293
+ transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void;
294
+ /**
295
+ * Write a raw 32-bit unsigned integer.
296
+ * For use inside of a custom `serializer._writeHostObject()`.
297
+ */
298
+ writeUint32(value: number): void;
299
+ /**
300
+ * Write a raw 64-bit unsigned integer, split into high and low 32-bit parts.
301
+ * For use inside of a custom `serializer._writeHostObject()`.
302
+ */
303
+ writeUint64(hi: number, lo: number): void;
304
+ /**
305
+ * Write a JS `number` value.
306
+ * For use inside of a custom `serializer._writeHostObject()`.
307
+ */
308
+ writeDouble(value: number): void;
309
+ /**
310
+ * Write raw bytes into the serializer's internal buffer. The deserializer
311
+ * will require a way to compute the length of the buffer.
312
+ * For use inside of a custom `serializer._writeHostObject()`.
313
+ */
314
+ writeRawBytes(buffer: NodeJS.TypedArray): void;
315
+ }
316
+ /**
317
+ * A subclass of `Serializer` that serializes `TypedArray`(in particular `Buffer`) and `DataView` objects as host objects, and only
318
+ * stores the part of their underlying `ArrayBuffer`s that they are referring to.
319
+ * @since v8.0.0
320
+ */
321
+ class DefaultSerializer extends Serializer {}
322
+ /**
323
+ * @since v8.0.0
324
+ */
325
+ class Deserializer {
326
+ constructor(data: NodeJS.TypedArray);
327
+ /**
328
+ * Reads and validates a header (including the format version).
329
+ * May, for example, reject an invalid or unsupported wire format. In that case,
330
+ * an `Error` is thrown.
331
+ */
332
+ readHeader(): boolean;
333
+ /**
334
+ * Deserializes a JavaScript value from the buffer and returns it.
335
+ */
336
+ readValue(): any;
337
+ /**
338
+ * Marks an `ArrayBuffer` as having its contents transferred out of band.
339
+ * Pass the corresponding `ArrayBuffer` in the serializing context to `serializer.transferArrayBuffer()` (or return the `id` from `serializer._getSharedArrayBufferId()` in the case of
340
+ * `SharedArrayBuffer`s).
341
+ * @param id A 32-bit unsigned integer.
342
+ * @param arrayBuffer An `ArrayBuffer` instance.
343
+ */
344
+ transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void;
345
+ /**
346
+ * Reads the underlying wire format version. Likely mostly to be useful to
347
+ * legacy code reading old wire format versions. May not be called before`.readHeader()`.
348
+ */
349
+ getWireFormatVersion(): number;
350
+ /**
351
+ * Read a raw 32-bit unsigned integer and return it.
352
+ * For use inside of a custom `deserializer._readHostObject()`.
353
+ */
354
+ readUint32(): number;
355
+ /**
356
+ * Read a raw 64-bit unsigned integer and return it as an array `[hi, lo]`with two 32-bit unsigned integer entries.
357
+ * For use inside of a custom `deserializer._readHostObject()`.
358
+ */
359
+ readUint64(): [number, number];
360
+ /**
361
+ * Read a JS `number` value.
362
+ * For use inside of a custom `deserializer._readHostObject()`.
363
+ */
364
+ readDouble(): number;
365
+ /**
366
+ * Read raw bytes from the deserializer's internal buffer. The `length` parameter
367
+ * must correspond to the length of the buffer that was passed to `serializer.writeRawBytes()`.
368
+ * For use inside of a custom `deserializer._readHostObject()`.
369
+ */
370
+ readRawBytes(length: number): Buffer;
371
+ }
372
+ /**
373
+ * A subclass of `Deserializer` corresponding to the format written by `DefaultSerializer`.
374
+ * @since v8.0.0
375
+ */
376
+ class DefaultDeserializer extends Deserializer {}
377
+ /**
378
+ * Uses a `DefaultSerializer` to serialize `value` into a buffer.
379
+ *
380
+ * `ERR_BUFFER_TOO_LARGE` will be thrown when trying to
381
+ * serialize a huge object which requires buffer
382
+ * larger than `buffer.constants.MAX_LENGTH`.
383
+ * @since v8.0.0
384
+ */
385
+ function serialize(value: any): Buffer;
386
+ /**
387
+ * Uses a `DefaultDeserializer` with default options to read a JS value
388
+ * from a buffer.
389
+ * @since v8.0.0
390
+ * @param buffer A buffer returned by {@link serialize}.
391
+ */
392
+ function deserialize(buffer: NodeJS.TypedArray): any;
393
+ /**
394
+ * The `v8.takeCoverage()` method allows the user to write the coverage started by `NODE_V8_COVERAGE` to disk on demand. This method can be invoked multiple
395
+ * times during the lifetime of the process. Each time the execution counter will
396
+ * be reset and a new coverage report will be written to the directory specified
397
+ * by `NODE_V8_COVERAGE`.
398
+ *
399
+ * When the process is about to exit, one last coverage will still be written to
400
+ * disk unless {@link stopCoverage} is invoked before the process exits.
401
+ * @since v15.1.0, v14.18.0, v12.22.0
402
+ */
403
+ function takeCoverage(): void;
404
+ /**
405
+ * The `v8.stopCoverage()` method allows the user to stop the coverage collection
406
+ * started by `NODE_V8_COVERAGE`, so that V8 can release the execution count
407
+ * records and optimize code. This can be used in conjunction with {@link takeCoverage} if the user wants to collect the coverage on demand.
408
+ * @since v15.1.0, v14.18.0, v12.22.0
409
+ */
410
+ function stopCoverage(): void;
411
+ /**
412
+ * This API collects GC data in current thread.
413
+ * @since v19.6.0, v18.15.0
414
+ */
415
+ class GCProfiler {
416
+ /**
417
+ * Start collecting GC data.
418
+ * @since v19.6.0, v18.15.0
419
+ */
420
+ start(): void;
421
+ /**
422
+ * Stop collecting GC data and return an object.The content of object
423
+ * is as follows.
424
+ *
425
+ * ```json
426
+ * {
427
+ * "version": 1,
428
+ * "startTime": 1674059033862,
429
+ * "statistics": [
430
+ * {
431
+ * "gcType": "Scavenge",
432
+ * "beforeGC": {
433
+ * "heapStatistics": {
434
+ * "totalHeapSize": 5005312,
435
+ * "totalHeapSizeExecutable": 524288,
436
+ * "totalPhysicalSize": 5226496,
437
+ * "totalAvailableSize": 4341325216,
438
+ * "totalGlobalHandlesSize": 8192,
439
+ * "usedGlobalHandlesSize": 2112,
440
+ * "usedHeapSize": 4883840,
441
+ * "heapSizeLimit": 4345298944,
442
+ * "mallocedMemory": 254128,
443
+ * "externalMemory": 225138,
444
+ * "peakMallocedMemory": 181760
445
+ * },
446
+ * "heapSpaceStatistics": [
447
+ * {
448
+ * "spaceName": "read_only_space",
449
+ * "spaceSize": 0,
450
+ * "spaceUsedSize": 0,
451
+ * "spaceAvailableSize": 0,
452
+ * "physicalSpaceSize": 0
453
+ * }
454
+ * ]
455
+ * },
456
+ * "cost": 1574.14,
457
+ * "afterGC": {
458
+ * "heapStatistics": {
459
+ * "totalHeapSize": 6053888,
460
+ * "totalHeapSizeExecutable": 524288,
461
+ * "totalPhysicalSize": 5500928,
462
+ * "totalAvailableSize": 4341101384,
463
+ * "totalGlobalHandlesSize": 8192,
464
+ * "usedGlobalHandlesSize": 2112,
465
+ * "usedHeapSize": 4059096,
466
+ * "heapSizeLimit": 4345298944,
467
+ * "mallocedMemory": 254128,
468
+ * "externalMemory": 225138,
469
+ * "peakMallocedMemory": 181760
470
+ * },
471
+ * "heapSpaceStatistics": [
472
+ * {
473
+ * "spaceName": "read_only_space",
474
+ * "spaceSize": 0,
475
+ * "spaceUsedSize": 0,
476
+ * "spaceAvailableSize": 0,
477
+ * "physicalSpaceSize": 0
478
+ * }
479
+ * ]
480
+ * }
481
+ * }
482
+ * ],
483
+ * "endTime": 1674059036865
484
+ * }
485
+ * ```
486
+ *
487
+ * Here's an example.
488
+ *
489
+ * ```js
490
+ * const { GCProfiler } = require('v8');
491
+ * const profiler = new GCProfiler();
492
+ * profiler.start();
493
+ * setTimeout(() => {
494
+ * console.log(profiler.stop());
495
+ * }, 1000);
496
+ * ```
497
+ * @since v19.6.0, v18.15.0
498
+ */
499
+ stop(): GCProfilerResult;
500
+ }
501
+ interface GCProfilerResult {
502
+ version: number;
503
+ startTime: number;
504
+ endTime: number;
505
+ statistics: Array<{
506
+ gcType: string;
507
+ cost: number;
508
+ beforeGC: {
509
+ heapStatistics: HeapStatistics;
510
+ heapSpaceStatistics: HeapSpaceStatistics[];
511
+ };
512
+ afterGC: {
513
+ heapStatistics: HeapStatistics;
514
+ heapSpaceStatistics: HeapSpaceStatistics[];
515
+ };
516
+ }>;
517
+ }
518
+ interface HeapStatistics {
519
+ totalHeapSize: number;
520
+ totalHeapSizeExecutable: number;
521
+ totalPhysicalSize: number;
522
+ totalAvailableSize: number;
523
+ totalGlobalHandlesSize: number;
524
+ usedGlobalHandlesSize: number;
525
+ usedHeapSize: number;
526
+ heapSizeLimit: number;
527
+ mallocedMemory: number;
528
+ externalMemory: number;
529
+ peakMallocedMemory: number;
530
+ }
531
+ interface HeapSpaceStatistics {
532
+ spaceName: string;
533
+ spaceSize: number;
534
+ spaceUsedSize: number;
535
+ spaceAvailableSize: number;
536
+ physicalSpaceSize: number;
537
+ }
538
+ /**
539
+ * Called when a promise is constructed. This does not mean that corresponding before/after events will occur, only that the possibility exists. This will
540
+ * happen if a promise is created without ever getting a continuation.
541
+ * @since v17.1.0, v16.14.0
542
+ * @param promise The promise being created.
543
+ * @param parent The promise continued from, if applicable.
544
+ */
545
+ interface Init {
546
+ (promise: Promise<unknown>, parent: Promise<unknown>): void;
547
+ }
548
+ /**
549
+ * Called before a promise continuation executes. This can be in the form of `then()`, `catch()`, or `finally()` handlers or an await resuming.
550
+ *
551
+ * The before callback will be called 0 to N times. The before callback will typically be called 0 times if no continuation was ever made for the promise.
552
+ * The before callback may be called many times in the case where many continuations have been made from the same promise.
553
+ * @since v17.1.0, v16.14.0
554
+ */
555
+ interface Before {
556
+ (promise: Promise<unknown>): void;
557
+ }
558
+ /**
559
+ * Called immediately after a promise continuation executes. This may be after a `then()`, `catch()`, or `finally()` handler or before an await after another await.
560
+ * @since v17.1.0, v16.14.0
561
+ */
562
+ interface After {
563
+ (promise: Promise<unknown>): void;
564
+ }
565
+ /**
566
+ * Called when the promise receives a resolution or rejection value. This may occur synchronously in the case of {@link Promise.resolve()} or
567
+ * {@link Promise.reject()}.
568
+ * @since v17.1.0, v16.14.0
569
+ */
570
+ interface Settled {
571
+ (promise: Promise<unknown>): void;
572
+ }
573
+ /**
574
+ * Key events in the lifetime of a promise have been categorized into four areas: creation of a promise, before/after a continuation handler is called or
575
+ * around an await, and when the promise resolves or rejects.
576
+ *
577
+ * Because promises are asynchronous resources whose lifecycle is tracked via the promise hooks mechanism, the `init()`, `before()`, `after()`, and
578
+ * `settled()` callbacks must not be async functions as they create more promises which would produce an infinite loop.
579
+ * @since v17.1.0, v16.14.0
580
+ */
581
+ interface HookCallbacks {
582
+ init?: Init;
583
+ before?: Before;
584
+ after?: After;
585
+ settled?: Settled;
586
+ }
587
+ interface PromiseHooks {
588
+ /**
589
+ * The `init` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop.
590
+ * @since v17.1.0, v16.14.0
591
+ * @param init The {@link Init | `init` callback} to call when a promise is created.
592
+ * @return Call to stop the hook.
593
+ */
594
+ onInit: (init: Init) => Function;
595
+ /**
596
+ * The `settled` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop.
597
+ * @since v17.1.0, v16.14.0
598
+ * @param settled The {@link Settled | `settled` callback} to call when a promise is created.
599
+ * @return Call to stop the hook.
600
+ */
601
+ onSettled: (settled: Settled) => Function;
602
+ /**
603
+ * The `before` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop.
604
+ * @since v17.1.0, v16.14.0
605
+ * @param before The {@link Before | `before` callback} to call before a promise continuation executes.
606
+ * @return Call to stop the hook.
607
+ */
608
+ onBefore: (before: Before) => Function;
609
+ /**
610
+ * The `after` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop.
611
+ * @since v17.1.0, v16.14.0
612
+ * @param after The {@link After | `after` callback} to call after a promise continuation executes.
613
+ * @return Call to stop the hook.
614
+ */
615
+ onAfter: (after: After) => Function;
616
+ /**
617
+ * Registers functions to be called for different lifetime events of each promise.
618
+ * The callbacks `init()`/`before()`/`after()`/`settled()` are called for the respective events during a promise's lifetime.
619
+ * All callbacks are optional. For example, if only promise creation needs to be tracked, then only the init callback needs to be passed.
620
+ * The hook callbacks must be plain functions. Providing async functions will throw as it would produce an infinite microtask loop.
621
+ * @since v17.1.0, v16.14.0
622
+ * @param callbacks The {@link HookCallbacks | Hook Callbacks} to register
623
+ * @return Used for disabling hooks
624
+ */
625
+ createHook: (callbacks: HookCallbacks) => Function;
626
+ }
627
+ /**
628
+ * The `promiseHooks` interface can be used to track promise lifecycle events.
629
+ * @since v17.1.0, v16.14.0
630
+ */
631
+ const promiseHooks: PromiseHooks;
632
+ }
633
+ declare module "node:v8" {
634
+ export * from "v8";
635
+ }