@tsc-rs/typescript 0.0.0-placeholder → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.txt +599 -0
  3. package/README.md +111 -0
  4. package/bin/tsc +2 -0
  5. package/dist/api/async/api.d.ts +1041 -0
  6. package/dist/api/async/api.d.ts.map +1 -0
  7. package/dist/api/async/api.js +3143 -0
  8. package/dist/api/async/api.js.map +1 -0
  9. package/dist/api/async/client.d.ts +52 -0
  10. package/dist/api/async/client.d.ts.map +1 -0
  11. package/dist/api/async/client.js +365 -0
  12. package/dist/api/async/client.js.map +1 -0
  13. package/dist/api/async/types.d.ts +375 -0
  14. package/dist/api/async/types.d.ts.map +1 -0
  15. package/dist/api/async/types.js +2 -0
  16. package/dist/api/async/types.js.map +1 -0
  17. package/dist/api/compilerOptions.generated.d.ts +123 -0
  18. package/dist/api/compilerOptions.generated.d.ts.map +1 -0
  19. package/dist/api/compilerOptions.generated.js +8 -0
  20. package/dist/api/compilerOptions.generated.js.map +1 -0
  21. package/dist/api/diagnosticFormatter.d.ts +9 -0
  22. package/dist/api/diagnosticFormatter.d.ts.map +1 -0
  23. package/dist/api/diagnosticFormatter.js +169 -0
  24. package/dist/api/diagnosticFormatter.js.map +1 -0
  25. package/dist/api/fs.d.ts +78 -0
  26. package/dist/api/fs.d.ts.map +1 -0
  27. package/dist/api/fs.js +70 -0
  28. package/dist/api/fs.js.map +1 -0
  29. package/dist/api/fsCallbacks.d.ts +27 -0
  30. package/dist/api/fsCallbacks.d.ts.map +1 -0
  31. package/dist/api/fsCallbacks.js +111 -0
  32. package/dist/api/fsCallbacks.js.map +1 -0
  33. package/dist/api/node/encoder.d.ts +18 -0
  34. package/dist/api/node/encoder.d.ts.map +1 -0
  35. package/dist/api/node/encoder.generated.d.ts +5 -0
  36. package/dist/api/node/encoder.generated.d.ts.map +1 -0
  37. package/dist/api/node/encoder.generated.js +74 -0
  38. package/dist/api/node/encoder.generated.js.map +1 -0
  39. package/dist/api/node/encoder.js +292 -0
  40. package/dist/api/node/encoder.js.map +1 -0
  41. package/dist/api/node/msgpack.d.ts +32 -0
  42. package/dist/api/node/msgpack.d.ts.map +1 -0
  43. package/dist/api/node/msgpack.js +212 -0
  44. package/dist/api/node/msgpack.js.map +1 -0
  45. package/dist/api/node/node.d.ts +102 -0
  46. package/dist/api/node/node.d.ts.map +1 -0
  47. package/dist/api/node/node.generated.d.ts +189 -0
  48. package/dist/api/node/node.generated.d.ts.map +1 -0
  49. package/dist/api/node/node.generated.js +884 -0
  50. package/dist/api/node/node.generated.js.map +1 -0
  51. package/dist/api/node/node.infrastructure.d.ts +64 -0
  52. package/dist/api/node/node.infrastructure.d.ts.map +1 -0
  53. package/dist/api/node/node.infrastructure.js +102 -0
  54. package/dist/api/node/node.infrastructure.js.map +1 -0
  55. package/dist/api/node/node.js +454 -0
  56. package/dist/api/node/node.js.map +1 -0
  57. package/dist/api/node/protocol.d.ts +32 -0
  58. package/dist/api/node/protocol.d.ts.map +1 -0
  59. package/dist/api/node/protocol.generated.d.ts +4 -0
  60. package/dist/api/node/protocol.generated.d.ts.map +1 -0
  61. package/dist/api/node/protocol.generated.js +241 -0
  62. package/dist/api/node/protocol.generated.js.map +1 -0
  63. package/dist/api/node/protocol.js +33 -0
  64. package/dist/api/node/protocol.js.map +1 -0
  65. package/dist/api/node/wtf8.d.ts +10 -0
  66. package/dist/api/node/wtf8.d.ts.map +1 -0
  67. package/dist/api/node/wtf8.js +130 -0
  68. package/dist/api/node/wtf8.js.map +1 -0
  69. package/dist/api/options.d.ts +41 -0
  70. package/dist/api/options.d.ts.map +1 -0
  71. package/dist/api/options.js +32 -0
  72. package/dist/api/options.js.map +1 -0
  73. package/dist/api/path.d.ts +149 -0
  74. package/dist/api/path.d.ts.map +1 -0
  75. package/dist/api/path.js +884 -0
  76. package/dist/api/path.js.map +1 -0
  77. package/dist/api/prepareCompilerOptions.generated.d.ts +5 -0
  78. package/dist/api/prepareCompilerOptions.generated.d.ts.map +1 -0
  79. package/dist/api/prepareCompilerOptions.generated.js +24 -0
  80. package/dist/api/prepareCompilerOptions.generated.js.map +1 -0
  81. package/dist/api/proto.d.ts +95 -0
  82. package/dist/api/proto.d.ts.map +1 -0
  83. package/dist/api/proto.generated.d.ts +1423 -0
  84. package/dist/api/proto.generated.d.ts.map +1 -0
  85. package/dist/api/proto.generated.js +21 -0
  86. package/dist/api/proto.generated.js.map +1 -0
  87. package/dist/api/proto.js +65 -0
  88. package/dist/api/proto.js.map +1 -0
  89. package/dist/api/sourceFileCache.d.ts +110 -0
  90. package/dist/api/sourceFileCache.d.ts.map +1 -0
  91. package/dist/api/sourceFileCache.js +300 -0
  92. package/dist/api/sourceFileCache.js.map +1 -0
  93. package/dist/api/sync/api.d.ts +1729 -0
  94. package/dist/api/sync/api.d.ts.map +1 -0
  95. package/dist/api/sync/api.js +5484 -0
  96. package/dist/api/sync/api.js.map +1 -0
  97. package/dist/api/sync/client.d.ts +34 -0
  98. package/dist/api/sync/client.d.ts.map +1 -0
  99. package/dist/api/sync/client.js +148 -0
  100. package/dist/api/sync/client.js.map +1 -0
  101. package/dist/api/sync/generatorSupport.d.ts +32 -0
  102. package/dist/api/sync/generatorSupport.d.ts.map +1 -0
  103. package/dist/api/sync/generatorSupport.js +323 -0
  104. package/dist/api/sync/generatorSupport.js.map +1 -0
  105. package/dist/api/sync/types.d.ts +502 -0
  106. package/dist/api/sync/types.d.ts.map +1 -0
  107. package/dist/api/sync/types.js +2 -0
  108. package/dist/api/sync/types.js.map +1 -0
  109. package/dist/api/syncChannel.d.ts +115 -0
  110. package/dist/api/syncChannel.d.ts.map +1 -0
  111. package/dist/api/syncChannel.js +511 -0
  112. package/dist/api/syncChannel.js.map +1 -0
  113. package/dist/api/timing.d.ts +175 -0
  114. package/dist/api/timing.d.ts.map +1 -0
  115. package/dist/api/timing.js +149 -0
  116. package/dist/api/timing.js.map +1 -0
  117. package/dist/api/typedPaths.d.ts +3 -0
  118. package/dist/api/typedPaths.d.ts.map +1 -0
  119. package/dist/api/typedPaths.js +2 -0
  120. package/dist/api/typedPaths.js.map +1 -0
  121. package/dist/api/userPreferences.generated.d.ts +195 -0
  122. package/dist/api/userPreferences.generated.d.ts.map +1 -0
  123. package/dist/api/userPreferences.generated.js +3 -0
  124. package/dist/api/userPreferences.generated.js.map +1 -0
  125. package/dist/ast/ast.d.ts +186 -0
  126. package/dist/ast/ast.d.ts.map +1 -0
  127. package/dist/ast/ast.generated.d.ts +1167 -0
  128. package/dist/ast/ast.generated.d.ts.map +1 -0
  129. package/dist/ast/ast.generated.js +4 -0
  130. package/dist/ast/ast.generated.js.map +1 -0
  131. package/dist/ast/ast.js +7 -0
  132. package/dist/ast/ast.js.map +1 -0
  133. package/dist/ast/astnav.d.ts +22 -0
  134. package/dist/ast/astnav.d.ts.map +1 -0
  135. package/dist/ast/astnav.js +741 -0
  136. package/dist/ast/astnav.js.map +1 -0
  137. package/dist/ast/clone.d.ts +16 -0
  138. package/dist/ast/clone.d.ts.map +1 -0
  139. package/dist/ast/clone.js +104 -0
  140. package/dist/ast/clone.js.map +1 -0
  141. package/dist/ast/factory.generated.d.ts +533 -0
  142. package/dist/ast/factory.generated.d.ts.map +1 -0
  143. package/dist/ast/factory.generated.js +5750 -0
  144. package/dist/ast/factory.generated.js.map +1 -0
  145. package/dist/ast/index.d.ts +25 -0
  146. package/dist/ast/index.d.ts.map +1 -0
  147. package/dist/ast/index.js +25 -0
  148. package/dist/ast/index.js.map +1 -0
  149. package/dist/ast/is.d.ts +36 -0
  150. package/dist/ast/is.d.ts.map +1 -0
  151. package/dist/ast/is.generated.d.ts +1217 -0
  152. package/dist/ast/is.generated.d.ts.map +1 -0
  153. package/dist/ast/is.generated.js +1400 -0
  154. package/dist/ast/is.generated.js.map +1 -0
  155. package/dist/ast/is.js +456 -0
  156. package/dist/ast/is.js.map +1 -0
  157. package/dist/ast/jsdoc.d.ts +12 -0
  158. package/dist/ast/jsdoc.d.ts.map +1 -0
  159. package/dist/ast/jsdoc.js +208 -0
  160. package/dist/ast/jsdoc.js.map +1 -0
  161. package/dist/ast/modifiers.d.ts +4 -0
  162. package/dist/ast/modifiers.d.ts.map +1 -0
  163. package/dist/ast/modifiers.js +41 -0
  164. package/dist/ast/modifiers.js.map +1 -0
  165. package/dist/ast/scanner.d.ts +97 -0
  166. package/dist/ast/scanner.d.ts.map +1 -0
  167. package/dist/ast/scanner.js +2231 -0
  168. package/dist/ast/scanner.js.map +1 -0
  169. package/dist/ast/spanMap.d.ts +88 -0
  170. package/dist/ast/spanMap.d.ts.map +1 -0
  171. package/dist/ast/spanMap.js +417 -0
  172. package/dist/ast/spanMap.js.map +1 -0
  173. package/dist/ast/utils.d.ts +30 -0
  174. package/dist/ast/utils.d.ts.map +1 -0
  175. package/dist/ast/utils.js +318 -0
  176. package/dist/ast/utils.js.map +1 -0
  177. package/dist/ast/visitor.d.ts +16 -0
  178. package/dist/ast/visitor.d.ts.map +1 -0
  179. package/dist/ast/visitor.generated.d.ts +50 -0
  180. package/dist/ast/visitor.generated.d.ts.map +1 -0
  181. package/dist/ast/visitor.generated.js +979 -0
  182. package/dist/ast/visitor.generated.js.map +1 -0
  183. package/dist/ast/visitor.js +87 -0
  184. package/dist/ast/visitor.js.map +1 -0
  185. package/dist/enums/caseSensitivity.d.ts +2 -0
  186. package/dist/enums/caseSensitivity.d.ts.map +1 -0
  187. package/dist/enums/caseSensitivity.enum.d.ts +5 -0
  188. package/dist/enums/caseSensitivity.enum.d.ts.map +1 -0
  189. package/dist/enums/caseSensitivity.enum.js +7 -0
  190. package/dist/enums/caseSensitivity.enum.js.map +1 -0
  191. package/dist/enums/caseSensitivity.js +7 -0
  192. package/dist/enums/caseSensitivity.js.map +1 -0
  193. package/dist/enums/characterCodes.d.ts +2 -0
  194. package/dist/enums/characterCodes.d.ts.map +1 -0
  195. package/dist/enums/characterCodes.enum.d.ts +129 -0
  196. package/dist/enums/characterCodes.enum.d.ts.map +1 -0
  197. package/dist/enums/characterCodes.enum.js +132 -0
  198. package/dist/enums/characterCodes.enum.js.map +1 -0
  199. package/dist/enums/characterCodes.js +130 -0
  200. package/dist/enums/characterCodes.js.map +1 -0
  201. package/dist/enums/checkFlags.d.ts +2 -0
  202. package/dist/enums/checkFlags.d.ts.map +1 -0
  203. package/dist/enums/checkFlags.enum.d.ts +34 -0
  204. package/dist/enums/checkFlags.enum.d.ts.map +1 -0
  205. package/dist/enums/checkFlags.enum.js +36 -0
  206. package/dist/enums/checkFlags.enum.js.map +1 -0
  207. package/dist/enums/checkFlags.js +36 -0
  208. package/dist/enums/checkFlags.js.map +1 -0
  209. package/dist/enums/commentDirectiveType.d.ts +2 -0
  210. package/dist/enums/commentDirectiveType.d.ts.map +1 -0
  211. package/dist/enums/commentDirectiveType.enum.d.ts +5 -0
  212. package/dist/enums/commentDirectiveType.enum.d.ts.map +1 -0
  213. package/dist/enums/commentDirectiveType.enum.js +6 -0
  214. package/dist/enums/commentDirectiveType.enum.js.map +1 -0
  215. package/dist/enums/commentDirectiveType.js +6 -0
  216. package/dist/enums/commentDirectiveType.js.map +1 -0
  217. package/dist/enums/completionItemKind.d.ts +2 -0
  218. package/dist/enums/completionItemKind.d.ts.map +1 -0
  219. package/dist/enums/completionItemKind.enum.d.ts +28 -0
  220. package/dist/enums/completionItemKind.enum.d.ts.map +1 -0
  221. package/dist/enums/completionItemKind.enum.js +30 -0
  222. package/dist/enums/completionItemKind.enum.js.map +1 -0
  223. package/dist/enums/completionItemKind.js +30 -0
  224. package/dist/enums/completionItemKind.js.map +1 -0
  225. package/dist/enums/diagnosticCategory.d.ts +2 -0
  226. package/dist/enums/diagnosticCategory.d.ts.map +1 -0
  227. package/dist/enums/diagnosticCategory.enum.d.ts +7 -0
  228. package/dist/enums/diagnosticCategory.enum.d.ts.map +1 -0
  229. package/dist/enums/diagnosticCategory.enum.js +9 -0
  230. package/dist/enums/diagnosticCategory.enum.js.map +1 -0
  231. package/dist/enums/diagnosticCategory.js +9 -0
  232. package/dist/enums/diagnosticCategory.js.map +1 -0
  233. package/dist/enums/diagnosticDirectivePolicy.d.ts +2 -0
  234. package/dist/enums/diagnosticDirectivePolicy.d.ts.map +1 -0
  235. package/dist/enums/diagnosticDirectivePolicy.enum.d.ts +5 -0
  236. package/dist/enums/diagnosticDirectivePolicy.enum.d.ts.map +1 -0
  237. package/dist/enums/diagnosticDirectivePolicy.enum.js +7 -0
  238. package/dist/enums/diagnosticDirectivePolicy.enum.js.map +1 -0
  239. package/dist/enums/diagnosticDirectivePolicy.js +7 -0
  240. package/dist/enums/diagnosticDirectivePolicy.js.map +1 -0
  241. package/dist/enums/elementFlags.d.ts +2 -0
  242. package/dist/enums/elementFlags.d.ts.map +1 -0
  243. package/dist/enums/elementFlags.enum.d.ts +12 -0
  244. package/dist/enums/elementFlags.enum.d.ts.map +1 -0
  245. package/dist/enums/elementFlags.enum.js +14 -0
  246. package/dist/enums/elementFlags.enum.js.map +1 -0
  247. package/dist/enums/elementFlags.js +14 -0
  248. package/dist/enums/elementFlags.js.map +1 -0
  249. package/dist/enums/emitOnly.d.ts +2 -0
  250. package/dist/enums/emitOnly.d.ts.map +1 -0
  251. package/dist/enums/emitOnly.enum.d.ts +6 -0
  252. package/dist/enums/emitOnly.enum.d.ts.map +1 -0
  253. package/dist/enums/emitOnly.enum.js +8 -0
  254. package/dist/enums/emitOnly.enum.js.map +1 -0
  255. package/dist/enums/emitOnly.js +8 -0
  256. package/dist/enums/emitOnly.js.map +1 -0
  257. package/dist/enums/indexKind.d.ts +2 -0
  258. package/dist/enums/indexKind.d.ts.map +1 -0
  259. package/dist/enums/indexKind.enum.d.ts +5 -0
  260. package/dist/enums/indexKind.enum.d.ts.map +1 -0
  261. package/dist/enums/indexKind.enum.js +7 -0
  262. package/dist/enums/indexKind.enum.js.map +1 -0
  263. package/dist/enums/indexKind.js +7 -0
  264. package/dist/enums/indexKind.js.map +1 -0
  265. package/dist/enums/internalSymbolName.d.ts +2 -0
  266. package/dist/enums/internalSymbolName.d.ts.map +1 -0
  267. package/dist/enums/internalSymbolName.enum.d.ts +23 -0
  268. package/dist/enums/internalSymbolName.enum.d.ts.map +1 -0
  269. package/dist/enums/internalSymbolName.enum.js +25 -0
  270. package/dist/enums/internalSymbolName.enum.js.map +1 -0
  271. package/dist/enums/internalSymbolName.js +25 -0
  272. package/dist/enums/internalSymbolName.js.map +1 -0
  273. package/dist/enums/jsDeclarationKind.d.ts +2 -0
  274. package/dist/enums/jsDeclarationKind.d.ts.map +1 -0
  275. package/dist/enums/jsDeclarationKind.enum.d.ts +10 -0
  276. package/dist/enums/jsDeclarationKind.enum.d.ts.map +1 -0
  277. package/dist/enums/jsDeclarationKind.enum.js +12 -0
  278. package/dist/enums/jsDeclarationKind.enum.js.map +1 -0
  279. package/dist/enums/jsDeclarationKind.js +12 -0
  280. package/dist/enums/jsDeclarationKind.js.map +1 -0
  281. package/dist/enums/jsxEmit.d.ts +2 -0
  282. package/dist/enums/jsxEmit.d.ts.map +1 -0
  283. package/dist/enums/jsxEmit.enum.d.ts +9 -0
  284. package/dist/enums/jsxEmit.enum.d.ts.map +1 -0
  285. package/dist/enums/jsxEmit.enum.js +11 -0
  286. package/dist/enums/jsxEmit.enum.js.map +1 -0
  287. package/dist/enums/jsxEmit.js +11 -0
  288. package/dist/enums/jsxEmit.js.map +1 -0
  289. package/dist/enums/languageVariant.d.ts +2 -0
  290. package/dist/enums/languageVariant.d.ts.map +1 -0
  291. package/dist/enums/languageVariant.enum.d.ts +5 -0
  292. package/dist/enums/languageVariant.enum.d.ts.map +1 -0
  293. package/dist/enums/languageVariant.enum.js +6 -0
  294. package/dist/enums/languageVariant.enum.js.map +1 -0
  295. package/dist/enums/languageVariant.js +6 -0
  296. package/dist/enums/languageVariant.js.map +1 -0
  297. package/dist/enums/modifierFlags.d.ts +2 -0
  298. package/dist/enums/modifierFlags.d.ts.map +1 -0
  299. package/dist/enums/modifierFlags.enum.d.ts +42 -0
  300. package/dist/enums/modifierFlags.enum.d.ts.map +1 -0
  301. package/dist/enums/modifierFlags.enum.js +44 -0
  302. package/dist/enums/modifierFlags.enum.js.map +1 -0
  303. package/dist/enums/modifierFlags.js +44 -0
  304. package/dist/enums/modifierFlags.js.map +1 -0
  305. package/dist/enums/moduleDetectionKind.d.ts +2 -0
  306. package/dist/enums/moduleDetectionKind.d.ts.map +1 -0
  307. package/dist/enums/moduleDetectionKind.enum.d.ts +7 -0
  308. package/dist/enums/moduleDetectionKind.enum.d.ts.map +1 -0
  309. package/dist/enums/moduleDetectionKind.enum.js +9 -0
  310. package/dist/enums/moduleDetectionKind.enum.js.map +1 -0
  311. package/dist/enums/moduleDetectionKind.js +9 -0
  312. package/dist/enums/moduleDetectionKind.js.map +1 -0
  313. package/dist/enums/moduleKind.d.ts +2 -0
  314. package/dist/enums/moduleKind.d.ts.map +1 -0
  315. package/dist/enums/moduleKind.enum.d.ts +17 -0
  316. package/dist/enums/moduleKind.enum.d.ts.map +1 -0
  317. package/dist/enums/moduleKind.enum.js +19 -0
  318. package/dist/enums/moduleKind.enum.js.map +1 -0
  319. package/dist/enums/moduleKind.js +19 -0
  320. package/dist/enums/moduleKind.js.map +1 -0
  321. package/dist/enums/moduleResolutionKind.d.ts +2 -0
  322. package/dist/enums/moduleResolutionKind.d.ts.map +1 -0
  323. package/dist/enums/moduleResolutionKind.enum.d.ts +9 -0
  324. package/dist/enums/moduleResolutionKind.enum.d.ts.map +1 -0
  325. package/dist/enums/moduleResolutionKind.enum.js +11 -0
  326. package/dist/enums/moduleResolutionKind.enum.js.map +1 -0
  327. package/dist/enums/moduleResolutionKind.js +11 -0
  328. package/dist/enums/moduleResolutionKind.js.map +1 -0
  329. package/dist/enums/newLineKind.d.ts +2 -0
  330. package/dist/enums/newLineKind.d.ts.map +1 -0
  331. package/dist/enums/newLineKind.enum.d.ts +6 -0
  332. package/dist/enums/newLineKind.enum.d.ts.map +1 -0
  333. package/dist/enums/newLineKind.enum.js +8 -0
  334. package/dist/enums/newLineKind.enum.js.map +1 -0
  335. package/dist/enums/newLineKind.js +8 -0
  336. package/dist/enums/newLineKind.js.map +1 -0
  337. package/dist/enums/nodeBuilderFlags.d.ts +2 -0
  338. package/dist/enums/nodeBuilderFlags.d.ts.map +1 -0
  339. package/dist/enums/nodeBuilderFlags.enum.d.ts +36 -0
  340. package/dist/enums/nodeBuilderFlags.enum.d.ts.map +1 -0
  341. package/dist/enums/nodeBuilderFlags.enum.js +38 -0
  342. package/dist/enums/nodeBuilderFlags.enum.js.map +1 -0
  343. package/dist/enums/nodeBuilderFlags.js +38 -0
  344. package/dist/enums/nodeBuilderFlags.js.map +1 -0
  345. package/dist/enums/nodeFlags.d.ts +2 -0
  346. package/dist/enums/nodeFlags.d.ts.map +1 -0
  347. package/dist/enums/nodeFlags.enum.d.ts +44 -0
  348. package/dist/enums/nodeFlags.enum.d.ts.map +1 -0
  349. package/dist/enums/nodeFlags.enum.js +46 -0
  350. package/dist/enums/nodeFlags.enum.js.map +1 -0
  351. package/dist/enums/nodeFlags.js +46 -0
  352. package/dist/enums/nodeFlags.js.map +1 -0
  353. package/dist/enums/objectFlags.d.ts +2 -0
  354. package/dist/enums/objectFlags.d.ts.map +1 -0
  355. package/dist/enums/objectFlags.enum.d.ts +51 -0
  356. package/dist/enums/objectFlags.enum.d.ts.map +1 -0
  357. package/dist/enums/objectFlags.enum.js +53 -0
  358. package/dist/enums/objectFlags.enum.js.map +1 -0
  359. package/dist/enums/objectFlags.js +53 -0
  360. package/dist/enums/objectFlags.js.map +1 -0
  361. package/dist/enums/outerExpressionKinds.d.ts +2 -0
  362. package/dist/enums/outerExpressionKinds.d.ts.map +1 -0
  363. package/dist/enums/outerExpressionKinds.enum.d.ts +16 -0
  364. package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -0
  365. package/dist/enums/outerExpressionKinds.enum.js +18 -0
  366. package/dist/enums/outerExpressionKinds.enum.js.map +1 -0
  367. package/dist/enums/outerExpressionKinds.js +18 -0
  368. package/dist/enums/outerExpressionKinds.js.map +1 -0
  369. package/dist/enums/regularExpressionFlags.d.ts +2 -0
  370. package/dist/enums/regularExpressionFlags.d.ts.map +1 -0
  371. package/dist/enums/regularExpressionFlags.enum.d.ts +13 -0
  372. package/dist/enums/regularExpressionFlags.enum.d.ts.map +1 -0
  373. package/dist/enums/regularExpressionFlags.enum.js +14 -0
  374. package/dist/enums/regularExpressionFlags.enum.js.map +1 -0
  375. package/dist/enums/regularExpressionFlags.js +14 -0
  376. package/dist/enums/regularExpressionFlags.js.map +1 -0
  377. package/dist/enums/scriptKind.d.ts +2 -0
  378. package/dist/enums/scriptKind.d.ts.map +1 -0
  379. package/dist/enums/scriptKind.enum.d.ts +9 -0
  380. package/dist/enums/scriptKind.enum.d.ts.map +1 -0
  381. package/dist/enums/scriptKind.enum.js +11 -0
  382. package/dist/enums/scriptKind.enum.js.map +1 -0
  383. package/dist/enums/scriptKind.js +11 -0
  384. package/dist/enums/scriptKind.js.map +1 -0
  385. package/dist/enums/scriptTarget.d.ts +2 -0
  386. package/dist/enums/scriptTarget.d.ts.map +1 -0
  387. package/dist/enums/scriptTarget.enum.d.ts +18 -0
  388. package/dist/enums/scriptTarget.enum.d.ts.map +1 -0
  389. package/dist/enums/scriptTarget.enum.js +20 -0
  390. package/dist/enums/scriptTarget.enum.js.map +1 -0
  391. package/dist/enums/scriptTarget.js +20 -0
  392. package/dist/enums/scriptTarget.js.map +1 -0
  393. package/dist/enums/signatureFlags.d.ts +2 -0
  394. package/dist/enums/signatureFlags.d.ts.map +1 -0
  395. package/dist/enums/signatureFlags.enum.d.ts +15 -0
  396. package/dist/enums/signatureFlags.enum.d.ts.map +1 -0
  397. package/dist/enums/signatureFlags.enum.js +17 -0
  398. package/dist/enums/signatureFlags.enum.js.map +1 -0
  399. package/dist/enums/signatureFlags.js +17 -0
  400. package/dist/enums/signatureFlags.js.map +1 -0
  401. package/dist/enums/signatureKind.d.ts +2 -0
  402. package/dist/enums/signatureKind.d.ts.map +1 -0
  403. package/dist/enums/signatureKind.enum.d.ts +5 -0
  404. package/dist/enums/signatureKind.enum.d.ts.map +1 -0
  405. package/dist/enums/signatureKind.enum.js +7 -0
  406. package/dist/enums/signatureKind.enum.js.map +1 -0
  407. package/dist/enums/signatureKind.js +7 -0
  408. package/dist/enums/signatureKind.js.map +1 -0
  409. package/dist/enums/spanMapFeature.d.ts +2 -0
  410. package/dist/enums/spanMapFeature.d.ts.map +1 -0
  411. package/dist/enums/spanMapFeature.enum.d.ts +25 -0
  412. package/dist/enums/spanMapFeature.enum.d.ts.map +1 -0
  413. package/dist/enums/spanMapFeature.enum.js +27 -0
  414. package/dist/enums/spanMapFeature.enum.js.map +1 -0
  415. package/dist/enums/spanMapFeature.js +27 -0
  416. package/dist/enums/spanMapFeature.js.map +1 -0
  417. package/dist/enums/spanMapFidelity.d.ts +2 -0
  418. package/dist/enums/spanMapFidelity.d.ts.map +1 -0
  419. package/dist/enums/spanMapFidelity.enum.d.ts +7 -0
  420. package/dist/enums/spanMapFidelity.enum.d.ts.map +1 -0
  421. package/dist/enums/spanMapFidelity.enum.js +9 -0
  422. package/dist/enums/spanMapFidelity.enum.js.map +1 -0
  423. package/dist/enums/spanMapFidelity.js +9 -0
  424. package/dist/enums/spanMapFidelity.js.map +1 -0
  425. package/dist/enums/spanMapKind.d.ts +2 -0
  426. package/dist/enums/spanMapKind.d.ts.map +1 -0
  427. package/dist/enums/spanMapKind.enum.d.ts +6 -0
  428. package/dist/enums/spanMapKind.enum.d.ts.map +1 -0
  429. package/dist/enums/spanMapKind.enum.js +8 -0
  430. package/dist/enums/spanMapKind.enum.js.map +1 -0
  431. package/dist/enums/spanMapKind.js +8 -0
  432. package/dist/enums/spanMapKind.js.map +1 -0
  433. package/dist/enums/symbolFlags.d.ts +2 -0
  434. package/dist/enums/symbolFlags.d.ts.map +1 -0
  435. package/dist/enums/symbolFlags.enum.d.ts +70 -0
  436. package/dist/enums/symbolFlags.enum.d.ts.map +1 -0
  437. package/dist/enums/symbolFlags.enum.js +72 -0
  438. package/dist/enums/symbolFlags.enum.js.map +1 -0
  439. package/dist/enums/symbolFlags.js +72 -0
  440. package/dist/enums/symbolFlags.js.map +1 -0
  441. package/dist/enums/symbolOwnerKind.d.ts +2 -0
  442. package/dist/enums/symbolOwnerKind.d.ts.map +1 -0
  443. package/dist/enums/symbolOwnerKind.enum.d.ts +5 -0
  444. package/dist/enums/symbolOwnerKind.enum.d.ts.map +1 -0
  445. package/dist/enums/symbolOwnerKind.enum.js +7 -0
  446. package/dist/enums/symbolOwnerKind.enum.js.map +1 -0
  447. package/dist/enums/symbolOwnerKind.js +7 -0
  448. package/dist/enums/symbolOwnerKind.js.map +1 -0
  449. package/dist/enums/syntaxKind.d.ts +2 -0
  450. package/dist/enums/syntaxKind.d.ts.map +1 -0
  451. package/dist/enums/syntaxKind.enum.d.ts +390 -0
  452. package/dist/enums/syntaxKind.enum.d.ts.map +1 -0
  453. package/dist/enums/syntaxKind.enum.js +392 -0
  454. package/dist/enums/syntaxKind.enum.js.map +1 -0
  455. package/dist/enums/syntaxKind.js +392 -0
  456. package/dist/enums/syntaxKind.js.map +1 -0
  457. package/dist/enums/tokenFlags.d.ts +2 -0
  458. package/dist/enums/tokenFlags.d.ts.map +1 -0
  459. package/dist/enums/tokenFlags.enum.d.ts +30 -0
  460. package/dist/enums/tokenFlags.enum.d.ts.map +1 -0
  461. package/dist/enums/tokenFlags.enum.js +32 -0
  462. package/dist/enums/tokenFlags.enum.js.map +1 -0
  463. package/dist/enums/tokenFlags.js +32 -0
  464. package/dist/enums/tokenFlags.js.map +1 -0
  465. package/dist/enums/typeFlags.d.ts +2 -0
  466. package/dist/enums/typeFlags.d.ts.map +1 -0
  467. package/dist/enums/typeFlags.enum.d.ts +76 -0
  468. package/dist/enums/typeFlags.enum.d.ts.map +1 -0
  469. package/dist/enums/typeFlags.enum.js +78 -0
  470. package/dist/enums/typeFlags.enum.js.map +1 -0
  471. package/dist/enums/typeFlags.js +78 -0
  472. package/dist/enums/typeFlags.js.map +1 -0
  473. package/dist/enums/typeFormatFlags.d.ts +2 -0
  474. package/dist/enums/typeFormatFlags.d.ts.map +1 -0
  475. package/dist/enums/typeFormatFlags.enum.d.ts +29 -0
  476. package/dist/enums/typeFormatFlags.enum.d.ts.map +1 -0
  477. package/dist/enums/typeFormatFlags.enum.js +31 -0
  478. package/dist/enums/typeFormatFlags.enum.js.map +1 -0
  479. package/dist/enums/typeFormatFlags.js +31 -0
  480. package/dist/enums/typeFormatFlags.js.map +1 -0
  481. package/dist/enums/typePredicateKind.d.ts +2 -0
  482. package/dist/enums/typePredicateKind.d.ts.map +1 -0
  483. package/dist/enums/typePredicateKind.enum.d.ts +7 -0
  484. package/dist/enums/typePredicateKind.enum.d.ts.map +1 -0
  485. package/dist/enums/typePredicateKind.enum.js +9 -0
  486. package/dist/enums/typePredicateKind.enum.js.map +1 -0
  487. package/dist/enums/typePredicateKind.js +9 -0
  488. package/dist/enums/typePredicateKind.js.map +1 -0
  489. package/dist/internal/utils.d.ts +23 -0
  490. package/dist/internal/utils.d.ts.map +1 -0
  491. package/dist/internal/utils.js +25 -0
  492. package/dist/internal/utils.js.map +1 -0
  493. package/dist/vscode/extensionApi.d.ts +100 -0
  494. package/dist/vscode/extensionApi.d.ts.map +1 -0
  495. package/dist/vscode/extensionApi.js +2 -0
  496. package/dist/vscode/extensionApi.js.map +1 -0
  497. package/dist/vscode/moduleLoader.d.ts +14 -0
  498. package/dist/vscode/moduleLoader.d.ts.map +1 -0
  499. package/dist/vscode/moduleLoader.js +36 -0
  500. package/dist/vscode/moduleLoader.js.map +1 -0
  501. package/dist/vscode/protocol.generated.d.ts +2886 -0
  502. package/dist/vscode/protocol.generated.d.ts.map +1 -0
  503. package/dist/vscode/protocol.generated.js +4 -0
  504. package/dist/vscode/protocol.generated.js.map +1 -0
  505. package/lib/getExePath.d.ts +2 -0
  506. package/lib/getExePath.js +70 -0
  507. package/lib/install.js +108 -0
  508. package/lib/tsc.js +28 -0
  509. package/lib/version.cjs +5 -0
  510. package/lib/version.d.cts +2 -0
  511. package/package.json +79 -6
  512. package/schemas/jsconfig.schema.json +2207 -0
  513. package/schemas/tsconfig.schema.json +2206 -0
  514. package/vendor/vscode-jsonrpc/License.txt +11 -0
  515. package/vendor/vscode-jsonrpc/README.md +54 -0
  516. package/vendor/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  517. package/vendor/vscode-jsonrpc/lib/browser/main.js +83 -0
  518. package/vendor/vscode-jsonrpc/lib/browser/ril.d.ts +22 -0
  519. package/vendor/vscode-jsonrpc/lib/browser/ril.js +210 -0
  520. package/vendor/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  521. package/vendor/vscode-jsonrpc/lib/common/api.js +87 -0
  522. package/vendor/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  523. package/vendor/vscode-jsonrpc/lib/common/cancellation.js +132 -0
  524. package/vendor/vscode-jsonrpc/lib/common/connection.d.ts +367 -0
  525. package/vendor/vscode-jsonrpc/lib/common/connection.js +1271 -0
  526. package/vendor/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  527. package/vendor/vscode-jsonrpc/lib/common/disposable.js +16 -0
  528. package/vendor/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  529. package/vendor/vscode-jsonrpc/lib/common/encoding.js +70 -0
  530. package/vendor/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  531. package/vendor/vscode-jsonrpc/lib/common/events.js +135 -0
  532. package/vendor/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  533. package/vendor/vscode-jsonrpc/lib/common/is.js +34 -0
  534. package/vendor/vscode-jsonrpc/lib/common/linkedMap.d.ts +55 -0
  535. package/vendor/vscode-jsonrpc/lib/common/linkedMap.js +412 -0
  536. package/vendor/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  537. package/vendor/vscode-jsonrpc/lib/common/messageBuffer.js +155 -0
  538. package/vendor/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  539. package/vendor/vscode-jsonrpc/lib/common/messageReader.js +246 -0
  540. package/vendor/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  541. package/vendor/vscode-jsonrpc/lib/common/messageWriter.js +157 -0
  542. package/vendor/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  543. package/vendor/vscode-jsonrpc/lib/common/messages.js +436 -0
  544. package/vendor/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  545. package/vendor/vscode-jsonrpc/lib/common/ral.js +23 -0
  546. package/vendor/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  547. package/vendor/vscode-jsonrpc/lib/common/semaphore.js +74 -0
  548. package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  549. package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +77 -0
  550. package/vendor/vscode-jsonrpc/lib/node/main.d.ts +58 -0
  551. package/vendor/vscode-jsonrpc/lib/node/main.js +289 -0
  552. package/vendor/vscode-jsonrpc/lib/node/ril.d.ts +12 -0
  553. package/vendor/vscode-jsonrpc/lib/node/ril.js +163 -0
  554. package/vendor/vscode-jsonrpc/package.json +54 -0
  555. package/vendor/vscode-jsonrpc/typings/thenable.d.ts +5 -0
@@ -0,0 +1,1729 @@
1
+ import type { APIRequest as ProtocolRequest, APIResponse as ProtocolResponse } from "../proto.ts";
2
+ import { CheckFlags } from "#enums/checkFlags";
3
+ import { CompletionItemKind } from "#enums/completionItemKind";
4
+ import { DiagnosticCategory } from "#enums/diagnosticCategory";
5
+ import { ElementFlags } from "#enums/elementFlags";
6
+ import { EmitOnly } from "#enums/emitOnly";
7
+ import { IndexKind } from "#enums/indexKind";
8
+ import { JsxEmit } from "#enums/jsxEmit";
9
+ import { ModuleKind } from "#enums/moduleKind";
10
+ import { ModuleResolutionKind } from "#enums/moduleResolutionKind";
11
+ import { NodeBuilderFlags } from "#enums/nodeBuilderFlags";
12
+ import { ObjectFlags } from "#enums/objectFlags";
13
+ import { ScriptKind } from "#enums/scriptKind";
14
+ import { SignatureFlags } from "#enums/signatureFlags";
15
+ import { SignatureKind } from "#enums/signatureKind";
16
+ import { SymbolFlags } from "#enums/symbolFlags";
17
+ import { SymbolOwnerKind } from "#enums/symbolOwnerKind";
18
+ import { TypeFlags } from "#enums/typeFlags";
19
+ import { TypeFormatFlags } from "#enums/typeFormatFlags";
20
+ import { TypePredicateKind } from "#enums/typePredicateKind";
21
+ import { type __String, type CallLikeExpression, type Declaration, type Expression, type FileReference, type Identifier, ModifierFlags, type NamedTupleMember, type Node, type ParameterDeclaration, type PathKey, type RootedDirectoryPath, type RootedFilePath, type SourceFile, type StringLiteralLikeNode, type SyntaxKind, type TypeNode } from "../../ast/index.ts";
22
+ import type { APIOptions, LSPConnectionOptions } from "../options.ts";
23
+ import type { BuildResponse, CleanBuildResponse, CompactSymbolReference, CompilerOptions, CompletionPreferences, ConfiguredProjectId, CreateBuildOrchestratorResponse, CreateProgramOptions as ProtocolCreateProgramOptions, CreateSnapshotParams as ProtocolCreateSnapshotParams, CreateSnapshotProgramParams as ProtocolCreateSnapshotProgramParams, CreateSnapshotResponse, CreateSourceFileOptions, Diagnostic, DocumentIdentifier, DocumentPosition, FileNotifications, InferredProjectId, LanguageServerSnapshotChanges as ProtocolLanguageServerSnapshotChanges, ModuleResolutionEntry, ModuleResolutionSpec, PackageId, ParsedCommandLine, ProjectId, ProjectReference, ProjectResponse, ProtocolSymbolResponse, RawCompilerOptions, ReadConfigFileResponse, ReconfigureSnapshotProgramParams as ProtocolReconfigureSnapshotProgramParams, ResolutionMode, ResolvedModule, ResolvedTypeReferenceDirective, ResolveModuleNameResult, SignaturePropertyMethod, SignatureResponse, SourceFileMetadata, StaticModuleResolution, SymbolPropertyMethod, SymbolReference, SymbolResponse, SymbolsPropertyMethod, SyntheticProjectId, TextEdit, TypeAcquisition, TypePropertyMethod, TypeResponse, TypesPropertyMethod, UserPreferences } from "../proto.ts";
24
+ import { type CachedSourceFile, SourceFileCache } from "../sourceFileCache.ts";
25
+ import type { RequestTiming, TimingAccumulators, TimingInfo } from "../timing.ts";
26
+ import { Client, type ClientSocketOptions, type ClientSpawnOptions } from "./client.ts";
27
+ import type { AssertsIdentifierTypePredicate, AssertsThisTypePredicate, BigIntLiteralType, BooleanLiteralType, CompletionEntry, CompletionInfo, CompletionOptions, ConditionalType, EmitOutput, EmitOutputFile, EmitResult, FormatDiagnosticsHost, FreshableType, GenericType, GetImportEditsForSymbolsOptions, IdentifierTypePredicate, ImportAdderAction as APIImportAdderAction, IndexedAccessType, IndexInfo, IndexType, InterfaceType, IntersectionType, IntrinsicType, JSDocTagInfo, LiteralType, MappedType, NumberLiteralType, ObjectType, StringLiteralType, StringMappingType, StructuredType, SubstitutionType, TemplateLiteralType, ThisTypePredicate, TupleType, TupleTypeReference, Type, TypeParameter, TypePredicate, TypePredicateBase, TypeReference, UnionOrIntersectionType, UnionType } from "./types.ts";
28
+ export { formatDiagnostics, formatDiagnosticsWithColorAndContext } from "../diagnosticFormatter.ts";
29
+ export { documentURIToFileName, fileNameToDocumentURI } from "../path.ts";
30
+ export { CheckFlags, CompletionItemKind, DiagnosticCategory, ElementFlags, EmitOnly, IndexKind, JsxEmit, ModifierFlags, ModuleKind, ModuleResolutionKind, NodeBuilderFlags, ObjectFlags, ScriptKind, SignatureFlags, SignatureKind, SymbolFlags, SymbolOwnerKind, TypeFlags, TypeFormatFlags, TypePredicateKind };
31
+ export type { APIImportAdderAction as ImportAdderAction, APIOptions, AssertsIdentifierTypePredicate, AssertsThisTypePredicate, BigIntLiteralType, BooleanLiteralType, ClientSocketOptions, ClientSpawnOptions, CompilerOptions, CompletionEntry, CompletionInfo, CompletionOptions, CompletionPreferences, ConditionalType, ConfiguredProjectId, CreateSourceFileOptions, Diagnostic, DocumentIdentifier, DocumentPosition, EmitOutput, EmitOutputFile, EmitResult, FileNotifications, FormatDiagnosticsHost, FreshableType, GenericType, GetImportEditsForSymbolsOptions, IdentifierTypePredicate, IndexedAccessType, IndexInfo, IndexType, InferredProjectId, InterfaceType, IntersectionType, IntrinsicType, JSDocTagInfo, LiteralType, LSPConnectionOptions, MappedType, ModuleResolutionEntry, ModuleResolutionSpec, NumberLiteralType, ObjectType, PackageId, ParsedCommandLine, ProjectId, ProjectReference, RawCompilerOptions, ReadConfigFileResponse, RequestTiming, ResolutionMode, ResolvedModule, ResolvedTypeReferenceDirective, ResolveModuleNameResult, SourceFileMetadata, StaticModuleResolution, StringLiteralType, StringMappingType, StructuredType, SubstitutionType, SyntheticProjectId, TemplateLiteralType, TextEdit, ThisTypePredicate, TimingAccumulators, TimingInfo, TupleType, TupleTypeReference, Type, TypeAcquisition, TypeParameter, TypePredicate, TypePredicateBase, TypeReference, UnionOrIntersectionType, UnionType, UserPreferences, };
32
+ export interface ModuleResolverOptions {
33
+ moduleResolutions?: ModuleResolutionSpec | undefined;
34
+ resolveModuleName?: ResolveModuleNameCallback | undefined;
35
+ }
36
+ export interface ResolveModuleNameCallbackOptions {
37
+ snapshot: Snapshot | InProgressSnapshot | undefined;
38
+ }
39
+ declare const inProgressSnapshotBrand: unique symbol;
40
+ export type InProgressSnapshot = number & {
41
+ readonly [inProgressSnapshotBrand]: never;
42
+ };
43
+ export type ResolveModuleNameCallback = (moduleName: string, containingDirectory: string, resolutionMode: ResolutionMode | undefined, options: ResolveModuleNameCallbackOptions) => StaticModuleResolution | undefined;
44
+ export type CreateProgramOptions = Omit<ProtocolCreateProgramOptions, "moduleResolver" | "projectReferences"> & {
45
+ moduleResolver?: ModuleResolver | undefined;
46
+ projectReferences?: readonly (Omit<ProjectReference, "path"> & {
47
+ path: string;
48
+ })[] | undefined;
49
+ };
50
+ export type CreateSnapshotProgramParams = Omit<ProtocolCreateSnapshotProgramParams, "options"> & {
51
+ options?: CreateProgramOptions | undefined;
52
+ };
53
+ export type ReconfigureSnapshotProgramParams = Omit<ProtocolReconfigureSnapshotProgramParams, "options"> & {
54
+ options?: CreateProgramOptions | undefined;
55
+ };
56
+ export type CreateSnapshotParams = Omit<ProtocolCreateSnapshotParams, "createPrograms" | "reconfigurePrograms"> & {
57
+ createPrograms?: readonly CreateSnapshotProgramParams[] | undefined;
58
+ reconfigurePrograms?: readonly ReconfigureSnapshotProgramParams[] | undefined;
59
+ };
60
+ export type LanguageServerSnapshotChanges = Omit<ProtocolLanguageServerSnapshotChanges, "createPrograms" | "reconfigurePrograms"> & {
61
+ createPrograms?: readonly CreateSnapshotProgramParams[] | undefined;
62
+ reconfigurePrograms?: readonly ReconfigureSnapshotProgramParams[] | undefined;
63
+ };
64
+ export interface TranspileOptions {
65
+ compilerOptions?: RawCompilerOptions | undefined;
66
+ fileName?: string | undefined;
67
+ reportDiagnostics?: boolean | undefined;
68
+ }
69
+ export interface TranspileOutput {
70
+ outputText: string;
71
+ diagnostics?: readonly Diagnostic[] | undefined;
72
+ sourceMapText?: string | undefined;
73
+ }
74
+ export { all, type AllAPIRequestGenerator, type AnyAPIRequestGenerator, type APIRequestGenerator, defer, type DeferredAPIRequestGenerator, type ExecutedGeneratorsResults } from "./generatorSupport.ts";
75
+ import { type AnyAPIRequestGenerator, type ExecutedGeneratorsResults } from "./generatorSupport.ts";
76
+ export declare class API<FromLSP extends boolean = false> implements FormatDiagnosticsHost {
77
+ /** @internal */
78
+ readonly client: Client;
79
+ /** @internal */
80
+ readonly sourceFileCache: SourceFileCache<Symbol>;
81
+ private toPath;
82
+ private readonly decoder;
83
+ private currentDirectory;
84
+ private caseSensitivity;
85
+ private initialized;
86
+ private initializing;
87
+ private activeSnapshots;
88
+ private activeBuildOrchestrators;
89
+ private activeSourceFileLeases;
90
+ readonly printer: Printer;
91
+ readonly internal: InternalAPI;
92
+ constructor(options?: APIOptions | LSPConnectionOptions);
93
+ /**
94
+ * Looks up a remote declaration's binder symbol. Throws for synthesized or configuration ASTs.
95
+ */
96
+ get getSymbol(): {
97
+ (declaration: Declaration): Symbol;
98
+ gen(declaration: Declaration): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
99
+ };
100
+ private get fetchDeclarationSymbol();
101
+ /**
102
+ * Create an API instance from an existing LSP connection's API session.
103
+ * Use this when connecting to an API pipe provided by an LSP server via custom/initializeAPISession.
104
+ */
105
+ static get fromLSPConnection(): {
106
+ (options: LSPConnectionOptions): API<true>;
107
+ gen(options: LSPConnectionOptions): Generator<ProtocolRequest, API<true>, ProtocolResponse["result"]>;
108
+ };
109
+ batch<T extends readonly AnyAPIRequestGenerator[]>(...requestGenerators: T): ExecutedGeneratorsResults<T>;
110
+ private get ensureInitialized();
111
+ private get initializeWorker();
112
+ getCurrentDirectory(): RootedDirectoryPath;
113
+ getCanonicalFileName(fileName: string): string;
114
+ private getCaseSensitivity;
115
+ getNewLine(): string;
116
+ get createBuildOrchestrator(): {
117
+ (rootNames: readonly string[], buildOrchestratorOptions: BuildOrchestratorOptions): BuildOrchestrator;
118
+ gen(rootNames: readonly string[], buildOrchestratorOptions: BuildOrchestratorOptions): Generator<ProtocolRequest, BuildOrchestrator, ProtocolResponse["result"]>;
119
+ };
120
+ get parseConfigFile(): {
121
+ (file: DocumentIdentifier): ParsedCommandLine;
122
+ gen(file: DocumentIdentifier): Generator<ProtocolRequest, ParsedCommandLine, ProtocolResponse["result"]>;
123
+ };
124
+ get parseCommandLine(): {
125
+ (commandLine: readonly string[]): ParsedCommandLine;
126
+ gen(commandLine: readonly string[]): Generator<ProtocolRequest, ParsedCommandLine, ProtocolResponse["result"]>;
127
+ };
128
+ get readConfigFile(): {
129
+ (file: DocumentIdentifier): ReadConfigFileResponse;
130
+ gen(file: DocumentIdentifier): Generator<ProtocolRequest, ReadConfigFileResponse, ProtocolResponse["result"]>;
131
+ };
132
+ get parseJsonConfigFileContent(): {
133
+ (json: any, options: {
134
+ configDirectory: string;
135
+ configFileName?: never;
136
+ } | {
137
+ configFileName: DocumentIdentifier;
138
+ configDirectory?: never;
139
+ }): ParsedCommandLine;
140
+ gen(json: any, options: {
141
+ configDirectory: string;
142
+ configFileName?: never;
143
+ } | {
144
+ configFileName: DocumentIdentifier;
145
+ configDirectory?: never;
146
+ }): Generator<ProtocolRequest, ParsedCommandLine, ProtocolResponse["result"]>;
147
+ };
148
+ /**
149
+ * Create and retain a source file independently of a program.
150
+ * Dispose the returned lease when the source file no longer needs to remain available remotely.
151
+ */
152
+ get createSourceFile(): {
153
+ (fileName: string, sourceText: string, options?: CreateSourceFileOptions): RetainedSourceFile;
154
+ gen(fileName: string, sourceText: string, options?: CreateSourceFileOptions): Generator<ProtocolRequest, RetainedSourceFile, ProtocolResponse["result"]>;
155
+ };
156
+ /**
157
+ * Read, create, and retain a source file independently of a program.
158
+ * Dispose the returned lease when the source file no longer needs to remain available remotely.
159
+ */
160
+ get createSourceFileFromFile(): {
161
+ (file: DocumentIdentifier, options?: CreateSourceFileOptions): RetainedSourceFile;
162
+ gen(file: DocumentIdentifier, options?: CreateSourceFileOptions): Generator<ProtocolRequest, RetainedSourceFile, ProtocolResponse["result"]>;
163
+ };
164
+ /**
165
+ * Retain an ordinary remote source file independently of the snapshot or lease that produced it.
166
+ */
167
+ get retainSourceFile(): {
168
+ (sourceFile: SourceFile): RetainedSourceFile;
169
+ gen(sourceFile: SourceFile): Generator<ProtocolRequest, RetainedSourceFile, ProtocolResponse["result"]>;
170
+ };
171
+ private retainSourceFileResponse;
172
+ private addSourceFileLease;
173
+ get transpileModule(): {
174
+ (input: string, options?: TranspileOptions): TranspileOutput;
175
+ gen(input: string, options?: TranspileOptions): Generator<ProtocolRequest, TranspileOutput, ProtocolResponse["result"]>;
176
+ };
177
+ get transpileModuleFromFile(): {
178
+ (file: DocumentIdentifier, options?: TranspileOptions): TranspileOutput;
179
+ gen(file: DocumentIdentifier, options?: TranspileOptions): Generator<ProtocolRequest, TranspileOutput, ProtocolResponse["result"]>;
180
+ };
181
+ get transpileDeclaration(): {
182
+ (input: string, options?: TranspileOptions): TranspileOutput;
183
+ gen(input: string, options?: TranspileOptions): Generator<ProtocolRequest, TranspileOutput, ProtocolResponse["result"]>;
184
+ };
185
+ get transpileDeclarationFromFile(): {
186
+ (file: DocumentIdentifier, options?: TranspileOptions): TranspileOutput;
187
+ gen(file: DocumentIdentifier, options?: TranspileOptions): Generator<ProtocolRequest, TranspileOutput, ProtocolResponse["result"]>;
188
+ };
189
+ get createSnapshot(): {
190
+ <const CreatePrograms extends CreateSnapshotParams["createPrograms"] = undefined, const OpenFiles extends CreateSnapshotParams["openFiles"] = undefined>(params: SnapshotOperationParams<CreateSnapshotParams, CreatePrograms, OpenFiles>): SnapshotForOperationResults<CreatePrograms, OpenFiles>;
191
+ (): Snapshot;
192
+ gen<const CreatePrograms extends CreateSnapshotParams["createPrograms"] = undefined, const OpenFiles extends CreateSnapshotParams["openFiles"] = undefined>(params: SnapshotOperationParams<CreateSnapshotParams, CreatePrograms, OpenFiles>): Generator<ProtocolRequest, SnapshotForOperationResults<CreatePrograms, OpenFiles>, ProtocolResponse["result"]>;
193
+ gen(): Generator<ProtocolRequest, Snapshot, ProtocolResponse["result"]>;
194
+ };
195
+ private get updateSnapshot();
196
+ private prepareCreateSnapshotParams;
197
+ private prepareLanguageServerSnapshotChanges;
198
+ private createSnapshotUpdater;
199
+ /**
200
+ * Returns the language server's current canonical snapshot after atomically
201
+ * adopting any supplied API-driven changes. Only available on LSP-connected APIs.
202
+ */
203
+ get getCurrentLanguageServerSnapshot(): {
204
+ <const CreatePrograms extends LanguageServerSnapshotChanges["createPrograms"] = undefined, const OpenFiles extends LanguageServerSnapshotChanges["openFiles"] = undefined>(...args: FromLSP extends true ? [changes: SnapshotOperationParams<LanguageServerSnapshotChanges, CreatePrograms, OpenFiles>, baseSnapshot?: Snapshot] : [changes: never, baseSnapshot?: never]): SnapshotForOperationResults<CreatePrograms, OpenFiles>;
205
+ (...args: FromLSP extends true ? [changes?: LanguageServerSnapshotChanges, baseSnapshot?: Snapshot] : [changes: never, baseSnapshot?: never]): Snapshot;
206
+ gen<const CreatePrograms extends LanguageServerSnapshotChanges["createPrograms"] = undefined, const OpenFiles extends LanguageServerSnapshotChanges["openFiles"] = undefined>(...args: FromLSP extends true ? [changes: SnapshotOperationParams<LanguageServerSnapshotChanges, CreatePrograms, OpenFiles>, baseSnapshot?: Snapshot] : [changes: never, baseSnapshot?: never]): Generator<ProtocolRequest, SnapshotForOperationResults<CreatePrograms, OpenFiles>, ProtocolResponse["result"]>;
207
+ gen(...args: FromLSP extends true ? [changes?: LanguageServerSnapshotChanges, baseSnapshot?: Snapshot] : [changes: never, baseSnapshot?: never]): Generator<ProtocolRequest, Snapshot, ProtocolResponse["result"]>;
208
+ };
209
+ [globalThis.Symbol.dispose](): void;
210
+ get close(): {
211
+ (): void;
212
+ gen(): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
213
+ };
214
+ get createModuleResolver(): {
215
+ (compilerOptions: RawCompilerOptions, options?: ModuleResolverOptions): ModuleResolver;
216
+ gen(compilerOptions: RawCompilerOptions, options?: ModuleResolverOptions): Generator<ProtocolRequest, ModuleResolver, ProtocolResponse["result"]>;
217
+ };
218
+ clearSourceFileCache(): void;
219
+ get runWithTemporaryFileUpdate(): {
220
+ (baseSnapshot: Snapshot, file: DocumentIdentifier, newText: string, cb: (newSnapshot: Snapshot) => void): void;
221
+ gen(baseSnapshot: Snapshot, file: DocumentIdentifier, newText: string, cb: (newSnapshot: Snapshot) => void | Generator<ProtocolRequest, void, ProtocolResponse["result"]>): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
222
+ };
223
+ /**
224
+ * Returns a snapshot of collected timing information for requests made
225
+ * through this API instance: client-measured round-trip latency and bytes
226
+ * transferred, folded together with the server's own per-request processing
227
+ * time and an estimated transport overhead (round-trip minus server time).
228
+ *
229
+ * Fetching the snapshot issues a lightweight request to the server to
230
+ * retrieve its timing collection. Collection must be enabled via the
231
+ * `collectTiming` option; when it is not, the returned snapshot has
232
+ * `enabled: false` and zeroed totals.
233
+ */
234
+ get getTimingInfo(): {
235
+ (): TimingInfo;
236
+ gen(): Generator<ProtocolRequest, TimingInfo, ProtocolResponse["result"]>;
237
+ };
238
+ /** Clears all accumulated timing totals and recent-request history, on both the client and the server. */
239
+ get resetTimingInfo(): {
240
+ (): void;
241
+ gen(): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
242
+ };
243
+ /** Creates a program from current filesystem state. */
244
+ get createProgram(): {
245
+ (rootFiles: readonly DocumentIdentifier[], compilerOptions: RawCompilerOptions, createProgramOptions?: CreateProgramOptions): Program;
246
+ gen(rootFiles: readonly DocumentIdentifier[], compilerOptions: RawCompilerOptions, createProgramOptions?: CreateProgramOptions): Generator<ProtocolRequest, Program, ProtocolResponse["result"]>;
247
+ };
248
+ }
249
+ type EnsureInitialized = (() => void) & {
250
+ gen(): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
251
+ };
252
+ /** Looks up a remote declaration's binder symbol through its API. Throws for non-remote declarations. */
253
+ export declare function getSymbol(declaration: Declaration): Symbol;
254
+ export declare namespace getSymbol {
255
+ function gen(declaration: Declaration): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
256
+ }
257
+ /** An independently retained source file and its disposable remote-lifetime lease. */
258
+ export declare class RetainedSourceFile {
259
+ readonly sourceFile: SourceFile;
260
+ private readonly lease;
261
+ private readonly onDispose;
262
+ private disposed;
263
+ private disposePromise;
264
+ constructor(sourceFile: SourceFile, lease: number, onDispose: () => void);
265
+ [globalThis.Symbol.dispose](): void;
266
+ get dispose(): {
267
+ (): void;
268
+ gen(): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
269
+ };
270
+ private get disposeWorker();
271
+ }
272
+ export declare class InternalAPI {
273
+ private client;
274
+ private ensureInitialized;
275
+ /** @internal */
276
+ constructor(client: Client, ensureInitialized: EnsureInitialized);
277
+ get startCPUProfile(): {
278
+ (dir: string): void;
279
+ gen(dir: string): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
280
+ };
281
+ get stopCPUProfile(): {
282
+ (): RootedFilePath;
283
+ gen(): Generator<ProtocolRequest, RootedFilePath, ProtocolResponse["result"]>;
284
+ };
285
+ get saveHeapProfile(): {
286
+ (dir: string): RootedFilePath;
287
+ gen(dir: string): Generator<ProtocolRequest, RootedFilePath, ProtocolResponse["result"]>;
288
+ };
289
+ }
290
+ type SnapshotUpdater = ((params: CreateSnapshotParams) => Snapshot) & {
291
+ gen(params: CreateSnapshotParams): Generator<ProtocolRequest, Snapshot, ProtocolResponse["result"]>;
292
+ };
293
+ export interface SnapshotOperation {
294
+ readonly createdPrograms?: readonly Program<SyntheticProjectId>[] | undefined;
295
+ readonly openedFiles?: readonly SnapshotOpenedFileOperation[] | undefined;
296
+ }
297
+ export interface SnapshotOpenedFileOperation {
298
+ readonly project: Project;
299
+ }
300
+ /** Replaces every element of a tuple while preserving its length and index structure. */
301
+ type MapTupleTo<Tuple extends readonly unknown[], Result> = {
302
+ readonly [Index in keyof Tuple]: Result;
303
+ };
304
+ /**
305
+ * Keeps `Tuple` as an inference target while contextually typing each element from
306
+ * `Elements`. The mapped intersection supplies nested completions and excess-property
307
+ * checks without widening an inferred tuple to an array.
308
+ */
309
+ type ContextualizeTuple<Tuple extends readonly unknown[] | undefined, Elements extends readonly unknown[] | undefined> = Tuple & {
310
+ readonly [Index in keyof Tuple]: NonNullable<Elements>[number];
311
+ };
312
+ /** Substitutes the operation arrays with contextually typed, tuple-preserving versions. */
313
+ type SnapshotOperationParams<Params extends {
314
+ createPrograms?: readonly unknown[] | undefined;
315
+ openFiles?: readonly unknown[] | undefined;
316
+ }, CreatePrograms extends Params["createPrograms"], OpenFiles extends Params["openFiles"]> = Omit<Params, "createPrograms" | "openFiles"> & {
317
+ createPrograms?: ContextualizeTuple<CreatePrograms, Params["createPrograms"]> | undefined;
318
+ openFiles?: ContextualizeTuple<OpenFiles, Params["openFiles"]> | undefined;
319
+ };
320
+ /**
321
+ * Refines a snapshot's operation results to required tuples when the corresponding
322
+ * operation arrays were supplied, preserving their lengths for indexed access.
323
+ */
324
+ type SnapshotForOperationResults<CreatePrograms extends readonly unknown[] | undefined, OpenFiles extends readonly unknown[] | undefined> = Snapshot & {
325
+ readonly operation: SnapshotOperation & (CreatePrograms extends readonly unknown[] ? {
326
+ readonly createdPrograms: MapTupleTo<CreatePrograms, Program<SyntheticProjectId>>;
327
+ } : unknown) & (OpenFiles extends readonly unknown[] ? {
328
+ readonly openedFiles: MapTupleTo<OpenFiles, SnapshotOpenedFileOperation>;
329
+ } : unknown);
330
+ };
331
+ /** Derives the refined snapshot result type from a complete operation parameter type. */
332
+ export type SnapshotForOperation<Params extends CreateSnapshotParams> = SnapshotForOperationResults<Params extends {
333
+ createPrograms: infer CreatePrograms extends readonly unknown[];
334
+ } ? CreatePrograms : undefined, Params extends {
335
+ openFiles: infer OpenFiles extends readonly unknown[];
336
+ } ? OpenFiles : undefined>;
337
+ export declare class Snapshot {
338
+ readonly id: number;
339
+ readonly operation: SnapshotOperation;
340
+ private projectMap;
341
+ private toPath;
342
+ private readonly api;
343
+ private disposed;
344
+ private disposePromise;
345
+ private onDispose;
346
+ private snapshotRegistry;
347
+ private projectDataMap;
348
+ private updateSnapshot;
349
+ readonly internal: SnapshotInternalAPI;
350
+ private get client();
351
+ constructor(data: CreateSnapshotResponse, toPath: (fileName: string, basePath?: string) => PathKey, api: API<boolean>, onDispose: () => void, updateSnapshot: SnapshotUpdater, baseSnapshot?: Snapshot);
352
+ getProjects(): readonly Project[];
353
+ getConfiguredProject(configFileName: string): Project<ConfiguredProjectId> | undefined;
354
+ getProject<Id extends ProjectId>(projectId: Id): Project<Id> | undefined;
355
+ getProgram<Id extends ProjectId>(projectId: Id): Program<Id> | undefined;
356
+ get update(): {
357
+ <const CreatePrograms extends CreateSnapshotParams["createPrograms"] = undefined, const OpenFiles extends CreateSnapshotParams["openFiles"] = undefined>(params: SnapshotOperationParams<CreateSnapshotParams, CreatePrograms, OpenFiles>): SnapshotForOperationResults<CreatePrograms, OpenFiles>;
358
+ (params: CreateSnapshotParams): Snapshot;
359
+ gen<const CreatePrograms extends CreateSnapshotParams["createPrograms"] = undefined, const OpenFiles extends CreateSnapshotParams["openFiles"] = undefined>(params: SnapshotOperationParams<CreateSnapshotParams, CreatePrograms, OpenFiles>): Generator<ProtocolRequest, SnapshotForOperationResults<CreatePrograms, OpenFiles>, ProtocolResponse["result"]>;
360
+ gen(params: CreateSnapshotParams): Generator<ProtocolRequest, Snapshot, ProtocolResponse["result"]>;
361
+ };
362
+ /**
363
+ * Gets the default project for a given file from the configured projects and
364
+ * inferred project already loaded in the snapshot. Synthetic projects are not
365
+ * considered. Files that have been opened with `openFiles` are guaranteed to
366
+ * have a result.
367
+ */
368
+ get getDefaultProjectForFile(): {
369
+ (file: DocumentIdentifier): Project | undefined;
370
+ gen(file: DocumentIdentifier): Generator<ProtocolRequest, Project | undefined, ProtocolResponse["result"]>;
371
+ };
372
+ [globalThis.Symbol.dispose](): void;
373
+ get dispose(): {
374
+ (): void;
375
+ gen(): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
376
+ };
377
+ private get disposeWorker();
378
+ isDisposed(): boolean;
379
+ private ensureNotDisposed;
380
+ private requireProject;
381
+ }
382
+ export declare class ModuleResolver {
383
+ readonly id: number;
384
+ private readonly client;
385
+ private readonly disposeCallback;
386
+ private disposed;
387
+ constructor(id: number, client: Client, disposeCallback: (() => void) | undefined);
388
+ get resolveModuleName(): {
389
+ (moduleName: string, containingDirectory: DocumentIdentifier, resolutionMode?: ResolutionMode, options?: {
390
+ snapshot?: Snapshot | InProgressSnapshot | undefined;
391
+ }): ResolveModuleNameResult;
392
+ gen(moduleName: string, containingDirectory: DocumentIdentifier, resolutionMode?: ResolutionMode, options?: {
393
+ snapshot?: Snapshot | InProgressSnapshot | undefined;
394
+ }): Generator<ProtocolRequest, ResolveModuleNameResult, ProtocolResponse["result"]>;
395
+ };
396
+ [globalThis.Symbol.dispose](): void;
397
+ get dispose(): {
398
+ (): void;
399
+ gen(): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
400
+ };
401
+ /** @internal */
402
+ ensureNotDisposed(): void;
403
+ }
404
+ declare class SnapshotObjectRegistry {
405
+ private readonly symbols;
406
+ private readonly projectRegistries;
407
+ private readonly snapshotId;
408
+ constructor(snapshotId: number);
409
+ addProjectRegistry(registry: ProjectObjectRegistry): void;
410
+ getOrCreateSymbol(data: SymbolResponse): Symbol;
411
+ getSymbol(id: number): Symbol | undefined;
412
+ clear(): void;
413
+ }
414
+ declare class ProjectObjectRegistry {
415
+ private snapshotId;
416
+ readonly project: Project;
417
+ private snapshotRegistry;
418
+ private types;
419
+ private signatures;
420
+ private disposed;
421
+ private get client();
422
+ private get sourceFileCache();
423
+ constructor(snapshotId: number, project: Project, snapshotRegistry: SnapshotObjectRegistry);
424
+ getOrCreateSymbol(data: ProtocolSymbolResponse): Symbol;
425
+ /** Find an already-interned symbol and retain its file record for this registry. */
426
+ getCachedSymbol(reference: CompactSymbolReference): Symbol | undefined;
427
+ getOrCreateType(data: TypeResponse): TypeObject;
428
+ getType(id: number): TypeObject | undefined;
429
+ createNodeHandle<T extends Node>(handle: string): NodeHandle<T>;
430
+ getOrCreateSignature(data: SignatureResponse): Signature;
431
+ getSignature(id: number): Signature | undefined;
432
+ clear(): void;
433
+ private ensureNotDisposed;
434
+ get fetchOptionalType(): {
435
+ <T extends Type>(source: Symbol | Signature | Type, method: TypePropertyMethod, handle: number | false | undefined): T | undefined;
436
+ gen<T extends Type>(source: Symbol | Signature | Type, method: TypePropertyMethod, handle: number | false | undefined): Generator<ProtocolRequest, T | undefined, ProtocolResponse["result"]>;
437
+ };
438
+ get fetchType(): {
439
+ <T extends Type>(source: Symbol | Signature | Type, method: TypePropertyMethod, handle: number | false | undefined): T;
440
+ gen<T extends Type>(source: Symbol | Signature | Type, method: TypePropertyMethod, handle: number | false | undefined): Generator<ProtocolRequest, T, ProtocolResponse["result"]>;
441
+ };
442
+ get fetchSymbol(): {
443
+ (source: Symbol | Signature | Type, method: SymbolPropertyMethod, reference: CompactSymbolReference | undefined): Symbol;
444
+ gen(source: Symbol | Signature | Type, method: SymbolPropertyMethod, reference: CompactSymbolReference | undefined): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
445
+ };
446
+ get fetchSignature(): {
447
+ (source: Symbol | Signature | Type, method: SignaturePropertyMethod, handle: number | undefined): Signature;
448
+ gen(source: Symbol | Signature | Type, method: SignaturePropertyMethod, handle: number | undefined): Generator<ProtocolRequest, Signature, ProtocolResponse["result"]>;
449
+ };
450
+ get fetchTypes(): {
451
+ (source: Symbol | Signature | Type, method: TypesPropertyMethod, handles?: readonly number[]): readonly Type[];
452
+ gen(source: Symbol | Signature | Type, method: TypesPropertyMethod, handles?: readonly number[]): Generator<ProtocolRequest, readonly Type[], ProtocolResponse["result"]>;
453
+ };
454
+ get fetchSymbols(): {
455
+ (source: Symbol | Signature | Type, method: SymbolsPropertyMethod, references?: readonly CompactSymbolReference[]): readonly Symbol[];
456
+ gen(source: Symbol | Signature | Type, method: SymbolsPropertyMethod, references?: readonly CompactSymbolReference[]): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
457
+ };
458
+ private get fetchSymbolsFromServer();
459
+ get fetchBaseTypes(): {
460
+ (source: Type): readonly Type[];
461
+ gen(source: Type): Generator<ProtocolRequest, readonly Type[], ProtocolResponse["result"]>;
462
+ };
463
+ get fetchPropertiesOfType(): {
464
+ (source: Type): readonly Symbol[];
465
+ gen(source: Type): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
466
+ };
467
+ get fetchApparentPropertiesOfType(): {
468
+ (source: Type): readonly Symbol[];
469
+ gen(source: Type): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
470
+ };
471
+ get fetchPropertyOfType(): {
472
+ (source: Type, name: string): Symbol | undefined;
473
+ gen(source: Type, name: string): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
474
+ };
475
+ get fetchSignaturesOfType(): {
476
+ (source: Type, kind: SignatureKind): readonly Signature[];
477
+ gen(source: Type, kind: SignatureKind): Generator<ProtocolRequest, readonly Signature[], ProtocolResponse["result"]>;
478
+ };
479
+ get fetchIndexInfosOfType(): {
480
+ (source: Type): readonly IndexInfo[];
481
+ gen(source: Type): Generator<ProtocolRequest, readonly IndexInfo[], ProtocolResponse["result"]>;
482
+ };
483
+ get fetchTypeParameterAtPosition(): {
484
+ (source: Signature, pos: number): Type;
485
+ gen(source: Signature, pos: number): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
486
+ };
487
+ }
488
+ export declare class Project<Id extends ProjectId = ProjectId> {
489
+ /** @internal */
490
+ readonly api: API<boolean>;
491
+ readonly id: Id;
492
+ readonly configFileName: RootedFilePath | undefined;
493
+ readonly currentDirectory: RootedDirectoryPath;
494
+ readonly dirty: boolean;
495
+ readonly parsedCommandLine: ParsedCommandLine;
496
+ /** @deprecated Use `parsedCommandLine.options`. */
497
+ readonly compilerOptions: CompilerOptions;
498
+ /** @deprecated Use `parsedCommandLine.fileNames`. */
499
+ readonly rootFiles: readonly RootedFilePath[];
500
+ readonly program: Program<Id>;
501
+ readonly checker: Checker;
502
+ readonly languageService: LanguageService;
503
+ private snapshotId;
504
+ constructor(data: ProjectResponse, snapshotId: number, toPath: (fileName: string, basePath?: string) => PathKey, api: API<boolean>, snapshotRegistry: SnapshotObjectRegistry);
505
+ /** @deprecated Use `languageService.getImportAdderEdits`. */
506
+ get getImportAdderEdits(): {
507
+ (file: DocumentIdentifier, actions: readonly APIImportAdderAction[]): readonly TextEdit[];
508
+ gen(file: DocumentIdentifier, actions: readonly APIImportAdderAction[]): Generator<ProtocolRequest, readonly TextEdit[], ProtocolResponse["result"]>;
509
+ };
510
+ /** @deprecated Use `languageService.getImportEditsForSymbols`. */
511
+ get getImportEditsForSymbols(): {
512
+ (file: DocumentIdentifier, symbols: readonly Symbol[], options?: GetImportEditsForSymbolsOptions): readonly TextEdit[];
513
+ gen(file: DocumentIdentifier, symbols: readonly Symbol[], options?: GetImportEditsForSymbolsOptions): Generator<ProtocolRequest, readonly TextEdit[], ProtocolResponse["result"]>;
514
+ };
515
+ dispose(): void;
516
+ }
517
+ export declare class LanguageService {
518
+ private snapshotId;
519
+ private project;
520
+ private objectRegistry;
521
+ private get client();
522
+ constructor(snapshotId: number, project: Project, objectRegistry: ProjectObjectRegistry);
523
+ get getImportAdderEdits(): {
524
+ (file: DocumentIdentifier, actions: readonly APIImportAdderAction[]): readonly TextEdit[];
525
+ gen(file: DocumentIdentifier, actions: readonly APIImportAdderAction[]): Generator<ProtocolRequest, readonly TextEdit[], ProtocolResponse["result"]>;
526
+ };
527
+ get getImportEditsForSymbols(): {
528
+ (file: DocumentIdentifier, symbols: readonly Symbol[], options?: GetImportEditsForSymbolsOptions): readonly TextEdit[];
529
+ gen(file: DocumentIdentifier, symbols: readonly Symbol[], options?: GetImportEditsForSymbolsOptions): Generator<ProtocolRequest, readonly TextEdit[], ProtocolResponse["result"]>;
530
+ };
531
+ get getReferencedSymbolsForNode(): {
532
+ (node: Node, position: number): ReferencedSymbolEntry[];
533
+ gen(node: Node, position: number): Generator<ProtocolRequest, ReferencedSymbolEntry[], ProtocolResponse["result"]>;
534
+ };
535
+ get getSignatureUsage(): {
536
+ (signatureDecl: Node): SignatureUsage[];
537
+ gen(signatureDecl: Node): Generator<ProtocolRequest, SignatureUsage[], ProtocolResponse["result"]>;
538
+ };
539
+ get getCompletionsAtPosition(): {
540
+ (document: string, position: number, options?: CompletionOptions): CompletionInfo | undefined;
541
+ gen(document: string, position: number, options?: CompletionOptions): Generator<ProtocolRequest, CompletionInfo | undefined, ProtocolResponse["result"]>;
542
+ };
543
+ }
544
+ export declare class Program<Id extends ProjectId = ProjectId> implements FormatDiagnosticsHost {
545
+ /** @internal */
546
+ readonly snapshotId: number;
547
+ readonly id: Id;
548
+ private readonly project;
549
+ private readonly toPath;
550
+ private readonly decoder;
551
+ private readonly sourceFileMetadataCache;
552
+ private ownedSnapshot;
553
+ private disposePromise;
554
+ private get client();
555
+ private get sourceFileCache();
556
+ constructor(snapshotId: number, project: Project<Id>, toPath: (fileName: string, basePath?: string) => PathKey);
557
+ getCurrentDirectory(): RootedDirectoryPath;
558
+ getCanonicalFileName(fileName: string): string;
559
+ getNewLine(): string;
560
+ /** @internal */
561
+ setOwnedSnapshot(snapshot: Snapshot): void;
562
+ [globalThis.Symbol.dispose](): void;
563
+ get dispose(): {
564
+ (): void;
565
+ gen(): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
566
+ };
567
+ private get disposeWorker();
568
+ getCompilerOptions(): CompilerOptions;
569
+ get getSourceFile(): {
570
+ (file: DocumentIdentifier): SourceFile | undefined;
571
+ gen(file: DocumentIdentifier): Generator<ProtocolRequest, SourceFile | undefined, ProtocolResponse["result"]>;
572
+ };
573
+ /**
574
+ * Returns the source file for an already-canonical path.
575
+ *
576
+ * @internal
577
+ */
578
+ get getSourceFileByPath(): {
579
+ (path: PathKey): SourceFile | undefined;
580
+ gen(path: PathKey): Generator<ProtocolRequest, SourceFile | undefined, ProtocolResponse["result"]>;
581
+ };
582
+ private get getSourceFileWorker();
583
+ get getResolvedModule(): {
584
+ (file: DocumentIdentifier, moduleName: string, mode: ModuleKind): ResolvedModule | undefined;
585
+ gen(file: DocumentIdentifier, moduleName: string, mode: ModuleKind): Generator<ProtocolRequest, ResolvedModule | undefined, ProtocolResponse["result"]>;
586
+ };
587
+ get getModeForUsageLocation(): {
588
+ (file: DocumentIdentifier, usage: StringLiteralLikeNode): ModuleKind;
589
+ gen(file: DocumentIdentifier, usage: StringLiteralLikeNode): Generator<ProtocolRequest, ModuleKind, ProtocolResponse["result"]>;
590
+ };
591
+ get getModeForResolutionAtIndex(): {
592
+ (file: DocumentIdentifier, index: number): ModuleKind;
593
+ gen(file: DocumentIdentifier, index: number): Generator<ProtocolRequest, ModuleKind, ProtocolResponse["result"]>;
594
+ };
595
+ get getResolvedModuleFromModuleSpecifier(): {
596
+ (moduleSpecifier: StringLiteralLikeNode, sourceFile?: DocumentIdentifier): ResolvedModule | undefined;
597
+ gen(moduleSpecifier: StringLiteralLikeNode, sourceFile?: DocumentIdentifier): Generator<ProtocolRequest, ResolvedModule | undefined, ProtocolResponse["result"]>;
598
+ };
599
+ get getResolvedTypeReferenceDirective(): {
600
+ (file: DocumentIdentifier, typeDirectiveName: string, mode: ModuleKind): ResolvedTypeReferenceDirective | undefined;
601
+ gen(file: DocumentIdentifier, typeDirectiveName: string, mode: ModuleKind): Generator<ProtocolRequest, ResolvedTypeReferenceDirective | undefined, ProtocolResponse["result"]>;
602
+ };
603
+ get getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(): {
604
+ (typeReferenceDirective: FileReference, sourceFile: DocumentIdentifier): ResolvedTypeReferenceDirective | undefined;
605
+ gen(typeReferenceDirective: FileReference, sourceFile: DocumentIdentifier): Generator<ProtocolRequest, ResolvedTypeReferenceDirective | undefined, ProtocolResponse["result"]>;
606
+ };
607
+ get getSourceFileNames(): {
608
+ (): readonly RootedFilePath[];
609
+ gen(): Generator<ProtocolRequest, readonly RootedFilePath[], ProtocolResponse["result"]>;
610
+ };
611
+ /**
612
+ * Returns program-stored metadata for the given source file, or `undefined` if the file
613
+ * is not part of the program. Metadata is fetched lazily per file and cached on this
614
+ * `Program` instance.
615
+ */
616
+ get getSourceFileMetadata(): {
617
+ (file: DocumentIdentifier): SourceFileMetadata | undefined;
618
+ gen(file: DocumentIdentifier): Generator<ProtocolRequest, SourceFileMetadata | undefined, ProtocolResponse["result"]>;
619
+ };
620
+ /**
621
+ * Returns program-stored metadata for the source file at the given path, or `undefined`
622
+ * if the file is not part of the program. Like {@link getSourceFileMetadata}, but skips
623
+ * the file name to path conversion. Metadata is fetched lazily per file and cached on
624
+ * this `Program` instance.
625
+ */
626
+ get getSourceFileMetadataByPath(): {
627
+ (path: PathKey): SourceFileMetadata | undefined;
628
+ gen(path: PathKey): Generator<ProtocolRequest, SourceFileMetadata | undefined, ProtocolResponse["result"]>;
629
+ };
630
+ private get fetchSourceFileMetadata();
631
+ private pathKeyForFileName;
632
+ /**
633
+ * Returns whether the given source file was loaded as part of an external library
634
+ * (e.g. a dependency resolved from `node_modules`). The underlying program metadata is
635
+ * fetched lazily per file and cached on this `Program` instance.
636
+ */
637
+ get isSourceFileFromExternalLibrary(): {
638
+ (file: SourceFile): boolean;
639
+ gen(file: SourceFile): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
640
+ };
641
+ /**
642
+ * Returns whether the given source file is a default library file (e.g. `lib.d.ts`).
643
+ * The underlying program metadata is fetched lazily per file and cached on this
644
+ * `Program` instance.
645
+ */
646
+ get isSourceFileDefaultLibrary(): {
647
+ (file: SourceFile): boolean;
648
+ gen(file: SourceFile): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
649
+ };
650
+ /**
651
+ * Get all config source file names associated with this program's project config.
652
+ * Includes the root config file and any extended config files.
653
+ */
654
+ get getConfigFileNames(): {
655
+ (): readonly RootedFilePath[];
656
+ gen(): Generator<ProtocolRequest, readonly RootedFilePath[], ProtocolResponse["result"]>;
657
+ };
658
+ /**
659
+ * Get a config source file by file name/URI.
660
+ * This can return the project's root tsconfig file or one of its extended config files.
661
+ */
662
+ get getConfigSourceFile(): {
663
+ (file: DocumentIdentifier): SourceFile | undefined;
664
+ gen(file: DocumentIdentifier): Generator<ProtocolRequest, SourceFile | undefined, ProtocolResponse["result"]>;
665
+ };
666
+ /**
667
+ * Get syntactic (parse) diagnostics for specific files or all files.
668
+ * @param file - Optional file(s) to get diagnostics for. If omitted, returns diagnostics for all files.
669
+ */
670
+ get getSyntacticDiagnostics(): {
671
+ (file?: DocumentIdentifier | readonly DocumentIdentifier[]): readonly Diagnostic[];
672
+ gen(file?: DocumentIdentifier | readonly DocumentIdentifier[]): Generator<ProtocolRequest, readonly Diagnostic[], ProtocolResponse["result"]>;
673
+ };
674
+ /**
675
+ * Get binder diagnostics for specific files or all files.
676
+ * @param file - Optional file(s) to get diagnostics for. If omitted, returns diagnostics for all files.
677
+ */
678
+ get getBindDiagnostics(): {
679
+ (file?: DocumentIdentifier | readonly DocumentIdentifier[]): readonly Diagnostic[];
680
+ gen(file?: DocumentIdentifier | readonly DocumentIdentifier[]): Generator<ProtocolRequest, readonly Diagnostic[], ProtocolResponse["result"]>;
681
+ };
682
+ /**
683
+ * Get semantic (type-check) diagnostics for specific files or all files.
684
+ * @param file - Optional file(s) to get diagnostics for. If omitted, returns diagnostics for all files.
685
+ */
686
+ get getSemanticDiagnostics(): {
687
+ (file?: DocumentIdentifier | readonly DocumentIdentifier[]): readonly Diagnostic[];
688
+ gen(file?: DocumentIdentifier | readonly DocumentIdentifier[]): Generator<ProtocolRequest, readonly Diagnostic[], ProtocolResponse["result"]>;
689
+ };
690
+ /**
691
+ * Get suggestion diagnostics for specific files or all files.
692
+ * @param file - Optional file(s) to get diagnostics for. If omitted, returns diagnostics for all files.
693
+ */
694
+ get getSuggestionDiagnostics(): {
695
+ (file?: DocumentIdentifier | readonly DocumentIdentifier[]): readonly Diagnostic[];
696
+ gen(file?: DocumentIdentifier | readonly DocumentIdentifier[]): Generator<ProtocolRequest, readonly Diagnostic[], ProtocolResponse["result"]>;
697
+ };
698
+ /**
699
+ * Get declaration emit diagnostics for specific files or all files.
700
+ * @param file - Optional file(s) to get diagnostics for. If omitted, returns diagnostics for all files.
701
+ */
702
+ get getDeclarationDiagnostics(): {
703
+ (file?: DocumentIdentifier | readonly DocumentIdentifier[]): readonly Diagnostic[];
704
+ gen(file?: DocumentIdentifier | readonly DocumentIdentifier[]): Generator<ProtocolRequest, readonly Diagnostic[], ProtocolResponse["result"]>;
705
+ };
706
+ /**
707
+ * Get program-wide diagnostics for the project, including compiler options diagnostics.
708
+ */
709
+ get getProgramDiagnostics(): {
710
+ (): readonly Diagnostic[];
711
+ gen(): Generator<ProtocolRequest, readonly Diagnostic[], ProtocolResponse["result"]>;
712
+ };
713
+ /**
714
+ * Get global (non-file-specific) semantic diagnostics for the project.
715
+ */
716
+ get getGlobalDiagnostics(): {
717
+ (): readonly Diagnostic[];
718
+ gen(): Generator<ProtocolRequest, readonly Diagnostic[], ProtocolResponse["result"]>;
719
+ };
720
+ /**
721
+ * Get config file parsing diagnostics for the project.
722
+ */
723
+ get getConfigFileParsingDiagnostics(): {
724
+ (): readonly Diagnostic[];
725
+ gen(): Generator<ProtocolRequest, readonly Diagnostic[], ProtocolResponse["result"]>;
726
+ };
727
+ /**
728
+ * Emits files to the configured filesystem. Layer and host filesystems are
729
+ * written through; full filesystems remain immutable and return emitted
730
+ * files in {@link EmitResult.fileSystem}.
731
+ */
732
+ get emit(): {
733
+ (emitOnly?: EmitOnly): EmitResult;
734
+ gen(emitOnly?: EmitOnly): Generator<ProtocolRequest, EmitResult, ProtocolResponse["result"]>;
735
+ };
736
+ /**
737
+ * Emits files and returns their contents without writing to the filesystem.
738
+ */
739
+ get emitToString(): {
740
+ (emitOnly?: EmitOnly): EmitOutput;
741
+ gen(emitOnly?: EmitOnly): Generator<ProtocolRequest, EmitOutput, ProtocolResponse["result"]>;
742
+ };
743
+ /**
744
+ * Gets JavaScript output for selected files regardless of project `noEmit`, `emitDeclarationOnly`, and `noEmitOnError` settings.
745
+ */
746
+ get getJavaScriptEmit(): {
747
+ (files: readonly DocumentIdentifier[]): EmitOutput;
748
+ gen(files: readonly DocumentIdentifier[]): Generator<ProtocolRequest, EmitOutput, ProtocolResponse["result"]>;
749
+ };
750
+ /**
751
+ * Gets declaration output for selected files regardless of project `noEmit`, `declaration`, `emitDeclarationOnly`, and `noEmitOnError` settings.
752
+ */
753
+ get getDeclarationEmit(): {
754
+ (files: readonly DocumentIdentifier[]): EmitOutput;
755
+ gen(files: readonly DocumentIdentifier[]): Generator<ProtocolRequest, EmitOutput, ProtocolResponse["result"]>;
756
+ };
757
+ getProject(): Project<Id>;
758
+ }
759
+ export interface BuildOrchestratorOptions {
760
+ cwd?: string | undefined;
761
+ dry?: boolean;
762
+ force?: boolean;
763
+ verbose?: boolean;
764
+ stopBuildOnErrors?: boolean;
765
+ overrideCompilerOptions?: OverrideCompilerOptions;
766
+ }
767
+ export interface OverrideCompilerOptions {
768
+ incremental?: boolean;
769
+ assumeChangesOnlyAffectDirectDependencies?: boolean;
770
+ declaration?: boolean;
771
+ declarationMap?: boolean;
772
+ emitDeclarationOnly?: boolean;
773
+ sourceMap?: boolean;
774
+ inlineSourceMap?: boolean;
775
+ traceResolution?: boolean;
776
+ }
777
+ export declare class BuildOrchestrator {
778
+ private client;
779
+ private id;
780
+ private disposed;
781
+ private disposePromise;
782
+ private onDispose;
783
+ constructor(client: Client, orchestratorResponse: CreateBuildOrchestratorResponse, onDispose: () => void);
784
+ [globalThis.Symbol.dispose](): void;
785
+ get dispose(): {
786
+ (): void;
787
+ gen(): Generator<ProtocolRequest, void, ProtocolResponse["result"]>;
788
+ };
789
+ private get disposeWorker();
790
+ get build(): {
791
+ (project?: string): BuildResponse;
792
+ gen(project?: string): Generator<ProtocolRequest, BuildResponse, ProtocolResponse["result"]>;
793
+ };
794
+ get buildReferences(): {
795
+ (project: string): BuildResponse;
796
+ gen(project: string): Generator<ProtocolRequest, BuildResponse, ProtocolResponse["result"]>;
797
+ };
798
+ get clean(): {
799
+ (project?: string): CleanBuildResponse;
800
+ gen(project?: string): Generator<ProtocolRequest, CleanBuildResponse, ProtocolResponse["result"]>;
801
+ };
802
+ get cleanReferences(): {
803
+ (project?: string): CleanBuildResponse;
804
+ gen(project?: string): Generator<ProtocolRequest, CleanBuildResponse, ProtocolResponse["result"]>;
805
+ };
806
+ isDisposed(): boolean;
807
+ private ensureNotDisposed;
808
+ }
809
+ export declare class Checker {
810
+ private snapshotId;
811
+ private project;
812
+ private objectRegistry;
813
+ private wellKnownSymbols;
814
+ private wellKnownSignatures;
815
+ private get client();
816
+ constructor(snapshotId: number, project: Project, objectRegistry: ProjectObjectRegistry);
817
+ dispose(): void;
818
+ /** Get the merged symbol, or the original symbol if it has not been merged. */
819
+ get getMergedSymbol(): {
820
+ (symbol: Symbol): Symbol;
821
+ gen(symbol: Symbol): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
822
+ };
823
+ /**
824
+ * Get a node's merged symbol. For a declaration, prefer
825
+ * {@link Checker.getSymbolOfDeclaration} for a non-nullable result.
826
+ */
827
+ get getSymbolOfNode(): {
828
+ (node: Node): Symbol | undefined;
829
+ gen(node: Node): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
830
+ };
831
+ /** Get a declaration's merged symbol. */
832
+ get getSymbolOfDeclaration(): {
833
+ (node: Declaration): Symbol;
834
+ gen(node: Declaration): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
835
+ };
836
+ /** Get a symbol's merged parent, if any. */
837
+ get getParentOfSymbol(): {
838
+ (symbol: Symbol): Symbol | undefined;
839
+ gen(symbol: Symbol): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
840
+ };
841
+ get getSymbolAtLocation(): {
842
+ (node: Node): Symbol | undefined;
843
+ (nodes: readonly Node[]): (Symbol | undefined)[];
844
+ gen(node: Node): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
845
+ gen(nodes: readonly Node[]): Generator<ProtocolRequest, (Symbol | undefined)[], ProtocolResponse["result"]>;
846
+ };
847
+ get getSymbolAtPosition(): {
848
+ (file: DocumentIdentifier, position: number): Symbol | undefined;
849
+ (file: DocumentIdentifier, positions: readonly number[]): (Symbol | undefined)[];
850
+ gen(file: DocumentIdentifier, position: number): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
851
+ gen(file: DocumentIdentifier, positions: readonly number[]): Generator<ProtocolRequest, (Symbol | undefined)[], ProtocolResponse["result"]>;
852
+ };
853
+ get getSymbolOfSourceFile(): {
854
+ (file: DocumentIdentifier): Symbol | undefined;
855
+ (files: readonly DocumentIdentifier[]): (Symbol | undefined)[];
856
+ gen(file: DocumentIdentifier): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
857
+ gen(files: readonly DocumentIdentifier[]): Generator<ProtocolRequest, (Symbol | undefined)[], ProtocolResponse["result"]>;
858
+ };
859
+ /**
860
+ * Get the type of a symbol. Always returns a type; for symbols whose type
861
+ * cannot be determined the checker yields the error type (use
862
+ * {@link Type.isErrorType} to detect it).
863
+ */
864
+ get getTypeOfSymbol(): {
865
+ (symbol: Symbol): Type;
866
+ (symbols: readonly Symbol[]): Type[];
867
+ gen(symbol: Symbol): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
868
+ gen(symbols: readonly Symbol[]): Generator<ProtocolRequest, Type[], ProtocolResponse["result"]>;
869
+ };
870
+ /**
871
+ * Get the declared type of a symbol. Always returns a type; for symbols whose
872
+ * declared type cannot be determined the checker yields the error type (use
873
+ * {@link Type.isErrorType} to detect it).
874
+ */
875
+ get getDeclaredTypeOfSymbol(): {
876
+ (symbol: Symbol): Type;
877
+ gen(symbol: Symbol): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
878
+ };
879
+ /**
880
+ * Get the type of a symbol, excluding the missing type when
881
+ * `exactOptionalPropertyTypes: true` is set; for symbols whose
882
+ * type cannot be determined the checker yields the error type
883
+ * (use {@link Type.isErrorType} to detect it).
884
+ */
885
+ get getNonMissingTypeOfSymbol(): {
886
+ (symbol: Symbol): Type;
887
+ gen(symbol: Symbol): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
888
+ };
889
+ get getReferencesToSymbolInFile(): {
890
+ (file: DocumentIdentifier, symbol: Symbol): NodeHandle[];
891
+ gen(file: DocumentIdentifier, symbol: Symbol): Generator<ProtocolRequest, NodeHandle[], ProtocolResponse["result"]>;
892
+ };
893
+ /** @deprecated Use `project.languageService.getReferencedSymbolsForNode`. */
894
+ get getReferencedSymbolsForNode(): {
895
+ (node: Node, position: number): ReferencedSymbolEntry[];
896
+ gen(node: Node, position: number): Generator<ProtocolRequest, ReferencedSymbolEntry[], ProtocolResponse["result"]>;
897
+ };
898
+ /** @deprecated Use `project.languageService.getSignatureUsage`. */
899
+ get getSignatureUsage(): {
900
+ (signatureDecl: Node): SignatureUsage[];
901
+ gen(signatureDecl: Node): Generator<ProtocolRequest, SignatureUsage[], ProtocolResponse["result"]>;
902
+ };
903
+ /** @deprecated Use `project.languageService.getCompletionsAtPosition`. */
904
+ get getCompletionsAtPosition(): {
905
+ (document: string, position: number, options?: CompletionOptions): CompletionInfo | undefined;
906
+ gen(document: string, position: number, options?: CompletionOptions): Generator<ProtocolRequest, CompletionInfo | undefined, ProtocolResponse["result"]>;
907
+ };
908
+ /**
909
+ * Get the type at a node location. Always returns a type; for nodes whose
910
+ * type cannot be determined the checker yields the error type (use
911
+ * {@link Type.isErrorType} to detect it).
912
+ */
913
+ get getTypeAtLocation(): {
914
+ (node: Node): Type;
915
+ (nodes: readonly Node[]): Type[];
916
+ gen(node: Node): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
917
+ gen(nodes: readonly Node[]): Generator<ProtocolRequest, Type[], ProtocolResponse["result"]>;
918
+ };
919
+ get getSignaturesOfType(): {
920
+ (type: Type, kind: SignatureKind): readonly Signature[];
921
+ gen(type: Type, kind: SignatureKind): Generator<ProtocolRequest, readonly Signature[], ProtocolResponse["result"]>;
922
+ };
923
+ /**
924
+ * Get the resolved signature of a call-like expression. Always returns a
925
+ * signature; when a call cannot be resolved the checker yields the unknown
926
+ * signature (use {@link Checker.isUnknownSignature} to detect it).
927
+ */
928
+ get getResolvedSignature(): {
929
+ (node: Node): Signature;
930
+ gen(node: Node): Generator<ProtocolRequest, Signature, ProtocolResponse["result"]>;
931
+ };
932
+ get getTypeAtPosition(): {
933
+ (file: DocumentIdentifier, position: number): Type | undefined;
934
+ (file: DocumentIdentifier, positions: readonly number[]): (Type | undefined)[];
935
+ gen(file: DocumentIdentifier, position: number): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
936
+ gen(file: DocumentIdentifier, positions: readonly number[]): Generator<ProtocolRequest, (Type | undefined)[], ProtocolResponse["result"]>;
937
+ };
938
+ get resolveName(): {
939
+ (name: string, meaning: SymbolFlags, location?: Node | DocumentPosition, excludeGlobals?: boolean): Symbol | undefined;
940
+ gen(name: string, meaning: SymbolFlags, location?: Node | DocumentPosition, excludeGlobals?: boolean): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
941
+ };
942
+ /**
943
+ * Returns all symbols with the given meaning that are visible at `location`.
944
+ */
945
+ get getSymbolsInScope(): {
946
+ (location: Node | DocumentPosition, meaning: SymbolFlags): readonly Symbol[];
947
+ gen(location: Node | DocumentPosition, meaning: SymbolFlags): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
948
+ };
949
+ get getResolvedSymbol(): {
950
+ (node: Identifier): Symbol | undefined;
951
+ gen(node: Identifier): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
952
+ };
953
+ get getContextualType(): {
954
+ (node: Expression): Type | undefined;
955
+ gen(node: Expression): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
956
+ };
957
+ get getContextualTypeForArgumentAtIndex(): {
958
+ (node: CallLikeExpression, argIndex: number): Type | undefined;
959
+ gen(node: CallLikeExpression, argIndex: number): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
960
+ };
961
+ get getAwaitedType(): {
962
+ (type: Type): Type | undefined;
963
+ gen(type: Type): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
964
+ };
965
+ /** Get the base type of a literal type (e.g. `number` for `42`). Always returns a type. */
966
+ get getBaseTypeOfLiteralType(): {
967
+ (type: Type): Type;
968
+ gen(type: Type): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
969
+ };
970
+ /** Get the type with `null` and `undefined` removed. Always returns a type. */
971
+ get getNonNullableType(): {
972
+ (type: Type): Type;
973
+ gen(type: Type): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
974
+ };
975
+ /**
976
+ * Get the type for a type node. Always returns a type; for type nodes whose
977
+ * type cannot be determined the checker yields the error type (use
978
+ * {@link Type.isErrorType} to detect it).
979
+ */
980
+ get getTypeFromTypeNode(): {
981
+ (node: TypeNode): Type;
982
+ gen(node: TypeNode): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
983
+ };
984
+ /** Get the widened type. Always returns a type. */
985
+ get getWidenedType(): {
986
+ (type: Type): Type;
987
+ gen(type: Type): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
988
+ };
989
+ /**
990
+ * Get the type of the parameter at the given index in a signature. Always
991
+ * returns a type; an out-of-range index yields the `any` type.
992
+ */
993
+ get getParameterType(): {
994
+ (signature: Signature, index: number): Type;
995
+ gen(signature: Signature, index: number): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
996
+ };
997
+ get isArrayLikeType(): {
998
+ (type: Type): boolean;
999
+ gen(type: Type): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1000
+ };
1001
+ get isTypeAssignableTo(): {
1002
+ (source: Type, target: Type): boolean;
1003
+ gen(source: Type, target: Type): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1004
+ };
1005
+ get getShorthandAssignmentValueSymbol(): {
1006
+ (node: Node): Symbol | undefined;
1007
+ gen(node: Node): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1008
+ };
1009
+ /**
1010
+ * Get the type of a symbol as narrowed at a specific location. Always returns
1011
+ * a type; for symbols whose type cannot be determined the checker yields the
1012
+ * error type (use {@link Type.isErrorType} to detect it).
1013
+ */
1014
+ get getTypeOfSymbolAtLocation(): {
1015
+ (symbol: Symbol, location: Node): Type;
1016
+ gen(symbol: Symbol, location: Node): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1017
+ };
1018
+ private get getIntrinsicType();
1019
+ get getAnyType(): {
1020
+ (): Type;
1021
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1022
+ };
1023
+ get getStringType(): {
1024
+ (): Type;
1025
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1026
+ };
1027
+ get getNumberType(): {
1028
+ (): Type;
1029
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1030
+ };
1031
+ get getBooleanType(): {
1032
+ (): Type;
1033
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1034
+ };
1035
+ get getVoidType(): {
1036
+ (): Type;
1037
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1038
+ };
1039
+ get getUndefinedType(): {
1040
+ (): Type;
1041
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1042
+ };
1043
+ get getNullType(): {
1044
+ (): Type;
1045
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1046
+ };
1047
+ get getNeverType(): {
1048
+ (): Type;
1049
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1050
+ };
1051
+ get getUnknownType(): {
1052
+ (): Type;
1053
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1054
+ };
1055
+ get getBigIntType(): {
1056
+ (): Type;
1057
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1058
+ };
1059
+ get getESSymbolType(): {
1060
+ (): Type;
1061
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1062
+ };
1063
+ get getNonPrimitiveType(): {
1064
+ (): Type;
1065
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1066
+ };
1067
+ get typeToTypeNode(): {
1068
+ (type: Type, enclosingDeclaration?: Node, flags?: number): TypeNode | undefined;
1069
+ gen(type: Type, enclosingDeclaration?: Node, flags?: number): Generator<ProtocolRequest, TypeNode | undefined, ProtocolResponse["result"]>;
1070
+ };
1071
+ get signatureToSignatureDeclaration(): {
1072
+ (signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): Node | undefined;
1073
+ gen(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): Generator<ProtocolRequest, Node | undefined, ProtocolResponse["result"]>;
1074
+ };
1075
+ get typeToString(): {
1076
+ (type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string;
1077
+ gen(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): Generator<ProtocolRequest, string, ProtocolResponse["result"]>;
1078
+ };
1079
+ get isContextSensitive(): {
1080
+ (node: Node): boolean;
1081
+ gen(node: Node): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1082
+ };
1083
+ get isArrayType(): {
1084
+ (type: Type): boolean;
1085
+ gen(type: Type): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1086
+ };
1087
+ get isTupleType(): {
1088
+ (type: Type): boolean;
1089
+ gen(type: Type): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1090
+ };
1091
+ get isTupleTypeTarget(): {
1092
+ (type: Type): boolean;
1093
+ gen(type: Type): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1094
+ };
1095
+ /**
1096
+ * The following symbols are considered read-only:
1097
+ * - Properties with a `readonly` modifier
1098
+ * - Variables declared with `const`
1099
+ * - Get accessors without matching set accessors
1100
+ * - Enum members
1101
+ * - `Object.defineProperty` assignments with `writable: false` or no setter
1102
+ * - Unions and intersections of the above
1103
+ */
1104
+ get isReadonlySymbol(): {
1105
+ (symbol: Symbol): boolean;
1106
+ gen(symbol: Symbol): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1107
+ };
1108
+ /** Get the return type of a signature. Always returns a type. */
1109
+ get getReturnTypeOfSignature(): {
1110
+ (signature: Signature): Type;
1111
+ gen(signature: Signature): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1112
+ };
1113
+ /**
1114
+ * Get the rest type of a signature. Always returns a type; a signature with
1115
+ * no rest parameter yields the `any` type.
1116
+ */
1117
+ get getRestTypeOfSignature(): {
1118
+ (signature: Signature): Type;
1119
+ gen(signature: Signature): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1120
+ };
1121
+ get getTypePredicateOfSignature(): {
1122
+ (signature: Signature): TypePredicate | undefined;
1123
+ gen(signature: Signature): Generator<ProtocolRequest, TypePredicate | undefined, ProtocolResponse["result"]>;
1124
+ };
1125
+ /**
1126
+ * Get the base types of a class or interface type. A type with no base types
1127
+ * yields an empty array.
1128
+ */
1129
+ get getBaseTypes(): {
1130
+ (type: InterfaceType): readonly Type[];
1131
+ gen(type: InterfaceType): Generator<ProtocolRequest, readonly Type[], ProtocolResponse["result"]>;
1132
+ };
1133
+ /** Get the apparent type of a type. Always returns a type. */
1134
+ get getApparentType(): {
1135
+ (type: Type): Type;
1136
+ gen(type: Type): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1137
+ };
1138
+ /** Get the reduced type of a type. Always returns a type. */
1139
+ get getReducedType(): {
1140
+ (type: Type): Type;
1141
+ gen(type: Type): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1142
+ };
1143
+ get getPropertiesOfType(): {
1144
+ (type: Type): readonly Symbol[];
1145
+ gen(type: Type): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
1146
+ };
1147
+ get getIndexInfosOfType(): {
1148
+ (type: Type): readonly IndexInfo[];
1149
+ gen(type: Type): Generator<ProtocolRequest, readonly IndexInfo[], ProtocolResponse["result"]>;
1150
+ };
1151
+ get getIndexInfoOfType(): {
1152
+ (type: Type, kind: IndexKind): IndexInfo | undefined;
1153
+ gen(type: Type, kind: IndexKind): Generator<ProtocolRequest, IndexInfo | undefined, ProtocolResponse["result"]>;
1154
+ };
1155
+ get getIndexTypeOfType(): {
1156
+ (type: Type, kind: IndexKind): Type | undefined;
1157
+ gen(type: Type, kind: IndexKind): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1158
+ };
1159
+ get getTypeOfPropertyOfType(): {
1160
+ (type: Type, propertyName: string): Type | undefined;
1161
+ gen(type: Type, propertyName: string): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1162
+ };
1163
+ /**
1164
+ * Get the constraint of a type parameter (the `T` in `<U extends T>`), or
1165
+ * undefined if it has none.
1166
+ */
1167
+ get getConstraintOfTypeParameter(): {
1168
+ (type: TypeParameter): Type | undefined;
1169
+ gen(type: TypeParameter): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1170
+ };
1171
+ get getDefaultFromTypeParameter(): {
1172
+ (type: TypeParameter): Type | undefined;
1173
+ gen(type: TypeParameter): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1174
+ };
1175
+ get getBaseConstraintOfType(): {
1176
+ (type: Type): Type | undefined;
1177
+ gen(type: Type): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1178
+ };
1179
+ get getPropertyOfType(): {
1180
+ (type: Type, name: string): Symbol | undefined;
1181
+ gen(type: Type, name: string): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1182
+ };
1183
+ get getConstantValue(): {
1184
+ (node: Node): string | number | undefined;
1185
+ gen(node: Node): Generator<ProtocolRequest, string | number | undefined, ProtocolResponse["result"]>;
1186
+ };
1187
+ /** Get the signature of a function-like declaration. Always returns a signature. */
1188
+ get getSignatureFromDeclaration(): {
1189
+ (node: Node): Signature;
1190
+ gen(node: Node): Generator<ProtocolRequest, Signature, ProtocolResponse["result"]>;
1191
+ };
1192
+ get getExportSpecifierLocalTargetSymbol(): {
1193
+ (node: Node): Symbol | undefined;
1194
+ gen(node: Node): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1195
+ };
1196
+ /**
1197
+ * Follow all aliases to get the original symbol. Always returns a symbol; for
1198
+ * an unresolved alias the checker yields the unknown symbol (use
1199
+ * {@link Checker.isUnknownSymbol} to detect it).
1200
+ */
1201
+ get getAliasedSymbol(): {
1202
+ (symbol: Symbol): Symbol;
1203
+ gen(symbol: Symbol): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
1204
+ };
1205
+ /**
1206
+ * Get the fully qualified name of a symbol, walking up its parent chain
1207
+ * (e.g. `"/path/to/module".Namespace.Name`).
1208
+ */
1209
+ get getFullyQualifiedName(): {
1210
+ (symbol: Symbol): string;
1211
+ gen(symbol: Symbol): Generator<ProtocolRequest, string, ProtocolResponse["result"]>;
1212
+ };
1213
+ get getImmediateAliasedSymbol(): {
1214
+ (symbol: Symbol): Symbol | undefined;
1215
+ gen(symbol: Symbol): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1216
+ };
1217
+ /**
1218
+ * Get the target symbol if instantiated, or the provided symbol otherwise.
1219
+ */
1220
+ get getTargetSymbol(): {
1221
+ (symbol: Symbol): Symbol;
1222
+ gen(symbol: Symbol): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
1223
+ };
1224
+ get getExportSymbolOfSymbol(): {
1225
+ (symbol: Symbol): Symbol;
1226
+ gen(symbol: Symbol): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
1227
+ };
1228
+ /**
1229
+ * Fetch (once, then cache) the handle ids of the per-checker singleton
1230
+ * symbols (unknown, undefined, arguments). These ids are stable for the life
1231
+ * of the project's checker, so identity checks against them are local after
1232
+ * the first call.
1233
+ */
1234
+ private get getWellKnownSymbols();
1235
+ /**
1236
+ * Returns `true` if the symbol is the checker's "unknown" symbol (e.g. the
1237
+ * result of {@link Checker.getAliasedSymbol} on an unresolved alias).
1238
+ */
1239
+ get isUnknownSymbol(): {
1240
+ (symbol: Symbol): boolean;
1241
+ gen(symbol: Symbol): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1242
+ };
1243
+ /**
1244
+ * Returns `true` if the symbol is the checker's "undefined" symbol.
1245
+ */
1246
+ get isUndefinedSymbol(): {
1247
+ (symbol: Symbol): boolean;
1248
+ gen(symbol: Symbol): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1249
+ };
1250
+ /**
1251
+ * Returns `true` if the symbol is the checker's "arguments" symbol.
1252
+ */
1253
+ get isArgumentsSymbol(): {
1254
+ (symbol: Symbol): boolean;
1255
+ gen(symbol: Symbol): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1256
+ };
1257
+ /**
1258
+ * Fetch (once, then cache) the handle id of the per-checker unknown
1259
+ * signature. This id is stable for the life of the project's checker, so
1260
+ * identity checks against it are local after the first call.
1261
+ */
1262
+ private get getWellKnownSignatures();
1263
+ /**
1264
+ * Returns `true` if the signature is the checker's "unknown" signature (e.g.
1265
+ * the result of {@link Checker.getResolvedSignature} on a call that cannot be
1266
+ * resolved).
1267
+ */
1268
+ get isUnknownSignature(): {
1269
+ (signature: Signature): boolean;
1270
+ gen(signature: Signature): Generator<ProtocolRequest, boolean, ProtocolResponse["result"]>;
1271
+ };
1272
+ get getExportsOfModule(): {
1273
+ (symbol: Symbol): readonly Symbol[];
1274
+ gen(symbol: Symbol): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
1275
+ };
1276
+ get getMemberInModuleExports(): {
1277
+ (symbol: Symbol, name: string): Symbol | undefined;
1278
+ gen(symbol: Symbol, name: string): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1279
+ };
1280
+ get getJsDocTagsOfSymbol(): {
1281
+ (symbol: Symbol): readonly JSDocTagInfo[];
1282
+ gen(symbol: Symbol): Generator<ProtocolRequest, readonly JSDocTagInfo[], ProtocolResponse["result"]>;
1283
+ };
1284
+ get getDocumentationCommentOfSymbol(): {
1285
+ (symbol: Symbol): string;
1286
+ gen(symbol: Symbol): Generator<ProtocolRequest, string, ProtocolResponse["result"]>;
1287
+ };
1288
+ /**
1289
+ * Get the type arguments of a type reference (e.g. the `string` in `Array<string>`).
1290
+ */
1291
+ get getTypeArguments(): {
1292
+ (type: TypeReference): readonly Type[];
1293
+ gen(type: TypeReference): Generator<ProtocolRequest, readonly Type[], ProtocolResponse["result"]>;
1294
+ };
1295
+ }
1296
+ export interface PrintNodeOptions {
1297
+ preserveSourceNewlines?: boolean | undefined;
1298
+ neverAsciiEscape?: boolean | undefined;
1299
+ terminateUnterminatedLiterals?: boolean | undefined;
1300
+ }
1301
+ export declare class Printer {
1302
+ private client;
1303
+ constructor(client: Client);
1304
+ get printNode(): {
1305
+ (node: Node, options?: PrintNodeOptions): string;
1306
+ gen(node: Node, options?: PrintNodeOptions): Generator<ProtocolRequest, string, ProtocolResponse["result"]>;
1307
+ };
1308
+ get printFile(): {
1309
+ (sourceFile: SourceFile, options?: PrintNodeOptions): string;
1310
+ gen(sourceFile: SourceFile, options?: PrintNodeOptions): Generator<ProtocolRequest, string, ProtocolResponse["result"]>;
1311
+ };
1312
+ }
1313
+ export declare class SnapshotInternalAPI {
1314
+ private snapshotId;
1315
+ private client;
1316
+ constructor(snapshotId: number, client: Client);
1317
+ /**
1318
+ * Format a synthesized node with the correct indentation for insertion at a
1319
+ * specific position in an existing source file.
1320
+ *
1321
+ * @param node The synthesized AST node to format.
1322
+ * @param file The target file where the node will be inserted.
1323
+ * @param position The UTF-16 code-unit offset in the target file for insertion.
1324
+ * @returns The formatted text of the node, indented for the insertion position.
1325
+ */
1326
+ get formatNodeForInsertion(): {
1327
+ (node: Node, file: DocumentIdentifier, position: number): string;
1328
+ gen(node: Node, file: DocumentIdentifier, position: number): Generator<ProtocolRequest, string, ProtocolResponse["result"]>;
1329
+ };
1330
+ }
1331
+ export declare class NodeHandle<out T extends Node = Node> {
1332
+ /**
1333
+ * The project this handle was produced in, used as the default for {@link resolve}.
1334
+ * Node handles are only meaningful within a project's program, so the producing project
1335
+ * is remembered so callers don't have to pass it explicitly.
1336
+ */
1337
+ private readonly canonicalProject;
1338
+ /** The owning source file of a file-owned symbol's declaration. */
1339
+ private readonly fileOwner;
1340
+ readonly index: number;
1341
+ readonly kind: SyntaxKind;
1342
+ readonly path: PathKey;
1343
+ constructor(handle: string, canonicalProject: Project | undefined, fileOwner?: SourceFileOwner);
1344
+ /**
1345
+ * Resolve this handle to the actual AST node by fetching the source file from a project
1346
+ * and looking up the node by index. If no project is passed, the project that produced
1347
+ * the handle is used. Declarations of file-owned symbols identify an exact source file and
1348
+ * resolve through it, independently of any project.
1349
+ */
1350
+ get resolve(): {
1351
+ (project?: Project | undefined): T | undefined;
1352
+ gen(project?: Project | undefined): Generator<ProtocolRequest, T | undefined, ProtocolResponse["result"]>;
1353
+ };
1354
+ private get fetchOwnerFile();
1355
+ }
1356
+ /** A symbol definition paired with all of its reference nodes. */
1357
+ export interface ReferencedSymbolEntry {
1358
+ /** The node handle for the symbol's definition. */
1359
+ definition: NodeHandle;
1360
+ /** The resolved symbol for the definition, if available. */
1361
+ symbol?: Symbol | undefined;
1362
+ /** The node handles for each reference to the symbol. */
1363
+ references: NodeHandle[];
1364
+ }
1365
+ /** A single usage of a signature, pairing the reference name with its call expression (if any). */
1366
+ export interface SignatureUsage {
1367
+ /** The node handle for the name reference. */
1368
+ name: NodeHandle;
1369
+ /** The node handle for the call expression, if the reference is invoked. */
1370
+ call?: NodeHandle | undefined;
1371
+ }
1372
+ /** A cached source-file record and its owning API. */
1373
+ interface SourceFileOwner {
1374
+ readonly record: CachedSourceFile<Symbol>;
1375
+ readonly api: API<boolean>;
1376
+ }
1377
+ type SymbolStorage = {
1378
+ readonly kind: typeof SymbolOwnerKind.File;
1379
+ readonly owner: SourceFileOwner;
1380
+ } | {
1381
+ readonly kind: typeof SymbolOwnerKind.Snapshot;
1382
+ readonly registry: ProjectObjectRegistry;
1383
+ };
1384
+ export declare class Symbol {
1385
+ private readonly storage;
1386
+ get id(): number;
1387
+ /** The escaped (`__String`) name, used as the key in member/export tables. */
1388
+ readonly escapedName: __String;
1389
+ /** The display name (escaped underscores removed). */
1390
+ readonly name: string;
1391
+ readonly flags: SymbolFlags;
1392
+ readonly checkFlags: CheckFlags;
1393
+ /** @internal */
1394
+ readonly reference: SymbolReference;
1395
+ readonly declarations: readonly NodeHandle<Declaration>[];
1396
+ readonly valueDeclaration: NodeHandle<Declaration> | undefined;
1397
+ private readonly parent;
1398
+ private readonly exportSymbol;
1399
+ private membersCache;
1400
+ private exportsCache;
1401
+ constructor(data: SymbolResponse, storage: SymbolStorage);
1402
+ get getParent(): {
1403
+ (): Symbol | undefined;
1404
+ gen(): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1405
+ };
1406
+ /**
1407
+ * Get this symbol's members keyed by escaped name. The result is cached on
1408
+ * the symbol, so repeated calls do not round-trip to the server.
1409
+ */
1410
+ get getMembers(): {
1411
+ (): ReadonlyMap<__String, Symbol>;
1412
+ gen(): Generator<ProtocolRequest, ReadonlyMap<__String, Symbol>, ProtocolResponse["result"]>;
1413
+ };
1414
+ /**
1415
+ * Get this symbol's exports keyed by escaped name. The result is cached on
1416
+ * the symbol, so repeated calls do not round-trip to the server.
1417
+ */
1418
+ get getExports(): {
1419
+ (): ReadonlyMap<__String, Symbol>;
1420
+ gen(): Generator<ProtocolRequest, ReadonlyMap<__String, Symbol>, ProtocolResponse["result"]>;
1421
+ };
1422
+ private get fetchSymbolTable();
1423
+ get getExportSymbol(): {
1424
+ (): Symbol;
1425
+ gen(): Generator<ProtocolRequest, Symbol, ProtocolResponse["result"]>;
1426
+ };
1427
+ get getJsDocTags(): {
1428
+ (checker: Checker): readonly JSDocTagInfo[];
1429
+ gen(checker: Checker): Generator<ProtocolRequest, readonly JSDocTagInfo[], ProtocolResponse["result"]>;
1430
+ };
1431
+ get getDocumentationComment(): {
1432
+ (checker: Checker): string;
1433
+ gen(checker: Checker): Generator<ProtocolRequest, string, ProtocolResponse["result"]>;
1434
+ };
1435
+ private get fetchSymbol();
1436
+ private get fetchSymbols();
1437
+ private internFileSymbol;
1438
+ }
1439
+ declare class TypeObject implements Type {
1440
+ private objectRegistry;
1441
+ readonly id: number;
1442
+ readonly flags: TypeFlags;
1443
+ readonly objectFlags: ObjectFlags;
1444
+ readonly symbol: CompactSymbolReference;
1445
+ readonly value: string | number | boolean | bigint;
1446
+ readonly intrinsicName: string;
1447
+ readonly isThisType: boolean;
1448
+ readonly freshType: number;
1449
+ readonly regularType: number;
1450
+ readonly target: number;
1451
+ private readonly tupleType;
1452
+ readonly typeParameters: readonly number[];
1453
+ readonly outerTypeParameters: readonly number[];
1454
+ readonly localTypeParameters: readonly number[];
1455
+ readonly thisType: number;
1456
+ readonly aliasTypeArguments: readonly number[];
1457
+ readonly aliasSymbol: CompactSymbolReference;
1458
+ readonly elementFlags: readonly ElementFlags[];
1459
+ readonly fixedLength: number;
1460
+ readonly readonly: boolean;
1461
+ readonly labeledElementDeclarations?: readonly (NodeHandle<NamedTupleMember | ParameterDeclaration> | undefined)[];
1462
+ readonly texts: readonly string[];
1463
+ readonly objectType: number;
1464
+ readonly indexType: number;
1465
+ readonly checkType: number;
1466
+ readonly extendsType: number;
1467
+ readonly baseType: number;
1468
+ readonly substConstraint: number;
1469
+ readonly typeParameter: number;
1470
+ readonly constraintType: number;
1471
+ readonly nameType: number;
1472
+ readonly templateType: number;
1473
+ private trueType;
1474
+ private falseType;
1475
+ private constraint;
1476
+ private default;
1477
+ private nonNullableType;
1478
+ private apparentType;
1479
+ private reducedType;
1480
+ private properties;
1481
+ private apparentProperties;
1482
+ private callSignatures;
1483
+ private constructSignatures;
1484
+ private indexInfos;
1485
+ private baseTypes;
1486
+ private types;
1487
+ private stringIndexType;
1488
+ private numberIndexType;
1489
+ constructor(data: TypeResponse, objectRegistry: ProjectObjectRegistry);
1490
+ get getSymbol(): {
1491
+ (): Symbol | undefined;
1492
+ gen(): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1493
+ };
1494
+ get getProperties(): {
1495
+ (): readonly Symbol[];
1496
+ gen(): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
1497
+ };
1498
+ get getProperty(): {
1499
+ (propertyName: string): Symbol | undefined;
1500
+ gen(propertyName: string): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1501
+ };
1502
+ get getApparentProperties(): {
1503
+ (): readonly Symbol[];
1504
+ gen(): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
1505
+ };
1506
+ get getCallSignatures(): {
1507
+ (): readonly Signature[];
1508
+ gen(): Generator<ProtocolRequest, readonly Signature[], ProtocolResponse["result"]>;
1509
+ };
1510
+ get getConstructSignatures(): {
1511
+ (): readonly Signature[];
1512
+ gen(): Generator<ProtocolRequest, readonly Signature[], ProtocolResponse["result"]>;
1513
+ };
1514
+ get getNonNullableType(): {
1515
+ (): Type;
1516
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1517
+ };
1518
+ get getStringIndexType(): {
1519
+ (): Type | undefined;
1520
+ gen(): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1521
+ };
1522
+ private get getStringIndexTypeWorker();
1523
+ get getNumberIndexType(): {
1524
+ (): Type | undefined;
1525
+ gen(): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1526
+ };
1527
+ private get getNumberIndexTypeWorker();
1528
+ get getApparentType(): {
1529
+ (): Type;
1530
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1531
+ };
1532
+ get getReducedType(): {
1533
+ (): Type;
1534
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1535
+ };
1536
+ get getIndexInfos(): {
1537
+ (): readonly IndexInfo[];
1538
+ gen(): Generator<ProtocolRequest, readonly IndexInfo[], ProtocolResponse["result"]>;
1539
+ };
1540
+ get getAliasSymbol(): {
1541
+ (): Symbol | undefined;
1542
+ gen(): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1543
+ };
1544
+ get getTarget(): {
1545
+ (): Type;
1546
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1547
+ };
1548
+ get getFreshType(): {
1549
+ (): FreshableType | undefined;
1550
+ gen(): Generator<ProtocolRequest, FreshableType | undefined, ProtocolResponse["result"]>;
1551
+ };
1552
+ get getRegularType(): {
1553
+ (): FreshableType | undefined;
1554
+ gen(): Generator<ProtocolRequest, FreshableType | undefined, ProtocolResponse["result"]>;
1555
+ };
1556
+ get getTypes(): {
1557
+ (): readonly Type[] | undefined;
1558
+ gen(): Generator<ProtocolRequest, readonly Type[] | undefined, ProtocolResponse["result"]>;
1559
+ };
1560
+ get getTypeParameters(): {
1561
+ (): readonly TypeParameter[];
1562
+ gen(): Generator<ProtocolRequest, readonly TypeParameter[], ProtocolResponse["result"]>;
1563
+ };
1564
+ get getOuterTypeParameters(): {
1565
+ (): readonly TypeParameter[];
1566
+ gen(): Generator<ProtocolRequest, readonly TypeParameter[], ProtocolResponse["result"]>;
1567
+ };
1568
+ get getLocalTypeParameters(): {
1569
+ (): readonly TypeParameter[];
1570
+ gen(): Generator<ProtocolRequest, readonly TypeParameter[], ProtocolResponse["result"]>;
1571
+ };
1572
+ get getThisType(): {
1573
+ (): TypeParameter | undefined;
1574
+ gen(): Generator<ProtocolRequest, TypeParameter | undefined, ProtocolResponse["result"]>;
1575
+ };
1576
+ get getAliasTypeArguments(): {
1577
+ (): readonly Type[];
1578
+ gen(): Generator<ProtocolRequest, readonly Type[], ProtocolResponse["result"]>;
1579
+ };
1580
+ get getTypeParameter(): {
1581
+ (): TypeParameter;
1582
+ gen(): Generator<ProtocolRequest, TypeParameter, ProtocolResponse["result"]>;
1583
+ };
1584
+ get getConstraintType(): {
1585
+ (): Type;
1586
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1587
+ };
1588
+ get getNameType(): {
1589
+ (): Type | undefined;
1590
+ gen(): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1591
+ };
1592
+ get getTemplateType(): {
1593
+ (): Type;
1594
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1595
+ };
1596
+ get getObjectType(): {
1597
+ (): Type;
1598
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1599
+ };
1600
+ get getIndexType(): {
1601
+ (): Type;
1602
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1603
+ };
1604
+ get getCheckType(): {
1605
+ (): Type;
1606
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1607
+ };
1608
+ get getExtendsType(): {
1609
+ (): Type;
1610
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1611
+ };
1612
+ get getBaseType(): {
1613
+ (): Type;
1614
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1615
+ };
1616
+ get getConstraint(): {
1617
+ (): Type | undefined;
1618
+ gen(): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1619
+ };
1620
+ get getDefault(): {
1621
+ (): Type | undefined;
1622
+ gen(): Generator<ProtocolRequest, Type | undefined, ProtocolResponse["result"]>;
1623
+ };
1624
+ get getTrueType(): {
1625
+ (): Type;
1626
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1627
+ };
1628
+ get getFalseType(): {
1629
+ (): Type;
1630
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1631
+ };
1632
+ /**
1633
+ * Get the base types of this type. Returns `undefined` for any type that is
1634
+ * not a class or interface.
1635
+ */
1636
+ get getBaseTypes(): {
1637
+ (): readonly Type[] | undefined;
1638
+ gen(): Generator<ProtocolRequest, readonly Type[] | undefined, ProtocolResponse["result"]>;
1639
+ };
1640
+ isClassOrInterface(): this is InterfaceType;
1641
+ isUnionType(): this is UnionType;
1642
+ isIntersectionType(): this is IntersectionType;
1643
+ isObjectType(): this is ObjectType;
1644
+ isIntrinsicType(): this is IntrinsicType;
1645
+ isErrorType(): boolean;
1646
+ isLiteralType(): this is LiteralType;
1647
+ isStringLiteralType(): this is StringLiteralType;
1648
+ isNumberLiteralType(): this is NumberLiteralType;
1649
+ isBigIntLiteralType(): this is BigIntLiteralType;
1650
+ isBooleanLiteralType(): this is BooleanLiteralType;
1651
+ isTypeReference(): this is TypeReference;
1652
+ isTupleType(): this is TupleTypeReference;
1653
+ isTupleTypeTarget(): this is TupleType;
1654
+ isIndexType(): this is IndexType;
1655
+ isIndexedAccessType(): this is IndexedAccessType;
1656
+ isConditionalType(): this is ConditionalType;
1657
+ isSubstitutionType(): this is SubstitutionType;
1658
+ isTemplateLiteralType(): this is TemplateLiteralType;
1659
+ isStringMappingType(): this is StringMappingType;
1660
+ isTypeParameter(): this is TypeParameter;
1661
+ isMappedType(): this is MappedType;
1662
+ }
1663
+ export declare function isUnionType(type: Type): type is UnionType;
1664
+ export declare function isIntersectionType(type: Type): type is IntersectionType;
1665
+ export declare function isObjectType(type: Type): type is ObjectType;
1666
+ export declare function isClassOrInterfaceType(type: Type): type is InterfaceType;
1667
+ export declare function isIntrinsicType(type: Type): type is IntrinsicType;
1668
+ /**
1669
+ * Whether this is the error type — the placeholder the checker produces when a
1670
+ * type cannot be determined (e.g. an unresolved reference). It is an intrinsic
1671
+ * type named `"error"` (this covers both the singleton error type and the
1672
+ * per-alias error types manufactured for unresolved type alias references).
1673
+ */
1674
+ export declare function isErrorType(type: Type): boolean;
1675
+ export declare function isLiteralType(type: Type): type is LiteralType;
1676
+ export declare function isStringLiteralType(type: Type): type is StringLiteralType;
1677
+ export declare function isNumberLiteralType(type: Type): type is NumberLiteralType;
1678
+ export declare function isBigIntLiteralType(type: Type): type is BigIntLiteralType;
1679
+ export declare function isBooleanLiteralType(type: Type): type is BooleanLiteralType;
1680
+ export declare function isTypeReference(type: Type): type is TypeReference;
1681
+ export declare function isTupleType(type: Type): type is TupleTypeReference;
1682
+ export declare function isTupleTypeTarget(type: Type): type is TupleType;
1683
+ export declare function isIndexType(type: Type): type is IndexType;
1684
+ export declare function isIndexedAccessType(type: Type): type is IndexedAccessType;
1685
+ export declare function isConditionalType(type: Type): type is ConditionalType;
1686
+ export declare function isSubstitutionType(type: Type): type is SubstitutionType;
1687
+ export declare function isTemplateLiteralType(type: Type): type is TemplateLiteralType;
1688
+ export declare function isStringMappingType(type: Type): type is StringMappingType;
1689
+ export declare function isTypeParameter(type: Type): type is TypeParameter;
1690
+ export declare class Signature {
1691
+ private flags;
1692
+ private objectRegistry;
1693
+ readonly id: number;
1694
+ readonly declaration?: NodeHandle<Declaration> | undefined;
1695
+ readonly typeParameters?: readonly number[] | undefined;
1696
+ readonly parameters: readonly CompactSymbolReference[];
1697
+ readonly thisParameter?: CompactSymbolReference | undefined;
1698
+ readonly target?: number | undefined;
1699
+ private returnType;
1700
+ constructor(data: SignatureResponse, project: Project, objectRegistry: ProjectObjectRegistry);
1701
+ get getTypeParameters(): {
1702
+ (): readonly TypeParameter[];
1703
+ gen(): Generator<ProtocolRequest, readonly TypeParameter[], ProtocolResponse["result"]>;
1704
+ };
1705
+ get getParameters(): {
1706
+ (): readonly Symbol[];
1707
+ gen(): Generator<ProtocolRequest, readonly Symbol[], ProtocolResponse["result"]>;
1708
+ };
1709
+ get getThisParameter(): {
1710
+ (): Symbol | undefined;
1711
+ gen(): Generator<ProtocolRequest, Symbol | undefined, ProtocolResponse["result"]>;
1712
+ };
1713
+ get getTarget(): {
1714
+ (): Signature | undefined;
1715
+ gen(): Generator<ProtocolRequest, Signature | undefined, ProtocolResponse["result"]>;
1716
+ };
1717
+ get getReturnType(): {
1718
+ (): Type;
1719
+ gen(): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1720
+ };
1721
+ get getTypeParameterAtPosition(): {
1722
+ (pos: number): Type;
1723
+ gen(pos: number): Generator<ProtocolRequest, Type, ProtocolResponse["result"]>;
1724
+ };
1725
+ get hasRestParameter(): boolean;
1726
+ get isConstruct(): boolean;
1727
+ get isAbstract(): boolean;
1728
+ }
1729
+ //# sourceMappingURL=api.d.ts.map