@chilkat/react-native 11.6.1

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 (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/ChilkatRN.podspec +44 -0
  3. package/LICENSE +254 -0
  4. package/README.md +67 -0
  5. package/android/CMakeLists.txt +60 -0
  6. package/android/build.gradle +148 -0
  7. package/android/gradle.properties +5 -0
  8. package/android/src/main/AndroidManifest.xml +2 -0
  9. package/android/src/main/cpp/cpp-adapter.cpp +12 -0
  10. package/android/src/main/java/com/margelo/nitro/chilkat/ChilkatRNPackage.java +33 -0
  11. package/chilkat-checksums.json +9 -0
  12. package/cpp/HybridAi.cpp +660 -0
  13. package/cpp/HybridAi.hpp +159 -0
  14. package/cpp/HybridAsn.cpp +403 -0
  15. package/cpp/HybridAsn.hpp +105 -0
  16. package/cpp/HybridAuthAws.cpp +188 -0
  17. package/cpp/HybridAuthAws.hpp +55 -0
  18. package/cpp/HybridAuthAzureSAS.cpp +142 -0
  19. package/cpp/HybridAuthAzureSAS.hpp +47 -0
  20. package/cpp/HybridAuthAzureStorage.cpp +144 -0
  21. package/cpp/HybridAuthAzureStorage.hpp +47 -0
  22. package/cpp/HybridAuthGoogle.cpp +215 -0
  23. package/cpp/HybridAuthGoogle.hpp +67 -0
  24. package/cpp/HybridBinData.cpp +439 -0
  25. package/cpp/HybridBinData.hpp +112 -0
  26. package/cpp/HybridBz2.cpp +177 -0
  27. package/cpp/HybridBz2.hpp +58 -0
  28. package/cpp/HybridCache.cpp +314 -0
  29. package/cpp/HybridCache.hpp +82 -0
  30. package/cpp/HybridCert.cpp +840 -0
  31. package/cpp/HybridCert.hpp +196 -0
  32. package/cpp/HybridCertChain.cpp +149 -0
  33. package/cpp/HybridCertChain.hpp +50 -0
  34. package/cpp/HybridCertStore.cpp +276 -0
  35. package/cpp/HybridCertStore.hpp +78 -0
  36. package/cpp/HybridCharset.cpp +333 -0
  37. package/cpp/HybridCharset.hpp +83 -0
  38. package/cpp/HybridCkDateTime.cpp +384 -0
  39. package/cpp/HybridCkDateTime.hpp +105 -0
  40. package/cpp/HybridCodeSign.cpp +156 -0
  41. package/cpp/HybridCodeSign.hpp +55 -0
  42. package/cpp/HybridCompression.cpp +422 -0
  43. package/cpp/HybridCompression.hpp +100 -0
  44. package/cpp/HybridCrypt2.cpp +1517 -0
  45. package/cpp/HybridCrypt2.hpp +320 -0
  46. package/cpp/HybridCsr.cpp +292 -0
  47. package/cpp/HybridCsr.hpp +77 -0
  48. package/cpp/HybridCsv.cpp +382 -0
  49. package/cpp/HybridCsv.hpp +101 -0
  50. package/cpp/HybridDh.cpp +137 -0
  51. package/cpp/HybridDh.hpp +47 -0
  52. package/cpp/HybridDirTree.cpp +167 -0
  53. package/cpp/HybridDirTree.hpp +53 -0
  54. package/cpp/HybridDkim.cpp +249 -0
  55. package/cpp/HybridDkim.hpp +74 -0
  56. package/cpp/HybridDns.cpp +193 -0
  57. package/cpp/HybridDns.hpp +64 -0
  58. package/cpp/HybridDsa.cpp +453 -0
  59. package/cpp/HybridDsa.hpp +112 -0
  60. package/cpp/HybridDtObj.cpp +172 -0
  61. package/cpp/HybridDtObj.hpp +57 -0
  62. package/cpp/HybridEcc.cpp +195 -0
  63. package/cpp/HybridEcc.hpp +55 -0
  64. package/cpp/HybridEdDSA.cpp +147 -0
  65. package/cpp/HybridEdDSA.hpp +47 -0
  66. package/cpp/HybridEmail.cpp +1911 -0
  67. package/cpp/HybridEmail.hpp +419 -0
  68. package/cpp/HybridEmailBundle.cpp +204 -0
  69. package/cpp/HybridEmailBundle.hpp +64 -0
  70. package/cpp/HybridFileAccess.cpp +631 -0
  71. package/cpp/HybridFileAccess.hpp +149 -0
  72. package/cpp/HybridFtp2.cpp +2308 -0
  73. package/cpp/HybridFtp2.hpp +462 -0
  74. package/cpp/HybridGlobal.cpp +221 -0
  75. package/cpp/HybridGlobal.hpp +68 -0
  76. package/cpp/HybridGzip.cpp +440 -0
  77. package/cpp/HybridGzip.hpp +105 -0
  78. package/cpp/HybridHashtable.cpp +211 -0
  79. package/cpp/HybridHashtable.hpp +64 -0
  80. package/cpp/HybridHtmlToText.cpp +136 -0
  81. package/cpp/HybridHtmlToText.hpp +47 -0
  82. package/cpp/HybridHtmlToXml.cpp +218 -0
  83. package/cpp/HybridHtmlToXml.hpp +65 -0
  84. package/cpp/HybridHttp.cpp +2067 -0
  85. package/cpp/HybridHttp.hpp +416 -0
  86. package/cpp/HybridHttpCurl.cpp +337 -0
  87. package/cpp/HybridHttpCurl.hpp +93 -0
  88. package/cpp/HybridHttpRequest.cpp +455 -0
  89. package/cpp/HybridHttpRequest.hpp +109 -0
  90. package/cpp/HybridHttpResponse.cpp +340 -0
  91. package/cpp/HybridHttpResponse.hpp +86 -0
  92. package/cpp/HybridImap.cpp +1818 -0
  93. package/cpp/HybridImap.hpp +363 -0
  94. package/cpp/HybridJavaKeyStore.cpp +387 -0
  95. package/cpp/HybridJavaKeyStore.hpp +98 -0
  96. package/cpp/HybridJs.cpp +154 -0
  97. package/cpp/HybridJs.hpp +54 -0
  98. package/cpp/HybridJsonArray.cpp +441 -0
  99. package/cpp/HybridJsonArray.hpp +120 -0
  100. package/cpp/HybridJsonObject.cpp +1125 -0
  101. package/cpp/HybridJsonObject.hpp +260 -0
  102. package/cpp/HybridJwe.cpp +294 -0
  103. package/cpp/HybridJwe.hpp +82 -0
  104. package/cpp/HybridJws.cpp +290 -0
  105. package/cpp/HybridJws.hpp +82 -0
  106. package/cpp/HybridJwt.cpp +198 -0
  107. package/cpp/HybridJwt.hpp +57 -0
  108. package/cpp/HybridLog.cpp +212 -0
  109. package/cpp/HybridLog.hpp +63 -0
  110. package/cpp/HybridMailMan.cpp +1853 -0
  111. package/cpp/HybridMailMan.hpp +386 -0
  112. package/cpp/HybridMailboxes.cpp +165 -0
  113. package/cpp/HybridMailboxes.hpp +54 -0
  114. package/cpp/HybridMcp.cpp +322 -0
  115. package/cpp/HybridMcp.hpp +85 -0
  116. package/cpp/HybridMessageSet.cpp +162 -0
  117. package/cpp/HybridMessageSet.hpp +54 -0
  118. package/cpp/HybridMht.cpp +700 -0
  119. package/cpp/HybridMht.hpp +165 -0
  120. package/cpp/HybridMime.cpp +1119 -0
  121. package/cpp/HybridMime.hpp +266 -0
  122. package/cpp/HybridNtlm.cpp +333 -0
  123. package/cpp/HybridNtlm.hpp +83 -0
  124. package/cpp/HybridOAuth1.cpp +307 -0
  125. package/cpp/HybridOAuth1.hpp +78 -0
  126. package/cpp/HybridOAuth2.cpp +515 -0
  127. package/cpp/HybridOAuth2.hpp +127 -0
  128. package/cpp/HybridPdf.cpp +370 -0
  129. package/cpp/HybridPdf.hpp +103 -0
  130. package/cpp/HybridPem.cpp +327 -0
  131. package/cpp/HybridPem.hpp +88 -0
  132. package/cpp/HybridPfx.cpp +343 -0
  133. package/cpp/HybridPfx.hpp +87 -0
  134. package/cpp/HybridPkcs11.cpp +318 -0
  135. package/cpp/HybridPkcs11.hpp +88 -0
  136. package/cpp/HybridPrivateKey.cpp +464 -0
  137. package/cpp/HybridPrivateKey.hpp +117 -0
  138. package/cpp/HybridPrng.cpp +192 -0
  139. package/cpp/HybridPrng.hpp +57 -0
  140. package/cpp/HybridPublicKey.cpp +238 -0
  141. package/cpp/HybridPublicKey.hpp +68 -0
  142. package/cpp/HybridRest.cpp +993 -0
  143. package/cpp/HybridRest.hpp +214 -0
  144. package/cpp/HybridRsa.cpp +348 -0
  145. package/cpp/HybridRsa.hpp +90 -0
  146. package/cpp/HybridSCard.cpp +328 -0
  147. package/cpp/HybridSCard.hpp +91 -0
  148. package/cpp/HybridSFtp.cpp +1889 -0
  149. package/cpp/HybridSFtp.hpp +366 -0
  150. package/cpp/HybridSFtpDir.cpp +119 -0
  151. package/cpp/HybridSFtpDir.hpp +43 -0
  152. package/cpp/HybridSFtpFile.cpp +203 -0
  153. package/cpp/HybridSFtpFile.hpp +60 -0
  154. package/cpp/HybridScMinidriver.cpp +341 -0
  155. package/cpp/HybridScMinidriver.hpp +88 -0
  156. package/cpp/HybridScp.cpp +398 -0
  157. package/cpp/HybridScp.hpp +96 -0
  158. package/cpp/HybridSecrets.cpp +328 -0
  159. package/cpp/HybridSecrets.hpp +84 -0
  160. package/cpp/HybridSecureString.cpp +175 -0
  161. package/cpp/HybridSecureString.hpp +55 -0
  162. package/cpp/HybridServerSentEvent.cpp +112 -0
  163. package/cpp/HybridServerSentEvent.hpp +41 -0
  164. package/cpp/HybridSocket.cpp +1567 -0
  165. package/cpp/HybridSocket.hpp +336 -0
  166. package/cpp/HybridSpider.cpp +543 -0
  167. package/cpp/HybridSpider.hpp +138 -0
  168. package/cpp/HybridSsh.cpp +1330 -0
  169. package/cpp/HybridSsh.hpp +282 -0
  170. package/cpp/HybridSshKey.cpp +310 -0
  171. package/cpp/HybridSshKey.hpp +83 -0
  172. package/cpp/HybridSshTunnel.cpp +687 -0
  173. package/cpp/HybridSshTunnel.hpp +159 -0
  174. package/cpp/HybridStream.cpp +496 -0
  175. package/cpp/HybridStream.hpp +123 -0
  176. package/cpp/HybridStringArray.cpp +368 -0
  177. package/cpp/HybridStringArray.hpp +99 -0
  178. package/cpp/HybridStringBuilder.cpp +739 -0
  179. package/cpp/HybridStringBuilder.hpp +178 -0
  180. package/cpp/HybridStringTable.cpp +218 -0
  181. package/cpp/HybridStringTable.hpp +66 -0
  182. package/cpp/HybridTar.cpp +547 -0
  183. package/cpp/HybridTar.hpp +134 -0
  184. package/cpp/HybridTrustedRoots.cpp +178 -0
  185. package/cpp/HybridTrustedRoots.hpp +61 -0
  186. package/cpp/HybridUnixCompress.cpp +191 -0
  187. package/cpp/HybridUnixCompress.hpp +60 -0
  188. package/cpp/HybridUpload.cpp +427 -0
  189. package/cpp/HybridUpload.hpp +114 -0
  190. package/cpp/HybridUrl.cpp +152 -0
  191. package/cpp/HybridUrl.hpp +48 -0
  192. package/cpp/HybridWebSocket.cpp +378 -0
  193. package/cpp/HybridWebSocket.hpp +103 -0
  194. package/cpp/HybridXml.cpp +1527 -0
  195. package/cpp/HybridXml.hpp +340 -0
  196. package/cpp/HybridXmlCertVault.cpp +215 -0
  197. package/cpp/HybridXmlCertVault.hpp +63 -0
  198. package/cpp/HybridXmlDSig.cpp +328 -0
  199. package/cpp/HybridXmlDSig.hpp +88 -0
  200. package/cpp/HybridXmlDSigGen.cpp +549 -0
  201. package/cpp/HybridXmlDSigGen.hpp +126 -0
  202. package/cpp/HybridXmp.cpp +329 -0
  203. package/cpp/HybridXmp.hpp +86 -0
  204. package/cpp/HybridZip.cpp +1000 -0
  205. package/cpp/HybridZip.hpp +226 -0
  206. package/cpp/HybridZipCrc.cpp +162 -0
  207. package/cpp/HybridZipCrc.hpp +57 -0
  208. package/cpp/HybridZipEntry.cpp +395 -0
  209. package/cpp/HybridZipEntry.hpp +102 -0
  210. package/cpp/runtime/AsyncCall.hpp +96 -0
  211. package/cpp/runtime/Bytes.hpp +49 -0
  212. package/cpp/runtime/ChilkatError.hpp +66 -0
  213. package/cpp/runtime/ChilkatObject.hpp +219 -0
  214. package/cpp/runtime/ProgLang.hpp +9 -0
  215. package/cpp/runtime/ProgressAdapter.hpp +43 -0
  216. package/nitro.json +113 -0
  217. package/nitrogen/generated/.gitattributes +1 -0
  218. package/nitrogen/generated/android/ChilkatRN+autolinking.cmake +179 -0
  219. package/nitrogen/generated/android/ChilkatRN+autolinking.gradle +27 -0
  220. package/nitrogen/generated/android/ChilkatRNOnLoad.cpp +1029 -0
  221. package/nitrogen/generated/android/ChilkatRNOnLoad.hpp +34 -0
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chilkat/ChilkatRNOnLoad.kt +35 -0
  223. package/nitrogen/generated/ios/ChilkatRN+autolinking.rb +62 -0
  224. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Bridge.cpp +17 -0
  225. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Bridge.hpp +27 -0
  226. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Umbrella.hpp +38 -0
  227. package/nitrogen/generated/ios/ChilkatRNAutolinking.mm +1015 -0
  228. package/nitrogen/generated/ios/ChilkatRNAutolinking.swift +16 -0
  229. package/nitrogen/generated/shared/c++/HybridAiSpec.cpp +114 -0
  230. package/nitrogen/generated/shared/c++/HybridAiSpec.hpp +175 -0
  231. package/nitrogen/generated/shared/c++/HybridAsnSpec.cpp +70 -0
  232. package/nitrogen/generated/shared/c++/HybridAsnSpec.hpp +116 -0
  233. package/nitrogen/generated/shared/c++/HybridAuthAwsSpec.cpp +49 -0
  234. package/nitrogen/generated/shared/c++/HybridAuthAwsSpec.hpp +89 -0
  235. package/nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.cpp +38 -0
  236. package/nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.hpp +78 -0
  237. package/nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.cpp +41 -0
  238. package/nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.hpp +81 -0
  239. package/nitrogen/generated/shared/c++/HybridAuthGoogleSpec.cpp +56 -0
  240. package/nitrogen/generated/shared/c++/HybridAuthGoogleSpec.hpp +108 -0
  241. package/nitrogen/generated/shared/c++/HybridBinDataSpec.cpp +69 -0
  242. package/nitrogen/generated/shared/c++/HybridBinDataSpec.hpp +116 -0
  243. package/nitrogen/generated/shared/c++/HybridBz2Spec.cpp +47 -0
  244. package/nitrogen/generated/shared/c++/HybridBz2Spec.hpp +93 -0
  245. package/nitrogen/generated/shared/c++/HybridCacheSpec.cpp +57 -0
  246. package/nitrogen/generated/shared/c++/HybridCacheSpec.hpp +106 -0
  247. package/nitrogen/generated/shared/c++/HybridCertChainSpec.cpp +40 -0
  248. package/nitrogen/generated/shared/c++/HybridCertChainSpec.hpp +89 -0
  249. package/nitrogen/generated/shared/c++/HybridCertSpec.cpp +138 -0
  250. package/nitrogen/generated/shared/c++/HybridCertSpec.hpp +205 -0
  251. package/nitrogen/generated/shared/c++/HybridCertStoreSpec.cpp +55 -0
  252. package/nitrogen/generated/shared/c++/HybridCertStoreSpec.hpp +104 -0
  253. package/nitrogen/generated/shared/c++/HybridCharsetSpec.cpp +61 -0
  254. package/nitrogen/generated/shared/c++/HybridCharsetSpec.hpp +101 -0
  255. package/nitrogen/generated/shared/c++/HybridCkDateTimeSpec.cpp +66 -0
  256. package/nitrogen/generated/shared/c++/HybridCkDateTimeSpec.hpp +115 -0
  257. package/nitrogen/generated/shared/c++/HybridCodeSignSpec.cpp +44 -0
  258. package/nitrogen/generated/shared/c++/HybridCodeSignSpec.hpp +93 -0
  259. package/nitrogen/generated/shared/c++/HybridCompressionSpec.cpp +79 -0
  260. package/nitrogen/generated/shared/c++/HybridCompressionSpec.hpp +134 -0
  261. package/nitrogen/generated/shared/c++/HybridCrypt2Spec.cpp +215 -0
  262. package/nitrogen/generated/shared/c++/HybridCrypt2Spec.hpp +283 -0
  263. package/nitrogen/generated/shared/c++/HybridCsrSpec.cpp +61 -0
  264. package/nitrogen/generated/shared/c++/HybridCsrSpec.hpp +116 -0
  265. package/nitrogen/generated/shared/c++/HybridCsvSpec.cpp +72 -0
  266. package/nitrogen/generated/shared/c++/HybridCsvSpec.hpp +121 -0
  267. package/nitrogen/generated/shared/c++/HybridDhSpec.cpp +37 -0
  268. package/nitrogen/generated/shared/c++/HybridDhSpec.hpp +77 -0
  269. package/nitrogen/generated/shared/c++/HybridDirTreeSpec.cpp +46 -0
  270. package/nitrogen/generated/shared/c++/HybridDirTreeSpec.hpp +86 -0
  271. package/nitrogen/generated/shared/c++/HybridDkimSpec.cpp +60 -0
  272. package/nitrogen/generated/shared/c++/HybridDkimSpec.hpp +109 -0
  273. package/nitrogen/generated/shared/c++/HybridDnsSpec.cpp +51 -0
  274. package/nitrogen/generated/shared/c++/HybridDnsSpec.hpp +97 -0
  275. package/nitrogen/generated/shared/c++/HybridDsaSpec.cpp +73 -0
  276. package/nitrogen/generated/shared/c++/HybridDsaSpec.hpp +116 -0
  277. package/nitrogen/generated/shared/c++/HybridDtObjSpec.cpp +50 -0
  278. package/nitrogen/generated/shared/c++/HybridDtObjSpec.hpp +90 -0
  279. package/nitrogen/generated/shared/c++/HybridEccSpec.cpp +41 -0
  280. package/nitrogen/generated/shared/c++/HybridEccSpec.hpp +96 -0
  281. package/nitrogen/generated/shared/c++/HybridEdDSASpec.cpp +38 -0
  282. package/nitrogen/generated/shared/c++/HybridEdDSASpec.hpp +90 -0
  283. package/nitrogen/generated/shared/c++/HybridEmailBundleSpec.cpp +45 -0
  284. package/nitrogen/generated/shared/c++/HybridEmailBundleSpec.hpp +91 -0
  285. package/nitrogen/generated/shared/c++/HybridEmailSpec.cpp +259 -0
  286. package/nitrogen/generated/shared/c++/HybridEmailSpec.hpp +326 -0
  287. package/nitrogen/generated/shared/c++/HybridFileAccessSpec.cpp +90 -0
  288. package/nitrogen/generated/shared/c++/HybridFileAccessSpec.hpp +140 -0
  289. package/nitrogen/generated/shared/c++/HybridFtp2Spec.cpp +367 -0
  290. package/nitrogen/generated/shared/c++/HybridFtp2Spec.hpp +434 -0
  291. package/nitrogen/generated/shared/c++/HybridGlobalSpec.cpp +59 -0
  292. package/nitrogen/generated/shared/c++/HybridGlobalSpec.hpp +99 -0
  293. package/nitrogen/generated/shared/c++/HybridGzipSpec.cpp +79 -0
  294. package/nitrogen/generated/shared/c++/HybridGzipSpec.hpp +134 -0
  295. package/nitrogen/generated/shared/c++/HybridHashtableSpec.cpp +45 -0
  296. package/nitrogen/generated/shared/c++/HybridHashtableSpec.hpp +91 -0
  297. package/nitrogen/generated/shared/c++/HybridHtmlToTextSpec.cpp +40 -0
  298. package/nitrogen/generated/shared/c++/HybridHtmlToTextSpec.hpp +83 -0
  299. package/nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.cpp +49 -0
  300. package/nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.hpp +95 -0
  301. package/nitrogen/generated/shared/c++/HybridHttpCurlSpec.cpp +67 -0
  302. package/nitrogen/generated/shared/c++/HybridHttpCurlSpec.hpp +125 -0
  303. package/nitrogen/generated/shared/c++/HybridHttpRequestSpec.cpp +76 -0
  304. package/nitrogen/generated/shared/c++/HybridHttpRequestSpec.hpp +122 -0
  305. package/nitrogen/generated/shared/c++/HybridHttpResponseSpec.cpp +64 -0
  306. package/nitrogen/generated/shared/c++/HybridHttpResponseSpec.hpp +119 -0
  307. package/nitrogen/generated/shared/c++/HybridHttpSpec.cpp +334 -0
  308. package/nitrogen/generated/shared/c++/HybridHttpSpec.hpp +407 -0
  309. package/nitrogen/generated/shared/c++/HybridImapSpec.cpp +275 -0
  310. package/nitrogen/generated/shared/c++/HybridImapSpec.hpp +360 -0
  311. package/nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.cpp +65 -0
  312. package/nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.hpp +132 -0
  313. package/nitrogen/generated/shared/c++/HybridJsSpec.cpp +43 -0
  314. package/nitrogen/generated/shared/c++/HybridJsSpec.hpp +92 -0
  315. package/nitrogen/generated/shared/c++/HybridJsonArraySpec.cpp +76 -0
  316. package/nitrogen/generated/shared/c++/HybridJsonArraySpec.hpp +131 -0
  317. package/nitrogen/generated/shared/c++/HybridJsonObjectSpec.cpp +154 -0
  318. package/nitrogen/generated/shared/c++/HybridJsonObjectSpec.hpp +218 -0
  319. package/nitrogen/generated/shared/c++/HybridJweSpec.cpp +57 -0
  320. package/nitrogen/generated/shared/c++/HybridJweSpec.hpp +112 -0
  321. package/nitrogen/generated/shared/c++/HybridJwsSpec.cpp +57 -0
  322. package/nitrogen/generated/shared/c++/HybridJwsSpec.hpp +115 -0
  323. package/nitrogen/generated/shared/c++/HybridJwtSpec.cpp +43 -0
  324. package/nitrogen/generated/shared/c++/HybridJwtSpec.hpp +92 -0
  325. package/nitrogen/generated/shared/c++/HybridLogSpec.cpp +44 -0
  326. package/nitrogen/generated/shared/c++/HybridLogSpec.hpp +85 -0
  327. package/nitrogen/generated/shared/c++/HybridMailManSpec.cpp +311 -0
  328. package/nitrogen/generated/shared/c++/HybridMailManSpec.hpp +396 -0
  329. package/nitrogen/generated/shared/c++/HybridMailboxesSpec.cpp +40 -0
  330. package/nitrogen/generated/shared/c++/HybridMailboxesSpec.hpp +80 -0
  331. package/nitrogen/generated/shared/c++/HybridMcpSpec.cpp +68 -0
  332. package/nitrogen/generated/shared/c++/HybridMcpSpec.hpp +117 -0
  333. package/nitrogen/generated/shared/c++/HybridMessageSetSpec.cpp +41 -0
  334. package/nitrogen/generated/shared/c++/HybridMessageSetSpec.hpp +84 -0
  335. package/nitrogen/generated/shared/c++/HybridMhtSpec.cpp +138 -0
  336. package/nitrogen/generated/shared/c++/HybridMhtSpec.hpp +181 -0
  337. package/nitrogen/generated/shared/c++/HybridMimeSpec.cpp +169 -0
  338. package/nitrogen/generated/shared/c++/HybridMimeSpec.hpp +233 -0
  339. package/nitrogen/generated/shared/c++/HybridNtlmSpec.cpp +69 -0
  340. package/nitrogen/generated/shared/c++/HybridNtlmSpec.hpp +109 -0
  341. package/nitrogen/generated/shared/c++/HybridOAuth1Spec.cpp +67 -0
  342. package/nitrogen/generated/shared/c++/HybridOAuth1Spec.hpp +110 -0
  343. package/nitrogen/generated/shared/c++/HybridOAuth2Spec.cpp +107 -0
  344. package/nitrogen/generated/shared/c++/HybridOAuth2Spec.hpp +156 -0
  345. package/nitrogen/generated/shared/c++/HybridPdfSpec.cpp +73 -0
  346. package/nitrogen/generated/shared/c++/HybridPdfSpec.hpp +134 -0
  347. package/nitrogen/generated/shared/c++/HybridPemSpec.cpp +63 -0
  348. package/nitrogen/generated/shared/c++/HybridPemSpec.hpp +124 -0
  349. package/nitrogen/generated/shared/c++/HybridPfxSpec.cpp +61 -0
  350. package/nitrogen/generated/shared/c++/HybridPfxSpec.hpp +122 -0
  351. package/nitrogen/generated/shared/c++/HybridPkcs11Spec.cpp +60 -0
  352. package/nitrogen/generated/shared/c++/HybridPkcs11Spec.hpp +115 -0
  353. package/nitrogen/generated/shared/c++/HybridPrivateKeySpec.cpp +76 -0
  354. package/nitrogen/generated/shared/c++/HybridPrivateKeySpec.hpp +131 -0
  355. package/nitrogen/generated/shared/c++/HybridPrngSpec.cpp +42 -0
  356. package/nitrogen/generated/shared/c++/HybridPrngSpec.hpp +85 -0
  357. package/nitrogen/generated/shared/c++/HybridPublicKeySpec.cpp +48 -0
  358. package/nitrogen/generated/shared/c++/HybridPublicKeySpec.hpp +91 -0
  359. package/nitrogen/generated/shared/c++/HybridRestSpec.cpp +150 -0
  360. package/nitrogen/generated/shared/c++/HybridRestSpec.hpp +229 -0
  361. package/nitrogen/generated/shared/c++/HybridRsaSpec.cpp +68 -0
  362. package/nitrogen/generated/shared/c++/HybridRsaSpec.hpp +120 -0
  363. package/nitrogen/generated/shared/c++/HybridSCardSpec.cpp +64 -0
  364. package/nitrogen/generated/shared/c++/HybridSCardSpec.hpp +116 -0
  365. package/nitrogen/generated/shared/c++/HybridSFtpDirSpec.cpp +35 -0
  366. package/nitrogen/generated/shared/c++/HybridSFtpDirSpec.hpp +78 -0
  367. package/nitrogen/generated/shared/c++/HybridSFtpFileSpec.cpp +57 -0
  368. package/nitrogen/generated/shared/c++/HybridSFtpFileSpec.hpp +98 -0
  369. package/nitrogen/generated/shared/c++/HybridSFtpSpec.cpp +284 -0
  370. package/nitrogen/generated/shared/c++/HybridSFtpSpec.hpp +354 -0
  371. package/nitrogen/generated/shared/c++/HybridScMinidriverSpec.cpp +61 -0
  372. package/nitrogen/generated/shared/c++/HybridScMinidriverSpec.hpp +119 -0
  373. package/nitrogen/generated/shared/c++/HybridScpSpec.cpp +78 -0
  374. package/nitrogen/generated/shared/c++/HybridScpSpec.hpp +127 -0
  375. package/nitrogen/generated/shared/c++/HybridSecretsSpec.cpp +65 -0
  376. package/nitrogen/generated/shared/c++/HybridSecretsSpec.hpp +120 -0
  377. package/nitrogen/generated/shared/c++/HybridSecureStringSpec.cpp +42 -0
  378. package/nitrogen/generated/shared/c++/HybridSecureStringSpec.hpp +88 -0
  379. package/nitrogen/generated/shared/c++/HybridServerSentEventSpec.cpp +35 -0
  380. package/nitrogen/generated/shared/c++/HybridServerSentEventSpec.hpp +75 -0
  381. package/nitrogen/generated/shared/c++/HybridSocketSpec.cpp +262 -0
  382. package/nitrogen/generated/shared/c++/HybridSocketSpec.hpp +327 -0
  383. package/nitrogen/generated/shared/c++/HybridSpiderSpec.cpp +110 -0
  384. package/nitrogen/generated/shared/c++/HybridSpiderSpec.hpp +153 -0
  385. package/nitrogen/generated/shared/c++/HybridSshKeySpec.cpp +59 -0
  386. package/nitrogen/generated/shared/c++/HybridSshKeySpec.hpp +102 -0
  387. package/nitrogen/generated/shared/c++/HybridSshSpec.cpp +215 -0
  388. package/nitrogen/generated/shared/c++/HybridSshSpec.hpp +276 -0
  389. package/nitrogen/generated/shared/c++/HybridSshTunnelSpec.cpp +136 -0
  390. package/nitrogen/generated/shared/c++/HybridSshTunnelSpec.hpp +191 -0
  391. package/nitrogen/generated/shared/c++/HybridStreamSpec.cpp +100 -0
  392. package/nitrogen/generated/shared/c++/HybridStreamSpec.hpp +150 -0
  393. package/nitrogen/generated/shared/c++/HybridStringArraySpec.cpp +66 -0
  394. package/nitrogen/generated/shared/c++/HybridStringArraySpec.hpp +109 -0
  395. package/nitrogen/generated/shared/c++/HybridStringBuilderSpec.cpp +104 -0
  396. package/nitrogen/generated/shared/c++/HybridStringBuilderSpec.hpp +156 -0
  397. package/nitrogen/generated/shared/c++/HybridStringTableSpec.cpp +46 -0
  398. package/nitrogen/generated/shared/c++/HybridStringTableSpec.hpp +89 -0
  399. package/nitrogen/generated/shared/c++/HybridTarSpec.cpp +110 -0
  400. package/nitrogen/generated/shared/c++/HybridTarSpec.hpp +156 -0
  401. package/nitrogen/generated/shared/c++/HybridTrustedRootsSpec.cpp +48 -0
  402. package/nitrogen/generated/shared/c++/HybridTrustedRootsSpec.hpp +97 -0
  403. package/nitrogen/generated/shared/c++/HybridUnixCompressSpec.cpp +48 -0
  404. package/nitrogen/generated/shared/c++/HybridUnixCompressSpec.hpp +91 -0
  405. package/nitrogen/generated/shared/c++/HybridUploadSpec.cpp +98 -0
  406. package/nitrogen/generated/shared/c++/HybridUploadSpec.hpp +141 -0
  407. package/nitrogen/generated/shared/c++/HybridUrlSpec.cpp +42 -0
  408. package/nitrogen/generated/shared/c++/HybridUrlSpec.hpp +82 -0
  409. package/nitrogen/generated/shared/c++/HybridWebSocketSpec.cpp +80 -0
  410. package/nitrogen/generated/shared/c++/HybridWebSocketSpec.hpp +135 -0
  411. package/nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.cpp +45 -0
  412. package/nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.hpp +94 -0
  413. package/nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.cpp +99 -0
  414. package/nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.hpp +163 -0
  415. package/nitrogen/generated/shared/c++/HybridXmlDSigSpec.cpp +62 -0
  416. package/nitrogen/generated/shared/c++/HybridXmlDSigSpec.hpp +126 -0
  417. package/nitrogen/generated/shared/c++/HybridXmlSpec.cpp +203 -0
  418. package/nitrogen/generated/shared/c++/HybridXmlSpec.hpp +253 -0
  419. package/nitrogen/generated/shared/c++/HybridXmpSpec.cpp +58 -0
  420. package/nitrogen/generated/shared/c++/HybridXmpSpec.hpp +104 -0
  421. package/nitrogen/generated/shared/c++/HybridZipCrcSpec.cpp +43 -0
  422. package/nitrogen/generated/shared/c++/HybridZipCrcSpec.hpp +92 -0
  423. package/nitrogen/generated/shared/c++/HybridZipEntrySpec.cpp +82 -0
  424. package/nitrogen/generated/shared/c++/HybridZipEntrySpec.hpp +137 -0
  425. package/nitrogen/generated/shared/c++/HybridZipSpec.cpp +176 -0
  426. package/nitrogen/generated/shared/c++/HybridZipSpec.hpp +231 -0
  427. package/package.json +46 -0
  428. package/react-native.config.js +9 -0
  429. package/scripts/fetch-chilkat.js +184 -0
  430. package/src/index.ts +306 -0
  431. package/src/runtime/chilkat.ts +25 -0
  432. package/src/specs/Ai.nitro.ts +1288 -0
  433. package/src/specs/Asn.nitro.ts +509 -0
  434. package/src/specs/AuthAws.nitro.ts +234 -0
  435. package/src/specs/AuthAzureSAS.nitro.ts +205 -0
  436. package/src/specs/AuthAzureStorage.nitro.ts +172 -0
  437. package/src/specs/AuthGoogle.nitro.ts +291 -0
  438. package/src/specs/BinData.nitro.ts +470 -0
  439. package/src/specs/Bz2.nitro.ts +269 -0
  440. package/src/specs/Cache.nitro.ts +483 -0
  441. package/src/specs/Cert.nitro.ts +1279 -0
  442. package/src/specs/CertChain.nitro.ts +312 -0
  443. package/src/specs/CertStore.nitro.ts +430 -0
  444. package/src/specs/Charset.nitro.ts +518 -0
  445. package/src/specs/CkDateTime.nitro.ts +492 -0
  446. package/src/specs/CodeSign.nitro.ts +307 -0
  447. package/src/specs/Compression.nitro.ts +654 -0
  448. package/src/specs/Crypt2.nitro.ts +2387 -0
  449. package/src/specs/Csr.nitro.ts +461 -0
  450. package/src/specs/Csv.nitro.ts +670 -0
  451. package/src/specs/Dh.nitro.ts +343 -0
  452. package/src/specs/DirTree.nitro.ts +332 -0
  453. package/src/specs/Dkim.nitro.ts +595 -0
  454. package/src/specs/Dns.nitro.ts +271 -0
  455. package/src/specs/Dsa.nitro.ts +653 -0
  456. package/src/specs/DtObj.nitro.ts +198 -0
  457. package/src/specs/Ecc.nitro.ts +375 -0
  458. package/src/specs/EdDSA.nitro.ts +273 -0
  459. package/src/specs/Email.nitro.ts +2921 -0
  460. package/src/specs/EmailBundle.nitro.ts +334 -0
  461. package/src/specs/FileAccess.nitro.ts +836 -0
  462. package/src/specs/Ftp2.nitro.ts +3943 -0
  463. package/src/specs/Global.nitro.ts +319 -0
  464. package/src/specs/Gzip.nitro.ts +646 -0
  465. package/src/specs/Hashtable.nitro.ts +356 -0
  466. package/src/specs/HtmlToText.nitro.ts +238 -0
  467. package/src/specs/HtmlToXml.nitro.ts +323 -0
  468. package/src/specs/Http.nitro.ts +3095 -0
  469. package/src/specs/HttpCurl.nitro.ts +550 -0
  470. package/src/specs/HttpRequest.nitro.ts +522 -0
  471. package/src/specs/HttpResponse.nitro.ts +424 -0
  472. package/src/specs/Imap.nitro.ts +2991 -0
  473. package/src/specs/JavaKeyStore.nitro.ts +619 -0
  474. package/src/specs/Js.nitro.ts +263 -0
  475. package/src/specs/JsonArray.nitro.ts +681 -0
  476. package/src/specs/JsonObject.nitro.ts +1454 -0
  477. package/src/specs/Jwe.nitro.ts +756 -0
  478. package/src/specs/Jws.nitro.ts +733 -0
  479. package/src/specs/Jwt.nitro.ts +380 -0
  480. package/src/specs/Log.nitro.ts +258 -0
  481. package/src/specs/MailMan.nitro.ts +3571 -0
  482. package/src/specs/Mailboxes.nitro.ts +251 -0
  483. package/src/specs/Mcp.nitro.ts +491 -0
  484. package/src/specs/MessageSet.nitro.ts +320 -0
  485. package/src/specs/Mht.nitro.ts +1684 -0
  486. package/src/specs/Mime.nitro.ts +1745 -0
  487. package/src/specs/Ntlm.nitro.ts +556 -0
  488. package/src/specs/OAuth1.nitro.ts +331 -0
  489. package/src/specs/OAuth2.nitro.ts +1023 -0
  490. package/src/specs/Pdf.nitro.ts +740 -0
  491. package/src/specs/Pem.nitro.ts +484 -0
  492. package/src/specs/Pfx.nitro.ts +1003 -0
  493. package/src/specs/Pkcs11.nitro.ts +559 -0
  494. package/src/specs/PrivateKey.nitro.ts +994 -0
  495. package/src/specs/Prng.nitro.ts +348 -0
  496. package/src/specs/PublicKey.nitro.ts +610 -0
  497. package/src/specs/Rest.nitro.ts +1972 -0
  498. package/src/specs/Rsa.nitro.ts +453 -0
  499. package/src/specs/SCard.nitro.ts +739 -0
  500. package/src/specs/SFtp.nitro.ts +3138 -0
  501. package/src/specs/SFtpDir.nitro.ts +213 -0
  502. package/src/specs/SFtpFile.nitro.ts +452 -0
  503. package/src/specs/ScMinidriver.nitro.ts +443 -0
  504. package/src/specs/Scp.nitro.ts +708 -0
  505. package/src/specs/Secrets.nitro.ts +470 -0
  506. package/src/specs/SecureString.nitro.ts +231 -0
  507. package/src/specs/ServerSentEvent.nitro.ts +183 -0
  508. package/src/specs/Socket.nitro.ts +3335 -0
  509. package/src/specs/Spider.nitro.ts +609 -0
  510. package/src/specs/Ssh.nitro.ts +2842 -0
  511. package/src/specs/SshKey.nitro.ts +740 -0
  512. package/src/specs/SshTunnel.nitro.ts +1243 -0
  513. package/src/specs/Stream.nitro.ts +737 -0
  514. package/src/specs/StringArray.nitro.ts +396 -0
  515. package/src/specs/StringBuilder.nitro.ts +920 -0
  516. package/src/specs/StringTable.nitro.ts +271 -0
  517. package/src/specs/Tar.nitro.ts +804 -0
  518. package/src/specs/TrustedRoots.nitro.ts +360 -0
  519. package/src/specs/UnixCompress.nitro.ts +293 -0
  520. package/src/specs/Upload.nitro.ts +623 -0
  521. package/src/specs/Url.nitro.ts +246 -0
  522. package/src/specs/WebSocket.nitro.ts +840 -0
  523. package/src/specs/Xml.nitro.ts +1988 -0
  524. package/src/specs/XmlCertVault.nitro.ts +259 -0
  525. package/src/specs/XmlDSig.nitro.ts +464 -0
  526. package/src/specs/XmlDSigGen.nitro.ts +978 -0
  527. package/src/specs/Xmp.nitro.ts +364 -0
  528. package/src/specs/Zip.nitro.ts +1611 -0
  529. package/src/specs/ZipCrc.nitro.ts +229 -0
  530. package/src/specs/ZipEntry.nitro.ts +782 -0
@@ -0,0 +1,2991 @@
1
+ // Generated by ReactNativeNs.RnGenerator -- do not edit.
2
+ import type { HybridObject } from 'react-native-nitro-modules'
3
+ import type { BinData } from './BinData.nitro'
4
+ import type { Cert } from './Cert.nitro'
5
+ import type { Email } from './Email.nitro'
6
+ import type { EmailBundle } from './EmailBundle.nitro'
7
+ import type { JsonObject } from './JsonObject.nitro'
8
+ import type { Mailboxes } from './Mailboxes.nitro'
9
+ import type { MessageSet } from './MessageSet.nitro'
10
+ import type { PrivateKey } from './PrivateKey.nitro'
11
+ import type { SecureString } from './SecureString.nitro'
12
+ import type { Socket } from './Socket.nitro'
13
+ import type { Ssh } from './Ssh.nitro'
14
+ import type { SshKey } from './SshKey.nitro'
15
+ import type { StringBuilder } from './StringBuilder.nitro'
16
+ import type { XmlCertVault } from './XmlCertVault.nitro'
17
+
18
+ /**
19
+ * Access, search, download, organize, and monitor email on IMAP servers.
20
+ *
21
+ * `Imap` is a full-featured IMAP client class for
22
+ * applications that need reliable server-side email access and mailbox
23
+ * management. It supports secure connections, authentication, mailbox
24
+ * selection, message searching, downloading email and attachments, flag
25
+ * management, moving and copying messages, appending MIME, IDLE-based change
26
+ * monitoring, and detailed diagnostics for troubleshooting server behavior.
27
+ *
28
+ * **Secure IMAP connections**
29
+ *
30
+ * Connect with SSL/TLS, STARTTLS, OAuth2, password authentication, proxy
31
+ * settings, timeouts, and connection diagnostics.
32
+ *
33
+ * **Mailbox selection and listing**
34
+ *
35
+ * List mailboxes, select folders, inspect mailbox state, and work with
36
+ * server-side folders such as Inbox, Sent, Archive, or custom folders.
37
+ *
38
+ * **Search and fetch messages**
39
+ *
40
+ * Search by IMAP criteria, work with UIDs or sequence numbers, download
41
+ * full messages, headers, MIME, body text, or selected message parts.
42
+ *
43
+ * **Message management**
44
+ *
45
+ * Set and clear flags, mark messages read or unread, copy or move messages,
46
+ * delete messages, expunge mailboxes, and append MIME to folders.
47
+ *
48
+ * **Attachments and MIME**
49
+ *
50
+ * Retrieve email as Chilkat `Email` objects, process MIME
51
+ * content, and save or inspect attachments as needed.
52
+ *
53
+ * **IDLE and diagnostics**
54
+ *
55
+ * Monitor mailbox changes with IMAP IDLE and use detailed logging,
56
+ * response text, and `LastErrorText` to troubleshoot servers.
57
+ *
58
+ * **Common pattern:**
59
+ * Connect securely, authenticate, select a mailbox, search or fetch messages
60
+ * using UIDs when possible, perform message or folder operations, then
61
+ * disconnect cleanly. Use detailed diagnostics when working with provider-
62
+ * specific IMAP behavior.
63
+ *
64
+ * For an extended overview, see
65
+ * [Imap Class Overview](https://www.chilkatsoft.com/imap_class_overview.asp).
66
+ *
67
+ * Each `Imap` instance owns a native Chilkat object. It is released when the JavaScript object is
68
+ * garbage collected, or immediately by `dispose()`; any use after `dispose()` throws.
69
+ * Create one with `new Imap()`.
70
+ *
71
+ * Methods that can take a while (network, files, compression, key generation) also have an
72
+ * `...Async` form returning a `Promise`; it runs on a native worker thread so the UI keeps
73
+ * rendering. While such a call is pending, every other call on this object throws, except
74
+ * {@link Imap.abort} and assigning {@link Imap.onPercentDone} / {@link Imap.onProgressInfo}.
75
+ */
76
+ export interface Imap extends HybridObject<{ ios: 'c++', android: 'c++' }> {
77
+ // ---- Properties ----
78
+
79
+ /**
80
+ * Provides HTML-formatted information about the last called method or property. If a method call
81
+ * fails or behaves unexpectedly, check this property for details. Note that information is
82
+ * available regardless of the method call's success.
83
+ *
84
+ * This property is read-only.
85
+ */
86
+ readonly lastErrorHtml: string
87
+
88
+ /**
89
+ * Provides plain text information about the last called method or property. If a method call
90
+ * fails or behaves unexpectedly, check this property for details. Note that information is
91
+ * available regardless of the method call's success.
92
+ *
93
+ * This property is read-only.
94
+ */
95
+ readonly lastErrorText: string
96
+
97
+ /**
98
+ * Provides XML-formatted information about the last called method or property. If a method call
99
+ * fails or behaves unexpectedly, check this property for details. Note that information is
100
+ * available regardless of the method call's success.
101
+ *
102
+ * This property is read-only.
103
+ */
104
+ readonly lastErrorXml: string
105
+
106
+ /**
107
+ * Version of the component/library, such as "10.1.0"
108
+ *
109
+ * This property is read-only.
110
+ */
111
+ readonly version: string
112
+
113
+ /**
114
+ * If set to a file path, this property logs the LastErrorText of each Chilkat method or property
115
+ * call to the specified file. This logging helps identify the context and history of Chilkat
116
+ * calls leading up to any crash or hang, aiding in debugging.
117
+ *
118
+ * Enabling the VerboseLogging property provides more detailed information.
119
+ *
120
+ * This property is mainly used for debugging rare instances where a Chilkat method call causes a
121
+ * hang or crash, which should generally not happen.
122
+ *
123
+ * Possible causes of hangs include:
124
+ *
125
+ * - A timeout property set to 0, indicating an infinite timeout.
126
+ *
127
+ * - A hang occurring within an event callback in the application code.
128
+ *
129
+ * - An internal bug in the Chilkat code causing the hang.
130
+ */
131
+ debugLogFilePath: string
132
+
133
+ /**
134
+ * If set to `true`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may
135
+ * contain more verbose information. The default value is `false`. Verbose logging should only be
136
+ * used for debugging. The potentially large quantity of logged information may adversely affect
137
+ * peformance.
138
+ */
139
+ verboseLogging: boolean
140
+
141
+ /**
142
+ * Indicates the success or failure of the most recent method call: `true` means success, `false`
143
+ * means failure. This property remains unchanged by property setters or getters. This method is
144
+ * present to address challenges in checking for null or Nothing returns in certain programming
145
+ * languages. Note: This property does not apply to methods that return integer values or to
146
+ * boolean-returning methods where the boolean does not indicate success or failure.
147
+ */
148
+ lastMethodSuccess: boolean
149
+
150
+ /**
151
+ * Controls cancellation of the method currently running on this `Imap` object.
152
+ *
153
+ * - Set this property to `true` to request that a long-running network operation abort.
154
+ *
155
+ * - Short methods that do not perform lengthy processing or network communication are generally
156
+ * unaffected.
157
+ *
158
+ * - Both synchronous and asynchronous calls can be aborted. A synchronous call may be canceled by
159
+ * setting this property from another thread.
160
+ *
161
+ * The property is automatically reset to `false` when the abort is processed. If no method is
162
+ * running, it is reset when the next method begins.
163
+ *
164
+ * Canceling an operation can leave the connection in an uncertain state. Close the connection,
165
+ * reconnect, authenticate again, and reselect the mailbox before continuing. Output objects may
166
+ * contain partial results, and a server-side operation may already have been partially applied
167
+ * before cancellation.
168
+ */
169
+ abortCurrent: boolean
170
+
171
+ /**
172
+ * Controls the initial `\Seen` flag for these methods:
173
+ *
174
+ * - {@link Imap.appendMail}
175
+ *
176
+ * - {@link Imap.appendMime}
177
+ *
178
+ * - {@link Imap.appendMimeWithDateStr}
179
+ *
180
+ * - `true` (the default): the appended message is marked as seen.
181
+ *
182
+ * - `false`: the appended message is initially unseen.
183
+ *
184
+ * The flag-specific append methods use their explicit arguments and do not use this property.
185
+ */
186
+ appendSeen: boolean
187
+
188
+ /**
189
+ * Contains the UID assigned by the server to the message most recently appended successfully.
190
+ *
191
+ * The default is `0`. After any successful append, this property is set to the UID reported by
192
+ * the server, or to `0` if the server succeeds but does not report an appended UID. A failed
193
+ * append leaves the previous value unchanged.
194
+ *
195
+ * This property is read-only.
196
+ */
197
+ readonly appendUid: number
198
+
199
+ /**
200
+ * Selects the IMAP authentication mechanism. Matching is case-insensitive, but spelling matters.
201
+ *
202
+ * ValuePurpose
203
+ *
204
+ * | `LOGIN` | | Username and password authentication. |
205
+ *
206
+ * | `PLAIN` | | SASL PLAIN authentication. {@link Imap.authzId} may also be used. |
207
+ *
208
+ * | `CRAM-MD5` | | Challenge-response authentication when supported by the server. |
209
+ *
210
+ * | `NTLM` | | Windows Integrated Authentication. |
211
+ *
212
+ * | `XOAUTH2` | | OAuth 2.0 access-token authentication. |
213
+ *
214
+ * The default is `LOGIN`, and an empty or unrecognized value also uses the LOGIN method. If the
215
+ * selected mechanism fails or is not supported by the server, Chilkat does not fall back to
216
+ * another authentication method.
217
+ *
218
+ * If NTLM authentication fails because of an NTLM-version compatibility issue, set
219
+ * `Global.DefaultNtlmVersion` to `1` and retry.
220
+ */
221
+ authMethod: string
222
+
223
+ /**
224
+ * Specifies the optional authorization identity used with the `PLAIN` authentication mechanism.
225
+ *
226
+ * Leave this property empty unless the IMAP server requires an authorization identity that
227
+ * differs from the login identity supplied to {@link Imap.login}.
228
+ */
229
+ authzId: string
230
+
231
+ /**
232
+ * Controls whether methods that download a complete email also download ordinary attachment
233
+ * bodies. The default is `true`.
234
+ *
235
+ * - `true`: complete-email fetches include attachment bodies.
236
+ *
237
+ * - `false`: complete-email fetches omit ordinary attachment bodies, whether the result is
238
+ * returned as an `Email` object or as MIME.
239
+ *
240
+ * Header-only methods never download attachment bodies. They add `ckx-imap-*` metadata describing
241
+ * the attachments, which can be read with {@link Imap.getMailNumAttach}, {@link
242
+ * Imap.getMailAttachFilename}, and {@link Imap.getMailAttachSize}. In this state, the `Email`
243
+ * object's ordinary attachment count can still be `0`.
244
+ *
245
+ * Related MIME parts used by an HTML body are not treated as ordinary attachments. Signed or
246
+ * encrypted messages are always downloaded in full because their complete MIME is required for
247
+ * verification or decryption.
248
+ */
249
+ autoDownloadAttachments: boolean
250
+
251
+ /**
252
+ * When `true` (the default), changes the public {@link Imap.ssl} and {@link Imap.startTls}
253
+ * property values when {@link Imap.connect} is called for a standard IMAP port:
254
+ *
255
+ * - Port `993`: sets `Ssl` to `true` and `StartTls` to `false` for implicit TLS.
256
+ *
257
+ * - Port `143`: sets `Ssl` to `false`. The existing `StartTls` value determines whether the
258
+ * connection is upgraded explicitly.
259
+ *
260
+ * For a nonstandard port, this property makes no changes. Set it to `false` when the application
261
+ * must preserve an unusual port and TLS combination exactly as configured.
262
+ */
263
+ autoFix: boolean
264
+
265
+ /**
266
+ * Specifies the local IP address to bind when the computer has multiple network interfaces or
267
+ * addresses.
268
+ *
269
+ * Leave this property empty for the usual case. The operating system will select the default
270
+ * local interface. When set, use a numeric IP address such as `165.164.55.124`, not a hostname.
271
+ */
272
+ clientIpAddress: string
273
+
274
+ /**
275
+ * The maximum number of seconds to wait while establishing the TCP connection to the IMAP server.
276
+ *
277
+ * The default is `30` seconds. This timeout applies to connection establishment, not to later
278
+ * reads from the server.
279
+ */
280
+ connectTimeout: number
281
+
282
+ /**
283
+ * Contains the hostname or IP address of the IMAP server to which the object is currently
284
+ * connected.
285
+ *
286
+ * Returns an empty string when no connection is active.
287
+ *
288
+ * This property is read-only.
289
+ */
290
+ readonly connectedToHost: string
291
+
292
+ /**
293
+ * Specifies the Windows domain used for NTLM authentication.
294
+ *
295
+ * This property is optional and may be left empty when the login name already identifies the
296
+ * domain or when NTLM is not used.
297
+ */
298
+ domain: string
299
+
300
+ /**
301
+ * Sets the interval, in milliseconds, between `AbortCheck` event callbacks during operations that
302
+ * support cancellation.
303
+ *
304
+ * The default is `0`, which disables periodic `AbortCheck` callbacks.
305
+ */
306
+ heartbeatMs: number
307
+
308
+ /**
309
+ * Specifies the authentication mechanism used by an HTTP proxy.
310
+ *
311
+ * Valid values are `Basic` and `NTLM`. This property is used only when {@link
312
+ * Imap.httpProxyHostname} identifies an HTTP proxy that requires authentication.
313
+ */
314
+ httpProxyAuthMethod: string
315
+
316
+ /**
317
+ * Specifies the optional Windows domain for HTTP-proxy NTLM authentication.
318
+ *
319
+ * It is ignored when the proxy does not use NTLM authentication.
320
+ */
321
+ httpProxyDomain: string
322
+
323
+ /**
324
+ * Specifies the hostname or numeric IPv4 address of an HTTP proxy through which the IMAP
325
+ * connection is established.
326
+ *
327
+ * Leave this property empty to connect directly or to use another configured transport such as
328
+ * SOCKS or SSH tunneling.
329
+ */
330
+ httpProxyHostname: string
331
+
332
+ /**
333
+ * Specifies the password used to authenticate with the configured HTTP proxy.
334
+ *
335
+ * It is used only when the proxy requires authentication.
336
+ */
337
+ httpProxyPassword: string
338
+
339
+ /**
340
+ * Specifies the TCP port of the configured HTTP proxy.
341
+ *
342
+ * Common values include `8080` and `3128`, but the correct value is determined by the proxy
343
+ * server configuration.
344
+ */
345
+ httpProxyPort: number
346
+
347
+ /**
348
+ * Specifies the username used to authenticate with the configured HTTP proxy.
349
+ *
350
+ * It is used only when the proxy requires authentication.
351
+ */
352
+ httpProxyUsername: string
353
+
354
+ /**
355
+ * Enables or disables the in-memory IMAP protocol log. The default is `false`.
356
+ *
357
+ * When enabled, {@link Imap.sessionLog} contains the raw commands sent to the server and the raw
358
+ * responses received. Use {@link Imap.clearSessionLog} to reset it.
359
+ */
360
+ keepSessionLog: boolean
361
+
362
+ /**
363
+ * Contains the MIME source sent by the most recent successful call to one of the following
364
+ * methods:
365
+ *
366
+ * - {@link Imap.appendMail}
367
+ *
368
+ * - {@link Imap.appendMime}
369
+ *
370
+ * - {@link Imap.appendMimeWithDateStr}
371
+ *
372
+ * - {@link Imap.appendMimeWithFlags}
373
+ *
374
+ * - {@link Imap.appendMimeWithFlagsSb}
375
+ *
376
+ * A failed append leaves the previous value unchanged. Therefore, read this property only after
377
+ * confirming that the append method succeeded.
378
+ *
379
+ * This property is read-only.
380
+ */
381
+ readonly lastAppendedMime: string
382
+
383
+ /**
384
+ * Contains the most recent raw IMAP command sent to the server.
385
+ *
386
+ * This property is primarily intended for diagnostics when an IMAP operation fails or produces an
387
+ * unexpected response.
388
+ *
389
+ * This property is read-only.
390
+ */
391
+ readonly lastCommand: string
392
+
393
+ /**
394
+ * Contains the most recent intermediate response received from the IMAP server while a command
395
+ * was in progress.
396
+ *
397
+ * Use it for protocol-level diagnostics when a command involves continuations or multiple
398
+ * response stages.
399
+ *
400
+ * This property is read-only.
401
+ */
402
+ readonly lastIntermediateResponse: string
403
+
404
+ /**
405
+ * Contains the raw response most recently received from the IMAP server.
406
+ *
407
+ * This property is cleared when Chilkat sends a new command. If a method fails during local
408
+ * argument validation or before a command is sent, the previous response can remain here. Also, a
409
+ * method can return failure even when the last tagged server response is `OK`, such as when a
410
+ * syntactically successful `FETCH` returns no matching message. Use the method return value or
411
+ * `LastMethodSuccess` as the authoritative success indicator.
412
+ *
413
+ * This property is read-only.
414
+ */
415
+ readonly lastResponse: string
416
+
417
+ /**
418
+ * Contains the optional IMAP response code from the most recent server response, such as
419
+ * `NONEXISTENT` or `AUTHENTICATIONFAILED`. Response-code strings vary by server.
420
+ *
421
+ * If a method fails before sending an IMAP command, this property can still contain the response
422
+ * code from an earlier command. Use the method return value or `LastMethodSuccess` to determine
423
+ * whether the current operation succeeded.
424
+ *
425
+ * This property is read-only.
426
+ */
427
+ readonly lastResponseCode: string
428
+
429
+ /**
430
+ * Contains the username of the authenticated IMAP session.
431
+ *
432
+ * Returns an empty string when the object is not logged in.
433
+ *
434
+ * This property is read-only.
435
+ */
436
+ readonly loggedInUser: string
437
+
438
+ /**
439
+ * Contains the number of messages reported when the current mailbox was selected.
440
+ *
441
+ * The value is updated by {@link Imap.selectMailbox} and {@link Imap.examineMailbox}. Unsolicited
442
+ * `EXISTS` notifications returned by {@link Imap.idleCheck} do not automatically update this
443
+ * property; use the notification value or reselect/query the mailbox when a refreshed count is
444
+ * needed.
445
+ *
446
+ * This property is read-only.
447
+ */
448
+ readonly numMessages: number
449
+
450
+ /**
451
+ * Controls whether fetching full message content marks the message as seen.
452
+ *
453
+ * - `false` (the default): fetching a full message or its raw MIME may set the `\Seen` flag.
454
+ *
455
+ * - `true`: full message data and raw MIME are fetched without setting `\Seen`, using IMAP peek
456
+ * semantics.
457
+ *
458
+ * Fetching headers only does not set `\Seen`, regardless of this property.
459
+ */
460
+ peekMode: boolean
461
+
462
+ /**
463
+ * Sets the scale used by `PercentDone` event callbacks. The default is `100`.
464
+ *
465
+ * For example, a scale of `1000` gives tenths-of-a-percent precision, so a callback value of
466
+ * `453` represents 45.3% complete. Values are limited to the range `10` through `100000`.
467
+ *
468
+ * This property applies only to languages and environments that support event callbacks and only
469
+ * to operations for which progress can be measured.
470
+ */
471
+ percentDoneScale: number
472
+
473
+ /**
474
+ * Specifies the IMAP server port. The default is `143`.
475
+ *
476
+ * - `993` is the standard port for implicit TLS and is normally used with {@link Imap.ssl} set to
477
+ * `true`.
478
+ *
479
+ * - `143` is the standard port for ordinary IMAP and for explicit TLS requested with {@link
480
+ * Imap.startTls}.
481
+ *
482
+ * When {@link Imap.autoFix} is enabled, standard port values are used to adjust the effective TLS
483
+ * configuration when connecting.
484
+ */
485
+ port: number
486
+
487
+ /**
488
+ * Controls address-family preference when a hostname resolves to both IPv4 and IPv6 addresses.
489
+ *
490
+ * - `false` (the default): prefer IPv4.
491
+ *
492
+ * - `true`: prefer IPv6.
493
+ *
494
+ * The other address family may still be used when the preferred one is unavailable.
495
+ */
496
+ preferIpv6: boolean
497
+
498
+ /**
499
+ * The maximum number of seconds that an incoming IMAP response may stall with no additional bytes
500
+ * received.
501
+ *
502
+ * The default is `60` seconds. This is an inactivity timeout, not a limit on the total time
503
+ * allowed for a large response.
504
+ */
505
+ readTimeout: number
506
+
507
+ /**
508
+ * Controls verification of the IMAP server's TLS certificate chain.
509
+ *
510
+ * - `false` (the default): a connection is not rejected solely because normal certificate-chain
511
+ * verification fails.
512
+ *
513
+ * - `true`: the connection fails when the certificate is expired, is not yet valid, its signature
514
+ * is invalid, or its chain cannot be verified to a trusted root.
515
+ *
516
+ * Certificate-chain verification is separate from hostname matching and public-key pinning.
517
+ * Hostname matching, when required, is enforced independently even when this property is `false`.
518
+ * {@link Imap.tlsPinSet} supplements rather than replaces normal certificate verification.
519
+ *
520
+ * The hostname used for the TLS connection is also used for Server Name Indication (SNI) and
521
+ * certificate hostname comparison.
522
+ */
523
+ requireSslCertVerify: boolean
524
+
525
+ /**
526
+ * Specifies the IMAP `CHARSET` used by `Search`, {@link Imap.queryMbx}, and {@link
527
+ * Imap.queryThread} when search criteria contain non-ASCII characters. The default is `UTF-8`.
528
+ *
529
+ * If the criteria contain only 7-bit ASCII characters, no `CHARSET` is needed and this property
530
+ * has no effect. The value `AUTO` enables the legacy behavior of selecting a charset by examining
531
+ * the criteria text.
532
+ *
533
+ * Most applications should leave this property unchanged unless a particular server rejects
534
+ * non-English search text.
535
+ */
536
+ searchCharset: string
537
+
538
+ /**
539
+ * Contains the name of the currently selected or examined mailbox.
540
+ *
541
+ * Returns an empty string when no mailbox is selected.
542
+ *
543
+ * This property is read-only.
544
+ */
545
+ readonly selectedMailbox: string
546
+
547
+ /**
548
+ * Specifies the application-level buffer size used when sending data through the underlying TCP
549
+ * connection.
550
+ *
551
+ * The default is `32767` bytes. Most applications should leave this setting unchanged.
552
+ */
553
+ sendBufferSize: number
554
+
555
+ /**
556
+ * Contains the mailbox-hierarchy delimiter reported by the IMAP server, typically `/` or `.`.
557
+ *
558
+ * {@link Imap.mbxList} and the legacy mailbox-listing methods update this property from the
559
+ * server's LIST response. The value is a string containing one character.
560
+ */
561
+ separatorChar: string
562
+
563
+ /**
564
+ * Contains the in-memory log of raw IMAP commands and server responses.
565
+ *
566
+ * {@link Imap.keepSessionLog} must be `true` for logging to occur. Call {@link
567
+ * Imap.clearSessionLog} to remove previously collected entries.
568
+ *
569
+ * Chilkat redacts sensitive credentials, including passwords and OAuth access tokens, from
570
+ * session logs, diagnostic logs, and `LastErrorText`.
571
+ *
572
+ * This property is read-only.
573
+ */
574
+ readonly sessionLog: string
575
+
576
+ /**
577
+ * Sets the operating system's TCP receive-buffer size. The default is `4194304` bytes.
578
+ *
579
+ * Most applications should leave this unchanged. Increasing it may improve download throughput on
580
+ * high-latency or high-bandwidth networks. Values that are multiples of `4096` are recommended.
581
+ */
582
+ soRcvBuf: number
583
+
584
+ /**
585
+ * Sets the operating system's TCP send-buffer size. The default is `262144` bytes.
586
+ *
587
+ * Most applications should leave this unchanged. Increasing it may improve upload throughput;
588
+ * values such as `524288` or `1048576` may be tested when needed.
589
+ */
590
+ soSndBuf: number
591
+
592
+ /**
593
+ * Specifies the hostname or numeric IP address of the SOCKS proxy.
594
+ *
595
+ * This property is used only when {@link Imap.socksVersion} is `4` or `5`.
596
+ */
597
+ socksHostname: string
598
+
599
+ /**
600
+ * Specifies the SOCKS5 proxy password.
601
+ *
602
+ * It is ignored for SOCKS4 because SOCKS4 does not define password authentication.
603
+ */
604
+ socksPassword: string
605
+
606
+ /**
607
+ * Specifies the SOCKS proxy port. The default is `1080`.
608
+ *
609
+ * This property is used only when {@link Imap.socksVersion} is `4` or `5`.
610
+ */
611
+ socksPort: number
612
+
613
+ /**
614
+ * Specifies the username sent to a SOCKS4 or SOCKS5 proxy.
615
+ *
616
+ * This property is used only when {@link Imap.socksVersion} is `4` or `5`.
617
+ */
618
+ socksUsername: string
619
+
620
+ /**
621
+ * Selects whether the IMAP connection uses a SOCKS proxy.
622
+ *
623
+ * ValueBehavior
624
+ *
625
+ * | `0` | | Do not use a SOCKS proxy. This is the default. |
626
+ *
627
+ * | `4` | | Connect through a SOCKS4 proxy. |
628
+ *
629
+ * | `5` | | Connect through a SOCKS5 proxy. |
630
+ */
631
+ socksVersion: number
632
+
633
+ /**
634
+ * Controls implicit TLS for the IMAP connection. The default is `false`.
635
+ *
636
+ * - `true`: begin the connection with a TLS handshake, typically on port `993`.
637
+ *
638
+ * - `false`: begin with ordinary IMAP. Use {@link Imap.startTls} when the server requires an
639
+ * explicit STARTTLS upgrade.
640
+ *
641
+ * If both this property and {@link Imap.startTls} are `true`, implicit TLS takes precedence and
642
+ * STARTTLS is not used.
643
+ */
644
+ ssl: boolean
645
+
646
+ /**
647
+ * Restricts the cipher suites and selected TLS security requirements offered for an IMAP TLS
648
+ * connection.
649
+ *
650
+ * Leave this property empty to allow all cipher suites implemented by the installed Chilkat
651
+ * version. To restrict negotiation, provide a comma-separated list in preference order, for
652
+ * example:
653
+ *
654
+ * ```
655
+ * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
656
+ * ```
657
+ *
658
+ * The server chooses from the cipher suites offered by the client; the client cannot force a
659
+ * suite the server does not support.
660
+ *
661
+ * The list may also contain these policy keywords:
662
+ *
663
+ * - `rsa1024` or `rsa2048` to require a minimum RSA server-key size.
664
+ *
665
+ * - `secure-renegotiation` to require secure TLS renegotiation.
666
+ *
667
+ * - `best-practices` to use the security policy recommended by the installed Chilkat version.
668
+ *
669
+ * Legacy keywords such as `aes256-cbc`, `aes128-cbc`, `3des-cbc`, and `rc4` remain recognized for
670
+ * compatibility, but explicitly listing acceptable suites is preferred.
671
+ */
672
+ sslAllowedCiphers: string
673
+
674
+ /**
675
+ * Selects the TLS protocol version or minimum version allowed for secure IMAP connections.
676
+ *
677
+ * The complete list of accepted values is:
678
+ *
679
+ * - `default`
680
+ *
681
+ * - `TLS 1.3`
682
+ *
683
+ * - `TLS 1.2`
684
+ *
685
+ * - `TLS 1.1`
686
+ *
687
+ * - `TLS 1.0`
688
+ *
689
+ * - `SSL 3.0`
690
+ *
691
+ * - `TLS 1.3 or higher`
692
+ *
693
+ * - `TLS 1.2 or higher`
694
+ *
695
+ * - `TLS 1.1 or higher`
696
+ *
697
+ * - `TLS 1.0 or higher`
698
+ *
699
+ * The default is `default`, which allows Chilkat to negotiate a protocol supported by both client
700
+ * and server. A minimum-version setting is generally more interoperable than requiring one exact
701
+ * version.
702
+ */
703
+ sslProtocol: string
704
+
705
+ /**
706
+ * Indicates whether the IMAP server certificate chain was successfully verified for the current
707
+ * or most recent TLS connection.
708
+ *
709
+ * This property reports certificate-chain verification only. It does not report hostname matching
710
+ * or public-key pinning. If hostname matching or pinning is required and the check fails, the
711
+ * connection itself fails.
712
+ *
713
+ * This property is read-only.
714
+ */
715
+ readonly sslServerCertVerified: boolean
716
+
717
+ /**
718
+ * Controls explicit TLS using the IMAP `STARTTLS` command. The default is `false`.
719
+ *
720
+ * - `true`: connect in clear text, issue `STARTTLS`, and then continue through an encrypted
721
+ * channel.
722
+ *
723
+ * - `false`: do not request an explicit TLS upgrade.
724
+ *
725
+ * Explicit TLS is commonly used on port `143`. For implicit TLS, set {@link Imap.ssl} to `true`
726
+ * and normally use port `993`. If both properties are `true`, {@link Imap.ssl} takes precedence.
727
+ */
728
+ startTls: boolean
729
+
730
+ /**
731
+ * Contains the cipher suite negotiated for the current or most recent TLS connection, for example
732
+ * `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384`.
733
+ *
734
+ * The value is empty before a TLS connection has been established or after a failed TLS
735
+ * negotiation.
736
+ *
737
+ * This property is read-only.
738
+ */
739
+ readonly tlsCipherSuite: string
740
+
741
+ /**
742
+ * Specifies one or more expected SPKI fingerprints for TLS public-key pinning. If none of the
743
+ * configured pins matches the server certificate, the TLS handshake fails.
744
+ *
745
+ * Pinning supplements normal certificate-chain verification; it does not replace it. A matching
746
+ * pin does not make an expired or otherwise invalid certificate acceptable. When a pin set is
747
+ * configured, pin matching is enforced even if {@link Imap.requireSslCertVerify} is `false`.
748
+ *
749
+ * The format is:
750
+ *
751
+ * ```
752
+ * hashAlgorithm, encoding, fingerprint1, fingerprint2, ...
753
+ * ```
754
+ *
755
+ * Example:
756
+ *
757
+ * ```
758
+ * sha256, base64, lKg1SIqyhPSK19tlPbjl8s02yChsVTDklQpkMCHvsTE=
759
+ * ```
760
+ *
761
+ * Supported hash algorithms include `sha1`, `sha256`, `sha384`, `sha512`, `md2`, `md5`, `haval`,
762
+ * `ripemd128`, `ripemd160`, `ripemd256`, and `ripemd320`. Supported encodings include `base64`,
763
+ * `hex`, and other Chilkat-supported binary encodings.
764
+ */
765
+ tlsPinSet: string
766
+
767
+ /**
768
+ * Contains the protocol version negotiated for the current or most recent TLS connection, such as
769
+ * `TLS 1.2` or `TLS 1.3`.
770
+ *
771
+ * The value is empty before a TLS connection has been established or after a failed TLS
772
+ * negotiation.
773
+ *
774
+ * This property is read-only.
775
+ */
776
+ readonly tlsVersion: string
777
+
778
+ /**
779
+ * Contains the mailbox's reported `UIDNEXT` value—the UID expected to be assigned to the next
780
+ * appended message.
781
+ *
782
+ * The value is `0` when no mailbox is selected or when the server did not provide `UIDNEXT`.
783
+ *
784
+ * This property is read-only.
785
+ */
786
+ readonly uidNext: number
787
+
788
+ /**
789
+ * Contains the `UIDVALIDITY` value of the currently selected mailbox, or `0` when no mailbox is
790
+ * selected.
791
+ *
792
+ * An application that stores message UIDs should also store this value. If `UIDVALIDITY` changes
793
+ * in a later session, previously stored UIDs must no longer be assumed to identify the same
794
+ * messages.
795
+ *
796
+ * This property is read-only.
797
+ */
798
+ readonly uidValidity: number
799
+
800
+ /**
801
+ * Provides comma-separated compatibility or platform-specific options for uncommon cases. The
802
+ * default is an empty string, and most applications should leave it unchanged.
803
+ *
804
+ * - `ProtectFromVpn`: on Android, bypasses an installed or active VPN.
805
+ *
806
+ * - `EnableTls13`: legacy option that enabled offering TLS 1.3 in versions where it was not yet
807
+ * enabled by default.
808
+ */
809
+ uncommonOptions: string
810
+
811
+ /**
812
+ * Contains the `HIGHESTMODSEQ` value of the currently selected mailbox as a decimal string.
813
+ *
814
+ * The value is `0` when no mailbox is selected or the server does not provide this information. A
815
+ * string is used because the value may exceed the integer range of some programming languages.
816
+ *
817
+ * This property is read-only.
818
+ */
819
+ readonly highestModSeq: string
820
+
821
+ /**
822
+ * Specifies the sort order used by {@link Imap.queryMbx}. The default is the empty string, which
823
+ * uses an ordinary IMAP `SEARCH`.
824
+ *
825
+ * Set this property to a space-separated list of sort keys. Sorting is ascending unless `REVERSE`
826
+ * precedes a key. Supported keys are `ARRIVAL`, `CC`, `DATE`, `FROM`, `SIZE`, `SUBJECT`, and
827
+ * `TO`.
828
+ *
829
+ * Examples:
830
+ *
831
+ * - `SUBJECT REVERSE DATE`
832
+ *
833
+ * - `REVERSE SIZE`
834
+ *
835
+ * - `ARRIVAL`
836
+ *
837
+ * If the server does not support the IMAP `SORT` extension, Chilkat automatically falls back to
838
+ * an ordinary `SEARCH`.
839
+ */
840
+ sortCriteria: string
841
+
842
+ /**
843
+ * Enables automatic resolution of credential values from secure operating-system storage. The
844
+ * default is `false`.
845
+ *
846
+ * When `true`, supported password arguments and properties may contain a secret specification
847
+ * beginning with `!!` instead of a literal secret. Chilkat resolves the value from Windows
848
+ * Credential Manager or Apple Keychain.
849
+ *
850
+ * ```
851
+ * !![appName|]service[|domain]|username
852
+ * ```
853
+ *
854
+ * This applies to {@link Imap.httpProxyPassword}, {@link Imap.socksPassword}, the password
855
+ * supplied to {@link Imap.login}, and the password supplied to {@link Imap.sshAuthenticatePw}.
856
+ */
857
+ enableSecrets: boolean
858
+
859
+ // ---- Methods ----
860
+
861
+ /**
862
+ * Adds a PKCS #12/PFX file that may be searched for certificates and private keys needed for
863
+ * S/MIME decryption or signature processing.
864
+ *
865
+ * `pfxFilePath` is the local filesystem path of the PFX file, and `pfxPassword` contains its
866
+ * password. Call this method once for each additional source.
867
+ *
868
+ * On Windows, system certificate stores are also searched automatically. On macOS, the Keychain
869
+ * is searched automatically.
870
+ *
871
+ * @throws Error if the call fails (the message names the reason); the full log is in
872
+ * {@link Imap.lastErrorText}.
873
+ */
874
+ addPfxSourceFile(pfxFilePath: string, pfxPassword: string): void
875
+
876
+ /**
877
+ * Appends the `Email` in `email` to the mailbox named by `mailbox`.
878
+ *
879
+ * {@link Imap.appendSeen} controls the initial `\Seen` flag. After success, {@link
880
+ * Imap.appendUid} contains the UID reported by the server, or `0` if no UID was reported, and
881
+ * {@link Imap.lastAppendedMime} contains the MIME sent.
882
+ *
883
+ * Rendering for the append does not generate or replace `email`'s `Date`, `Message-ID`, or MIME
884
+ * boundary values. If `email` uses an `8bit` or `binary` transfer encoding that would produce
885
+ * non-text binary bytes, Chilkat changes the rendered transfer encoding to a text-safe encoding
886
+ * such as Base64.
887
+ *
888
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
889
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
890
+ *
891
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
892
+ * {@link Imap.appendMailAsync}.
893
+ *
894
+ * @throws Error if the call fails (the message names the reason); the full log is in
895
+ * {@link Imap.lastErrorText}.
896
+ */
897
+ appendMail(mailbox: string, email: Email): void
898
+
899
+ /**
900
+ * Asynchronous form of {@link Imap.appendMail}: the same call on a native worker thread,
901
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
902
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
903
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
904
+ *
905
+ * The promise rejects with an Error if the call fails; the full log is in
906
+ * {@link Imap.lastErrorText}.
907
+ */
908
+ appendMailAsync(mailbox: string, email: Email): Promise<void>
909
+
910
+ /**
911
+ * Appends the complete RFC 822/MIME message in `mimeText` to the mailbox named by `mailbox`.
912
+ *
913
+ * {@link Imap.appendSeen} controls the initial `\Seen` flag. After success, {@link
914
+ * Imap.appendUid} contains the UID reported by the server, or `0` if no UID was reported, and
915
+ * {@link Imap.lastAppendedMime} contains the MIME sent.
916
+ *
917
+ * The MIME text is sent exactly as supplied. Chilkat does not normalize line endings, add a final
918
+ * CRLF, or re-encode headers or body content. The supplied text must not contain non-text binary
919
+ * bytes.
920
+ *
921
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
922
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
923
+ *
924
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
925
+ * {@link Imap.appendMimeAsync}.
926
+ *
927
+ * @throws Error if the call fails (the message names the reason); the full log is in
928
+ * {@link Imap.lastErrorText}.
929
+ */
930
+ appendMime(mailbox: string, mimeText: string): void
931
+
932
+ /**
933
+ * Asynchronous form of {@link Imap.appendMime}: the same call on a native worker thread,
934
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
935
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
936
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
937
+ *
938
+ * The promise rejects with an Error if the call fails; the full log is in
939
+ * {@link Imap.lastErrorText}.
940
+ */
941
+ appendMimeAsync(mailbox: string, mimeText: string): Promise<void>
942
+
943
+ /**
944
+ * Appends the MIME message in `mimeText` to the mailbox named by `mailbox` while explicitly
945
+ * setting the server-side internal date from `internalDateStr`.
946
+ *
947
+ * `internalDateStr` is an RFC 822 date/time string, for example `Fri, 10 Jul 2026 20:15:30 GMT`.
948
+ * The internal date is mailbox metadata and is distinct from the message's `Date` header. {@link
949
+ * Imap.appendSeen} controls the initial `\Seen` flag.
950
+ *
951
+ * The MIME text is sent exactly as supplied. Chilkat does not normalize line endings, add a final
952
+ * CRLF, or re-encode headers or body content. The supplied text must not contain non-text binary
953
+ * bytes.
954
+ *
955
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
956
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
957
+ *
958
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
959
+ * {@link Imap.appendMimeWithDateStrAsync}.
960
+ *
961
+ * @throws Error if the call fails (the message names the reason); the full log is in
962
+ * {@link Imap.lastErrorText}.
963
+ */
964
+ appendMimeWithDateStr(mailbox: string, mimeText: string, internalDateStr: string): void
965
+
966
+ /**
967
+ * Asynchronous form of {@link Imap.appendMimeWithDateStr}: the same call on a native worker
968
+ * thread,
969
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
970
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
971
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
972
+ *
973
+ * The promise rejects with an Error if the call fails; the full log is in
974
+ * {@link Imap.lastErrorText}.
975
+ */
976
+ appendMimeWithDateStrAsync(mailbox: string, mimeText: string, internalDateStr: string): Promise<void>
977
+
978
+ /**
979
+ * Appends the MIME message in `mimeText` to the mailbox named by `mailbox` and sets its initial
980
+ * system flags.
981
+ *
982
+ * - `seen` controls `\Seen`.
983
+ *
984
+ * - `flagged` controls `\Flagged`.
985
+ *
986
+ * - `answered` controls `\Answered`.
987
+ *
988
+ * - `draft` controls `\Draft`.
989
+ *
990
+ * Use `true` to set a flag and `false` to leave it unset. The explicit flag arguments are used
991
+ * instead of {@link Imap.appendSeen}.
992
+ *
993
+ * The MIME text is sent exactly as supplied. Chilkat does not normalize line endings, add a final
994
+ * CRLF, or re-encode headers or body content. The supplied text must not contain non-text binary
995
+ * bytes.
996
+ *
997
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
998
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
999
+ *
1000
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1001
+ * {@link Imap.appendMimeWithFlagsAsync}.
1002
+ *
1003
+ * @throws Error if the call fails (the message names the reason); the full log is in
1004
+ * {@link Imap.lastErrorText}.
1005
+ */
1006
+ appendMimeWithFlags(mailbox: string, mimeText: string, seen: boolean, flagged: boolean, answered: boolean, draft: boolean): void
1007
+
1008
+ /**
1009
+ * Asynchronous form of {@link Imap.appendMimeWithFlags}: the same call on a native worker thread,
1010
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1011
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1012
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1013
+ *
1014
+ * The promise rejects with an Error if the call fails; the full log is in
1015
+ * {@link Imap.lastErrorText}.
1016
+ */
1017
+ appendMimeWithFlagsAsync(mailbox: string, mimeText: string, seen: boolean, flagged: boolean, answered: boolean, draft: boolean): Promise<void>
1018
+
1019
+ /**
1020
+ * Sends the IMAP `CAPABILITY` command and returns the server's raw capability response.
1021
+ *
1022
+ * Use {@link Imap.hasCapability} to test the returned text for a particular capability such as
1023
+ * `IDLE`, `MOVE`, `SORT`, or `QUOTA`.
1024
+ *
1025
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1026
+ * {@link Imap.capabilityAsync}.
1027
+ *
1028
+ * @throws Error if the call fails (the message names the reason); the full log is in
1029
+ * {@link Imap.lastErrorText}.
1030
+ */
1031
+ capability(): string
1032
+
1033
+ /**
1034
+ * Asynchronous form of {@link Imap.capability}: the same call on a native worker thread,
1035
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1036
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1037
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1038
+ *
1039
+ * The promise rejects with an Error if the call fails; the full log is in
1040
+ * {@link Imap.lastErrorText}.
1041
+ */
1042
+ capabilityAsync(): Promise<string>
1043
+
1044
+ /**
1045
+ * Checks whether the underlying TCP socket is currently connected to the IMAP server.
1046
+ *
1047
+ * This performs a low-level socket-state check and does not send an IMAP command. To verify that
1048
+ * the server is responsive and the session remains usable, call {@link Imap.noop}.
1049
+ */
1050
+ checkConnection(): boolean
1051
+
1052
+ /**
1053
+ * Clears the in-memory text returned by {@link Imap.sessionLog}.
1054
+ *
1055
+ * Session logging remains enabled or disabled according to {@link Imap.keepSessionLog}.
1056
+ */
1057
+ clearSessionLog(): void
1058
+
1059
+ /**
1060
+ * Closes the currently selected mailbox while keeping the authenticated IMAP connection open.
1061
+ *
1062
+ * `mailbox` is retained for backward compatibility but is ignored. It may be the empty string.
1063
+ * Messages marked with `\Deleted` are permanently removed as part of the close operation. After
1064
+ * success, {@link Imap.selectedMailbox} is empty, but another mailbox can be selected on the same
1065
+ * connection.
1066
+ *
1067
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1068
+ * {@link Imap.closeMailboxAsync}.
1069
+ *
1070
+ * @throws Error if the call fails (the message names the reason); the full log is in
1071
+ * {@link Imap.lastErrorText}.
1072
+ */
1073
+ closeMailbox(mailbox: string): void
1074
+
1075
+ /**
1076
+ * Asynchronous form of {@link Imap.closeMailbox}: the same call on a native worker thread,
1077
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1078
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1079
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1080
+ *
1081
+ * The promise rejects with an Error if the call fails; the full log is in
1082
+ * {@link Imap.lastErrorText}.
1083
+ */
1084
+ closeMailboxAsync(mailbox: string): Promise<void>
1085
+
1086
+ /**
1087
+ * Establishes a TCP connection to the IMAP server identified by `domainName` but does not
1088
+ * authenticate.
1089
+ *
1090
+ * `domainName` may be a hostname, IPv4 address, or IPv6 address. Configure {@link Imap.port},
1091
+ * {@link Imap.ssl}, {@link Imap.startTls}, proxy settings, and timeouts before calling this
1092
+ * method. The TLS hostname is used for Server Name Indication (SNI) and certificate hostname
1093
+ * comparison. Call {@link Imap.login} after the connection succeeds.
1094
+ *
1095
+ * If this method is called while already connected, Chilkat tears down the existing connection
1096
+ * and establishes a new connection to `domainName`. This applies even when `domainName` names the
1097
+ * same server.
1098
+ *
1099
+ * Imap does not automatically reconnect after a connection is dropped. The application must call
1100
+ * this method again, authenticate again, reselect a mailbox when needed, and retry the
1101
+ * interrupted operation.
1102
+ *
1103
+ * Connection failures can also be caused by DNS, local or remote firewalls, antivirus software,
1104
+ * routing, or other network infrastructure outside Chilkat.
1105
+ *
1106
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1107
+ * {@link Imap.connectAsync}.
1108
+ *
1109
+ * @throws Error if the call fails (the message names the reason); the full log is in
1110
+ * {@link Imap.lastErrorText}.
1111
+ */
1112
+ connect(domainName: string): void
1113
+
1114
+ /**
1115
+ * Asynchronous form of {@link Imap.connect}: the same call on a native worker thread,
1116
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1117
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1118
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1119
+ *
1120
+ * The promise rejects with an Error if the call fails; the full log is in
1121
+ * {@link Imap.lastErrorText}.
1122
+ */
1123
+ connectAsync(domainName: string): Promise<void>
1124
+
1125
+ /**
1126
+ * Copies one message from the currently selected mailbox to the destination mailbox in
1127
+ * `copyToMailbox`.
1128
+ *
1129
+ * `msgId` identifies the source message. If `bUid` is `true`, `msgId` is a UID; otherwise,
1130
+ * `msgId` is a sequence number. The original message remains in the selected mailbox.
1131
+ *
1132
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1133
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1134
+ *
1135
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1136
+ * {@link Imap.copyAsync}.
1137
+ *
1138
+ * @throws Error if the call fails (the message names the reason); the full log is in
1139
+ * {@link Imap.lastErrorText}.
1140
+ */
1141
+ copy(msgId: number, bUid: boolean, copyToMailbox: string): void
1142
+
1143
+ /**
1144
+ * Asynchronous form of {@link Imap.copy}: the same call on a native worker thread,
1145
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1146
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1147
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1148
+ *
1149
+ * The promise rejects with an Error if the call fails; the full log is in
1150
+ * {@link Imap.lastErrorText}.
1151
+ */
1152
+ copyAsync(msgId: number, bUid: boolean, copyToMailbox: string): Promise<void>
1153
+
1154
+ /**
1155
+ * Copies the messages identified by the `MessageSet` in `messageSet` from the selected mailbox to
1156
+ * destination mailbox `copyToMailbox` using one IMAP command.
1157
+ *
1158
+ * `MessageSet.HasUids` determines whether `messageSet` contains UIDs or sequence numbers. For
1159
+ * sequence numbers, one invalid value causes the entire command to fail and no messages are
1160
+ * copied. For UIDs, nonexistent values are silently ignored and valid messages are copied. The
1161
+ * original messages remain in the selected mailbox.
1162
+ *
1163
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1164
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1165
+ *
1166
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1167
+ * {@link Imap.copyMultipleAsync}.
1168
+ *
1169
+ * @throws Error if the call fails (the message names the reason); the full log is in
1170
+ * {@link Imap.lastErrorText}.
1171
+ */
1172
+ copyMultiple(messageSet: MessageSet, copyToMailbox: string): void
1173
+
1174
+ /**
1175
+ * Asynchronous form of {@link Imap.copyMultiple}: the same call on a native worker thread,
1176
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1177
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1178
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1179
+ *
1180
+ * The promise rejects with an Error if the call fails; the full log is in
1181
+ * {@link Imap.lastErrorText}.
1182
+ */
1183
+ copyMultipleAsync(messageSet: MessageSet, copyToMailbox: string): Promise<void>
1184
+
1185
+ /**
1186
+ * Copies a contiguous range of messages, identified by sequence number, from the selected mailbox
1187
+ * to the destination mailbox in `copyToMailbox`.
1188
+ *
1189
+ * `startSeqNum` is the first sequence number and `count` is the number of messages to copy. IMAP
1190
+ * sequence numbers begin at `1` and can change when messages are expunged.
1191
+ *
1192
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1193
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1194
+ *
1195
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1196
+ * {@link Imap.copySequenceAsync}.
1197
+ *
1198
+ * @throws Error if the call fails (the message names the reason); the full log is in
1199
+ * {@link Imap.lastErrorText}.
1200
+ */
1201
+ copySequence(startSeqNum: number, count: number, copyToMailbox: string): void
1202
+
1203
+ /**
1204
+ * Asynchronous form of {@link Imap.copySequence}: the same call on a native worker thread,
1205
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1206
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1207
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1208
+ *
1209
+ * The promise rejects with an Error if the call fails; the full log is in
1210
+ * {@link Imap.lastErrorText}.
1211
+ */
1212
+ copySequenceAsync(startSeqNum: number, count: number, copyToMailbox: string): Promise<void>
1213
+
1214
+ /**
1215
+ * Creates the mailbox named by `mailbox` on the IMAP server.
1216
+ *
1217
+ * Use the hierarchy delimiter reported in {@link Imap.separatorChar} when creating a nested
1218
+ * mailbox. In IMAP terminology, \*mailbox\* and \*folder\* are synonymous.
1219
+ *
1220
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1221
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1222
+ *
1223
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1224
+ * {@link Imap.createMailboxAsync}.
1225
+ *
1226
+ * @throws Error if the call fails (the message names the reason); the full log is in
1227
+ * {@link Imap.lastErrorText}.
1228
+ */
1229
+ createMailbox(mailbox: string): void
1230
+
1231
+ /**
1232
+ * Asynchronous form of {@link Imap.createMailbox}: the same call on a native worker thread,
1233
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1234
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1235
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1236
+ *
1237
+ * The promise rejects with an Error if the call fails; the full log is in
1238
+ * {@link Imap.lastErrorText}.
1239
+ */
1240
+ createMailboxAsync(mailbox: string): Promise<void>
1241
+
1242
+ /**
1243
+ * Deletes the mailbox named by `mailbox` from the IMAP server.
1244
+ *
1245
+ * This deletes the mailbox itself, not merely the messages it contains. Server rules may require
1246
+ * the mailbox to be empty first.
1247
+ *
1248
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1249
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1250
+ *
1251
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1252
+ * {@link Imap.deleteMailboxAsync}.
1253
+ *
1254
+ * @throws Error if the call fails (the message names the reason); the full log is in
1255
+ * {@link Imap.lastErrorText}.
1256
+ */
1257
+ deleteMailbox(mailbox: string): void
1258
+
1259
+ /**
1260
+ * Asynchronous form of {@link Imap.deleteMailbox}: the same call on a native worker thread,
1261
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1262
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1263
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1264
+ *
1265
+ * The promise rejects with an Error if the call fails; the full log is in
1266
+ * {@link Imap.lastErrorText}.
1267
+ */
1268
+ deleteMailboxAsync(mailbox: string): Promise<void>
1269
+
1270
+ /**
1271
+ * Closes the connection to the IMAP server.
1272
+ *
1273
+ * A failure indicates that the connection could not be closed cleanly; the socket is nevertheless
1274
+ * no longer intended for further use. In many applications, a disconnect failure during shutdown
1275
+ * can be treated as nonfatal.
1276
+ *
1277
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1278
+ * {@link Imap.disconnectAsync}.
1279
+ *
1280
+ * @throws Error if the call fails (the message names the reason); the full log is in
1281
+ * {@link Imap.lastErrorText}.
1282
+ */
1283
+ disconnect(): void
1284
+
1285
+ /**
1286
+ * Asynchronous form of {@link Imap.disconnect}: the same call on a native worker thread,
1287
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1288
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1289
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1290
+ *
1291
+ * The promise rejects with an Error if the call fails; the full log is in
1292
+ * {@link Imap.lastErrorText}.
1293
+ */
1294
+ disconnectAsync(): Promise<void>
1295
+
1296
+ /**
1297
+ * Opens the mailbox in `mailbox` as read-only.
1298
+ *
1299
+ * Use this instead of {@link Imap.selectMailbox} when the application must not change message
1300
+ * flags or mailbox state. Successful examination updates properties such as {@link
1301
+ * Imap.numMessages}, {@link Imap.uidValidity}, and {@link Imap.uidNext}.
1302
+ *
1303
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1304
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1305
+ *
1306
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1307
+ * {@link Imap.examineMailboxAsync}.
1308
+ *
1309
+ * @throws Error if the call fails (the message names the reason); the full log is in
1310
+ * {@link Imap.lastErrorText}.
1311
+ */
1312
+ examineMailbox(mailbox: string): void
1313
+
1314
+ /**
1315
+ * Asynchronous form of {@link Imap.examineMailbox}: the same call on a native worker thread,
1316
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1317
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1318
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1319
+ *
1320
+ * The promise rejects with an Error if the call fails; the full log is in
1321
+ * {@link Imap.lastErrorText}.
1322
+ */
1323
+ examineMailboxAsync(mailbox: string): Promise<void>
1324
+
1325
+ /**
1326
+ * Permanently removes all messages marked with the `\Deleted` flag from the currently selected
1327
+ * mailbox.
1328
+ *
1329
+ * The mailbox remains selected and the authenticated connection remains open. Expunging can
1330
+ * change sequence numbers for the remaining messages.
1331
+ *
1332
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1333
+ * {@link Imap.expungeAsync}.
1334
+ *
1335
+ * @throws Error if the call fails (the message names the reason); the full log is in
1336
+ * {@link Imap.lastErrorText}.
1337
+ */
1338
+ expunge(): void
1339
+
1340
+ /**
1341
+ * Asynchronous form of {@link Imap.expunge}: the same call on a native worker thread,
1342
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1343
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1344
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1345
+ *
1346
+ * The promise rejects with an Error if the call fails; the full log is in
1347
+ * {@link Imap.lastErrorText}.
1348
+ */
1349
+ expungeAsync(): Promise<void>
1350
+
1351
+ /**
1352
+ * Permanently removes all messages marked with `\Deleted` from the selected mailbox and then
1353
+ * closes the mailbox.
1354
+ *
1355
+ * After success, {@link Imap.selectedMailbox} is empty. The authenticated IMAP connection remains
1356
+ * open and can be used to select another mailbox.
1357
+ *
1358
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1359
+ * {@link Imap.expungeAndCloseAsync}.
1360
+ *
1361
+ * @throws Error if the call fails (the message names the reason); the full log is in
1362
+ * {@link Imap.lastErrorText}.
1363
+ */
1364
+ expungeAndClose(): void
1365
+
1366
+ /**
1367
+ * Asynchronous form of {@link Imap.expungeAndClose}: the same call on a native worker thread,
1368
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1369
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1370
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1371
+ *
1372
+ * The promise rejects with an Error if the call fails; the full log is in
1373
+ * {@link Imap.lastErrorText}.
1374
+ */
1375
+ expungeAndCloseAsync(): Promise<void>
1376
+
1377
+ /**
1378
+ * Obtains attachment `attachmentIndex` from the `Email` in `emailObject` and writes it to the
1379
+ * filesystem path in `saveToPath`. Attachment indexes are zero-based.
1380
+ *
1381
+ * `saveToPath` may be a filename, a relative path ending in a filename, or an absolute path
1382
+ * ending in a filename. Missing parent directories are not created. An existing file is
1383
+ * overwritten. A failed operation should not leave a partial output file.
1384
+ *
1385
+ * If `emailObject` already contains the attachment bytes, the data is saved without contacting
1386
+ * the IMAP server. If `emailObject` was fetched without attachment bodies, Chilkat uses its
1387
+ * `ckx-imap-*` metadata to locate and download the requested MIME part. The same IMAP session is
1388
+ * not required, and a copied `Email` can be used if the metadata is preserved.
1389
+ *
1390
+ * The corresponding mailbox must be selected when a server fetch is required. If `ckx-imap-isUid`
1391
+ * is `YES`, the permanent UID is used and the operation can work after reconnecting. If it is
1392
+ * `NO`, the stored value is a sequence number, which can identify a different message after an
1393
+ * expunge. UID-based metadata is therefore preferred for deferred attachment operations. The
1394
+ * method fails if the referenced message or MIME part no longer exists, such as after the message
1395
+ * is moved or expunged.
1396
+ *
1397
+ * Related MIME parts used by an HTML body are not counted as ordinary attachments. Signed and
1398
+ * encrypted messages are fetched in full because their complete MIME is required.
1399
+ *
1400
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1401
+ * {@link Imap.fetchAttachmentAsync}.
1402
+ *
1403
+ * @throws Error if the call fails (the message names the reason); the full log is in
1404
+ * {@link Imap.lastErrorText}.
1405
+ */
1406
+ fetchAttachment(emailObject: Email, attachmentIndex: number, saveToPath: string): void
1407
+
1408
+ /**
1409
+ * Asynchronous form of {@link Imap.fetchAttachment}: the same call on a native worker thread,
1410
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1411
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1412
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1413
+ *
1414
+ * The promise rejects with an Error if the call fails; the full log is in
1415
+ * {@link Imap.lastErrorText}.
1416
+ */
1417
+ fetchAttachmentAsync(emailObject: Email, attachmentIndex: number, saveToPath: string): Promise<void>
1418
+
1419
+ /**
1420
+ * Obtains text attachment `attachmentIndex` from the `Email` in `emailObject` and decodes its
1421
+ * bytes using the character encoding named by `charset`.
1422
+ *
1423
+ * Use this only when the attachment contains text. Attachment indexes are zero-based. See {@link
1424
+ * Imap.fetchAttachment} for information about downloading attachment data that is not already
1425
+ * present in `emailObject`.
1426
+ *
1427
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1428
+ * {@link Imap.fetchAttachmentStringAsync}.
1429
+ *
1430
+ * @throws Error if the call fails (the message names the reason); the full log is in
1431
+ * {@link Imap.lastErrorText}.
1432
+ */
1433
+ fetchAttachmentString(emailObject: Email, attachmentIndex: number, charset: string): string
1434
+
1435
+ /**
1436
+ * Asynchronous form of {@link Imap.fetchAttachmentString}: the same call on a native worker
1437
+ * thread,
1438
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1439
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1440
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1441
+ *
1442
+ * The promise rejects with an Error if the call fails; the full log is in
1443
+ * {@link Imap.lastErrorText}.
1444
+ */
1445
+ fetchAttachmentStringAsync(emailObject: Email, attachmentIndex: number, charset: string): Promise<string>
1446
+
1447
+ /**
1448
+ * Returns the space-separated IMAP flags for the message identified by `msgId`.
1449
+ *
1450
+ * If `bUid` is `true`, `msgId` is a UID; otherwise, it is a sequence number. A result might be
1451
+ * `\Flagged \Seen $label1`.
1452
+ *
1453
+ * An existing message with no flags returns the empty string. A nonexistent message is an error.
1454
+ *
1455
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1456
+ * {@link Imap.fetchFlagsAsync}.
1457
+ *
1458
+ * @throws Error if the call fails (the message names the reason); the full log is in
1459
+ * {@link Imap.lastErrorText}.
1460
+ */
1461
+ fetchFlags(msgId: number, bUid: boolean): string
1462
+
1463
+ /**
1464
+ * Asynchronous form of {@link Imap.fetchFlags}: the same call on a native worker thread,
1465
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1466
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1467
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1468
+ *
1469
+ * The promise rejects with an Error if the call fails; the full log is in
1470
+ * {@link Imap.lastErrorText}.
1471
+ */
1472
+ fetchFlagsAsync(msgId: number, bUid: boolean): Promise<string>
1473
+
1474
+ /**
1475
+ * Downloads one message and returns its MIME source as a string.
1476
+ *
1477
+ * If `bUid` is `true`, `msgId` is a UID; otherwise, `msgId` is a sequence number. Ordinary
1478
+ * attachment bodies are included according to {@link Imap.autoDownloadAttachments}.
1479
+ *
1480
+ * Chilkat interprets the received MIME bytes as UTF-8. MIME using Base64 or quoted-printable
1481
+ * transfer encoding is safe because the encoded bytes are ASCII. Raw `8bit` or `binary` content,
1482
+ * or unencoded text in another charset such as ISO-8859-1 or Shift_JIS, can be misinterpreted or
1483
+ * cause an error. Use {@link Imap.fetchSingleBd} whenever byte-exact MIME is required.
1484
+ *
1485
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1486
+ * {@link Imap.fetchSingleAsMimeAsync}.
1487
+ *
1488
+ * @throws Error if the call fails (the message names the reason); the full log is in
1489
+ * {@link Imap.lastErrorText}.
1490
+ */
1491
+ fetchSingleAsMime(msgId: number, bUid: boolean): string
1492
+
1493
+ /**
1494
+ * Asynchronous form of {@link Imap.fetchSingleAsMime}: the same call on a native worker thread,
1495
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1496
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1497
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1498
+ *
1499
+ * The promise rejects with an Error if the call fails; the full log is in
1500
+ * {@link Imap.lastErrorText}.
1501
+ */
1502
+ fetchSingleAsMimeAsync(msgId: number, bUid: boolean): Promise<string>
1503
+
1504
+ /**
1505
+ * Downloads and returns the MIME header block for one message, without downloading the body.
1506
+ *
1507
+ * If `bUID` is `true`, `msgId` is a UID; otherwise, `msgId` is a sequence number.
1508
+ *
1509
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1510
+ * {@link Imap.fetchSingleHeaderAsMimeAsync}.
1511
+ *
1512
+ * @throws Error if the call fails (the message names the reason); the full log is in
1513
+ * {@link Imap.lastErrorText}.
1514
+ */
1515
+ fetchSingleHeaderAsMime(msgId: number, bUID: boolean): string
1516
+
1517
+ /**
1518
+ * Asynchronous form of {@link Imap.fetchSingleHeaderAsMime}: the same call on a native worker
1519
+ * thread,
1520
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1521
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1522
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1523
+ *
1524
+ * The promise rejects with an Error if the call fails; the full log is in
1525
+ * {@link Imap.lastErrorText}.
1526
+ */
1527
+ fetchSingleHeaderAsMimeAsync(msgId: number, bUID: boolean): Promise<string>
1528
+
1529
+ /**
1530
+ * Returns the filename for attachment `attachIndex` represented by `email`. Attachment indexes
1531
+ * are zero-based.
1532
+ *
1533
+ * This method can obtain the filename from `ckx-imap-*` metadata in a header-only email even when
1534
+ * the attachment body has not been downloaded.
1535
+ *
1536
+ * @throws Error if the call fails (the message names the reason); the full log is in
1537
+ * {@link Imap.lastErrorText}.
1538
+ */
1539
+ getMailAttachFilename(email: Email, attachIndex: number): string
1540
+
1541
+ /**
1542
+ * Returns the size in bytes of attachment `attachIndex` represented by `email`. Attachment
1543
+ * indexes are zero-based.
1544
+ *
1545
+ * This method can obtain the size from `ckx-imap-*` metadata in a header-only email even when the
1546
+ * attachment body has not been downloaded.
1547
+ */
1548
+ getMailAttachSize(email: Email, attachIndex: number): number
1549
+
1550
+ /**
1551
+ * Returns the state of the flag named by `flagName` from the IMAP metadata stored in the `Email`
1552
+ * in `email`.
1553
+ *
1554
+ * - `1`: the flag is set.
1555
+ *
1556
+ * - `0`: the flag is not set.
1557
+ *
1558
+ * - `-1`: the required `ckx-imap-*` metadata is missing.
1559
+ *
1560
+ * Standard flags include `\Seen`, `\Answered`, `\Flagged`, `\Draft`, and `\Deleted`. Custom
1561
+ * keywords such as `$label1` or `NonJunk` are also supported.
1562
+ *
1563
+ * Integer-returning methods do not use `LastMethodSuccess` to report this condition; test the
1564
+ * return value directly.
1565
+ */
1566
+ getMailFlag(email: Email, flagName: string): number
1567
+
1568
+ /**
1569
+ * Returns the number of ordinary attachments represented by `email`.
1570
+ *
1571
+ * This method also works with a header-only email or an email fetched while {@link
1572
+ * Imap.autoDownloadAttachments} was `false`. In those cases it reads the `ckx-imap-numAttach`
1573
+ * metadata, even though the `Email` object's downloaded attachment count can be `0`.
1574
+ */
1575
+ getMailNumAttach(email: Email): number
1576
+
1577
+ /**
1578
+ * Returns the complete server-reported size of the `Email` in `email`, in bytes, including
1579
+ * attachment data.
1580
+ *
1581
+ * This value may be available even when only the message headers were downloaded.
1582
+ */
1583
+ getMailSize(email: Email): number
1584
+
1585
+ /**
1586
+ * Sends the IMAP `STATUS` command for the mailbox in `mailbox` and returns the reported values as
1587
+ * XML attributes.
1588
+ *
1589
+ * - `messages`: total number of messages.
1590
+ *
1591
+ * - `recent`: messages having the `\Recent` flag.
1592
+ *
1593
+ * - `uidnext`: expected UID for the next appended message.
1594
+ *
1595
+ * - `uidvalidity`: mailbox UID-validity value.
1596
+ *
1597
+ * - `unseen`: messages without the `\Seen` flag.
1598
+ *
1599
+ * ```
1600
+ * <status messages="240" recent="0" uidnext="3674" uidvalidity="3" unseen="213" />
1601
+ * ```
1602
+ *
1603
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1604
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1605
+ *
1606
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1607
+ * {@link Imap.getMailboxStatusAsync}.
1608
+ *
1609
+ * @throws Error if the call fails (the message names the reason); the full log is in
1610
+ * {@link Imap.lastErrorText}.
1611
+ */
1612
+ getMailboxStatus(mailbox: string): string
1613
+
1614
+ /**
1615
+ * Asynchronous form of {@link Imap.getMailboxStatus}: the same call on a native worker thread,
1616
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1617
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1618
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1619
+ *
1620
+ * The promise rejects with an Error if the call fails; the full log is in
1621
+ * {@link Imap.lastErrorText}.
1622
+ */
1623
+ getMailboxStatusAsync(mailbox: string): Promise<string>
1624
+
1625
+ /**
1626
+ * Sends the IMAP `GETQUOTA` command for the quota root in `quotaRoot` and returns the server
1627
+ * response as JSON.
1628
+ *
1629
+ * The server must advertise the IMAP `QUOTA` capability.
1630
+ *
1631
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1632
+ * {@link Imap.getQuotaAsync}.
1633
+ *
1634
+ * @throws Error if the call fails (the message names the reason); the full log is in
1635
+ * {@link Imap.lastErrorText}.
1636
+ */
1637
+ getQuota(quotaRoot: string): string
1638
+
1639
+ /**
1640
+ * Asynchronous form of {@link Imap.getQuota}: the same call on a native worker thread,
1641
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1642
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1643
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1644
+ *
1645
+ * The promise rejects with an Error if the call fails; the full log is in
1646
+ * {@link Imap.lastErrorText}.
1647
+ */
1648
+ getQuotaAsync(quotaRoot: string): Promise<string>
1649
+
1650
+ /**
1651
+ * Sends the IMAP `GETQUOTAROOT` command for the mailbox in `mailboxName` and returns the server
1652
+ * response as JSON. The server must advertise the IMAP `QUOTA` capability.
1653
+ *
1654
+ * A response can contain both the mailbox-to-root mapping and the quota values:
1655
+ *
1656
+ * ```
1657
+ * {
1658
+ * "QUOTAROOT": {"mailbox":"Inbox","root":"Mailbox"},
1659
+ * "QUOTA": {"root":"Mailbox","resource":"STORAGE","used":9,"max":256000}
1660
+ * }
1661
+ * ```
1662
+ *
1663
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1664
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1665
+ *
1666
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1667
+ * {@link Imap.getQuotaRootAsync}.
1668
+ *
1669
+ * @throws Error if the call fails (the message names the reason); the full log is in
1670
+ * {@link Imap.lastErrorText}.
1671
+ */
1672
+ getQuotaRoot(mailboxName: string): string
1673
+
1674
+ /**
1675
+ * Asynchronous form of {@link Imap.getQuotaRoot}: the same call on a native worker thread,
1676
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1677
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1678
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1679
+ *
1680
+ * The promise rejects with an Error if the call fails; the full log is in
1681
+ * {@link Imap.lastErrorText}.
1682
+ */
1683
+ getQuotaRootAsync(mailboxName: string): Promise<string>
1684
+
1685
+ /**
1686
+ * Tests whether the capability named by `name` appears in the raw capability response in
1687
+ * `capabilityResponse`.
1688
+ *
1689
+ * `capabilityResponse` is typically the string returned by {@link Imap.capability}.
1690
+ * Capability-name matching follows IMAP capability-token semantics.
1691
+ */
1692
+ hasCapability(name: string, capabilityResponse: string): boolean
1693
+
1694
+ /**
1695
+ * Waits up to `timeoutMs` milliseconds for unsolicited mailbox updates after {@link
1696
+ * Imap.idleStart} has entered IMAP IDLE mode.
1697
+ *
1698
+ * `timeoutMs` = `0` performs a strict poll: it checks for already available data and returns
1699
+ * immediately. Positive values wait for up to the requested time, including very large values. If
1700
+ * the connection is lost while waiting, the method fails.
1701
+ *
1702
+ * This method does not send a polling command. It consumes the notifications currently waiting on
1703
+ * the existing connection and returns them as XML. A second call returns only notifications that
1704
+ * arrived after the previous call.
1705
+ *
1706
+ * - `flags`: flags changed for a message.
1707
+ *
1708
+ * - `expunge`: a sequence number was removed.
1709
+ *
1710
+ * - `exists`: the mailbox message count changed.
1711
+ *
1712
+ * - `recent`: the recent-message count changed.
1713
+ *
1714
+ * - `raw`: an unrecognized response line retained for diagnostics.
1715
+ *
1716
+ * ```
1717
+ * <idle><exists>115</exists><recent>1</recent></idle>
1718
+ * ```
1719
+ *
1720
+ * When no update is available, the result is `<idle></idle>`. An `exists` notification does not
1721
+ * automatically change {@link Imap.numMessages}.
1722
+ *
1723
+ * Chilkat does not automatically refresh IDLE. The application should periodically call {@link
1724
+ * Imap.idleDone} and {@link Imap.idleStart}, typically before 29 minutes have elapsed, to prevent
1725
+ * servers with a 30-minute limit from dropping the connection.
1726
+ *
1727
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1728
+ * {@link Imap.idleCheckAsync}.
1729
+ *
1730
+ * @throws Error if the call fails (the message names the reason); the full log is in
1731
+ * {@link Imap.lastErrorText}.
1732
+ */
1733
+ idleCheck(timeoutMs: number): string
1734
+
1735
+ /**
1736
+ * Asynchronous form of {@link Imap.idleCheck}: the same call on a native worker thread,
1737
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1738
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1739
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1740
+ *
1741
+ * The promise rejects with an Error if the call fails; the full log is in
1742
+ * {@link Imap.lastErrorText}.
1743
+ */
1744
+ idleCheckAsync(timeoutMs: number): Promise<string>
1745
+
1746
+ /**
1747
+ * Ends IMAP IDLE mode by sending the protocol's `DONE` continuation.
1748
+ *
1749
+ * The authenticated connection remains open and usable. Calling this method when IDLE is not
1750
+ * active fails.
1751
+ *
1752
+ * Applications maintaining a long-lived IDLE connection should call this method shortly before
1753
+ * the server's IDLE limit, commonly at about 29 minutes, and then immediately call {@link
1754
+ * Imap.idleStart} again.
1755
+ *
1756
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1757
+ * {@link Imap.idleDoneAsync}.
1758
+ *
1759
+ * @throws Error if the call fails (the message names the reason); the full log is in
1760
+ * {@link Imap.lastErrorText}.
1761
+ */
1762
+ idleDone(): void
1763
+
1764
+ /**
1765
+ * Asynchronous form of {@link Imap.idleDone}: the same call on a native worker thread,
1766
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1767
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1768
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1769
+ *
1770
+ * The promise rejects with an Error if the call fails; the full log is in
1771
+ * {@link Imap.lastErrorText}.
1772
+ */
1773
+ idleDoneAsync(): Promise<void>
1774
+
1775
+ /**
1776
+ * Sends the IMAP `IDLE` command and begins listening for unsolicited mailbox updates.
1777
+ *
1778
+ * The session must be connected, authenticated, and have a mailbox selected with {@link
1779
+ * Imap.selectMailbox} or {@link Imap.examineMailbox}. The server must advertise the `IDLE`
1780
+ * capability.
1781
+ *
1782
+ * Calling this method while IDLE is already active fails. While IDLE is active, any other method
1783
+ * that sends an IMAP command also fails; call {@link Imap.idleDone} first.
1784
+ *
1785
+ * Chilkat does not automatically renew IDLE. To avoid common server time limits, the application
1786
+ * should end and restart IDLE before the server timeout, typically about every 29 minutes.
1787
+ *
1788
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1789
+ * {@link Imap.idleStartAsync}.
1790
+ *
1791
+ * @throws Error if the call fails (the message names the reason); the full log is in
1792
+ * {@link Imap.lastErrorText}.
1793
+ */
1794
+ idleStart(): void
1795
+
1796
+ /**
1797
+ * Asynchronous form of {@link Imap.idleStart}: the same call on a native worker thread,
1798
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1799
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1800
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1801
+ *
1802
+ * The promise rejects with an Error if the call fails; the full log is in
1803
+ * {@link Imap.lastErrorText}.
1804
+ */
1805
+ idleStartAsync(): Promise<void>
1806
+
1807
+ /**
1808
+ * Returns the last known connection state without sending data to the IMAP server.
1809
+ *
1810
+ * A `true` result does not prove that an idle connection is still usable. Call {@link Imap.noop}
1811
+ * to send a command and verify that the server responds.
1812
+ */
1813
+ isConnected(): boolean
1814
+
1815
+ /**
1816
+ * Indicates whether this object is in an authenticated IMAP session.
1817
+ *
1818
+ * This reports the last known state and does not send a command to the server.
1819
+ */
1820
+ isLoggedIn(): boolean
1821
+
1822
+ /**
1823
+ * Authenticates the connected IMAP session using the login name in `loginName` and the credential
1824
+ * in `password`.
1825
+ *
1826
+ * Call {@link Imap.connect} first. The mechanism is selected by {@link Imap.authMethod}.
1827
+ *
1828
+ * For `XOAUTH2`, `loginName` is the normal IMAP login name or email address and `password` is the
1829
+ * raw OAuth 2.0 access token without a `Bearer` prefix. A failed XOAUTH2 login leaves the
1830
+ * connection open so the application may correct the credentials and try again.
1831
+ *
1832
+ * Do not call this method again after the session is already authenticated. A repeated login
1833
+ * attempt fails, although the existing authenticated session remains logged in.
1834
+ *
1835
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1836
+ * {@link Imap.loginAsync}.
1837
+ *
1838
+ * @throws Error if the call fails (the message names the reason); the full log is in
1839
+ * {@link Imap.lastErrorText}.
1840
+ */
1841
+ login(loginName: string, password: string): void
1842
+
1843
+ /**
1844
+ * Asynchronous form of {@link Imap.login}: the same call on a native worker thread,
1845
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1846
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1847
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1848
+ *
1849
+ * The promise rejects with an Error if the call fails; the full log is in
1850
+ * {@link Imap.lastErrorText}.
1851
+ */
1852
+ loginAsync(loginName: string, password: string): Promise<void>
1853
+
1854
+ /**
1855
+ * Sends the IMAP `LOGOUT` command and ends the authenticated session.
1856
+ *
1857
+ * The server normally closes the connection as part of a successful logout.
1858
+ *
1859
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1860
+ * {@link Imap.logoutAsync}.
1861
+ *
1862
+ * @throws Error if the call fails (the message names the reason); the full log is in
1863
+ * {@link Imap.lastErrorText}.
1864
+ */
1865
+ logout(): void
1866
+
1867
+ /**
1868
+ * Asynchronous form of {@link Imap.logout}: the same call on a native worker thread,
1869
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1870
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1871
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1872
+ *
1873
+ * The promise rejects with an Error if the call fails; the full log is in
1874
+ * {@link Imap.lastErrorText}.
1875
+ */
1876
+ logoutAsync(): Promise<void>
1877
+
1878
+ /**
1879
+ * Sends the IMAP `NOOP` command and waits for the server response.
1880
+ *
1881
+ * This is useful for verifying that an existing authenticated connection is still responsive and
1882
+ * for receiving unsolicited mailbox-state updates.
1883
+ *
1884
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1885
+ * {@link Imap.noopAsync}.
1886
+ *
1887
+ * @throws Error if the call fails (the message names the reason); the full log is in
1888
+ * {@link Imap.lastErrorText}.
1889
+ */
1890
+ noop(): void
1891
+
1892
+ /**
1893
+ * Asynchronous form of {@link Imap.noop}: the same call on a native worker thread,
1894
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1895
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1896
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1897
+ *
1898
+ * The promise rejects with an Error if the call fails; the full log is in
1899
+ * {@link Imap.lastErrorText}.
1900
+ */
1901
+ noopAsync(): Promise<void>
1902
+
1903
+ /**
1904
+ * Fetches the current IMAP flags for the server message represented by `email` and updates its
1905
+ * `ckx-imap-*` metadata headers.
1906
+ *
1907
+ * Chilkat reads the identifier from `ckx-imap-uid` and checks `ckx-imap-isUid` to determine
1908
+ * whether it is a UID or sequence number. A copied `Email` can be used as long as this metadata
1909
+ * is preserved.
1910
+ *
1911
+ * When `ckx-imap-isUid` is `NO`, the stored sequence number may identify a different message
1912
+ * after an expunge. UID-based emails are preferred for later operations. Methods such as {@link
1913
+ * Imap.getMailFlag} read the refreshed flag metadata.
1914
+ *
1915
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1916
+ * {@link Imap.refetchMailFlagsAsync}.
1917
+ *
1918
+ * @throws Error if the call fails (the message names the reason); the full log is in
1919
+ * {@link Imap.lastErrorText}.
1920
+ */
1921
+ refetchMailFlags(email: Email): void
1922
+
1923
+ /**
1924
+ * Asynchronous form of {@link Imap.refetchMailFlags}: the same call on a native worker thread,
1925
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1926
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1927
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1928
+ *
1929
+ * The promise rejects with an Error if the call fails; the full log is in
1930
+ * {@link Imap.lastErrorText}.
1931
+ */
1932
+ refetchMailFlagsAsync(email: Email): Promise<void>
1933
+
1934
+ /**
1935
+ * Renames the mailbox in `fromMailbox` to the name in `toMailbox`.
1936
+ *
1937
+ * Changing hierarchy components can also move a mailbox within the server's folder tree, for
1938
+ * example from `INBOX.old.project` to `INBOX.archive.project`.
1939
+ *
1940
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1941
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1942
+ *
1943
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1944
+ * {@link Imap.renameMailboxAsync}.
1945
+ *
1946
+ * @throws Error if the call fails (the message names the reason); the full log is in
1947
+ * {@link Imap.lastErrorText}.
1948
+ */
1949
+ renameMailbox(fromMailbox: string, toMailbox: string): void
1950
+
1951
+ /**
1952
+ * Asynchronous form of {@link Imap.renameMailbox}: the same call on a native worker thread,
1953
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1954
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1955
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1956
+ *
1957
+ * The promise rejects with an Error if the call fails; the full log is in
1958
+ * {@link Imap.lastErrorText}.
1959
+ */
1960
+ renameMailboxAsync(fromMailbox: string, toMailbox: string): Promise<void>
1961
+
1962
+ /**
1963
+ * Opens the mailbox in `mailbox` for read-write access.
1964
+ *
1965
+ * A mailbox must be selected before message fetch, search, flag, copy, move, or expunge
1966
+ * operations that act on mailbox contents. Successful selection updates {@link
1967
+ * Imap.selectedMailbox}, {@link Imap.numMessages}, {@link Imap.uidValidity}, and related
1968
+ * mailbox-state properties.
1969
+ *
1970
+ * Use {@link Imap.examineMailbox} when read-only access is required.
1971
+ *
1972
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
1973
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
1974
+ *
1975
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
1976
+ * {@link Imap.selectMailboxAsync}.
1977
+ *
1978
+ * @throws Error if the call fails (the message names the reason); the full log is in
1979
+ * {@link Imap.lastErrorText}.
1980
+ */
1981
+ selectMailbox(mailbox: string): void
1982
+
1983
+ /**
1984
+ * Asynchronous form of {@link Imap.selectMailbox}: the same call on a native worker thread,
1985
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
1986
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
1987
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
1988
+ *
1989
+ * The promise rejects with an Error if the call fails; the full log is in
1990
+ * {@link Imap.lastErrorText}.
1991
+ */
1992
+ selectMailboxAsync(mailbox: string): Promise<void>
1993
+
1994
+ /**
1995
+ * Sends the raw IMAP command text in `cmd` and returns the raw server response.
1996
+ *
1997
+ * Pass the command itself, such as `NOOP`, without an IMAP command tag or trailing CRLF. Chilkat
1998
+ * generates the tag and command line termination.
1999
+ *
2000
+ * Use raw commands only for rare server extensions that are not otherwise exposed by the API,
2001
+ * have an expected one-line response, and do not change Imap object state such as the selected
2002
+ * mailbox, message count, `UidNext`, or `UidValidity`. State-changing raw commands can leave
2003
+ * cached properties inconsistent with the server.
2004
+ *
2005
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2006
+ * {@link Imap.sendRawCommandAsync}.
2007
+ *
2008
+ * @throws Error if the call fails (the message names the reason); the full log is in
2009
+ * {@link Imap.lastErrorText}.
2010
+ */
2011
+ sendRawCommand(cmd: string): string
2012
+
2013
+ /**
2014
+ * Asynchronous form of {@link Imap.sendRawCommand}: the same call on a native worker thread,
2015
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2016
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2017
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2018
+ *
2019
+ * The promise rejects with an Error if the call fails; the full log is in
2020
+ * {@link Imap.lastErrorText}.
2021
+ */
2022
+ sendRawCommandAsync(cmd: string): Promise<string>
2023
+
2024
+ /**
2025
+ * Specifies the `Cert` in `cert` for decrypting S/MIME messages downloaded by this `Imap` object.
2026
+ *
2027
+ * The certificate must have access to its associated private key. Use {@link
2028
+ * Imap.setDecryptCert2} when the private key is supplied separately.
2029
+ *
2030
+ * @throws Error if the call fails (the message names the reason); the full log is in
2031
+ * {@link Imap.lastErrorText}.
2032
+ */
2033
+ setDecryptCert(cert: Cert): void
2034
+
2035
+ /**
2036
+ * Specifies the certificate in `cert` and its separately supplied `PrivateKey` in `key` for
2037
+ * decrypting S/MIME messages.
2038
+ *
2039
+ * Use this when the certificate object does not already provide access to the private key.
2040
+ *
2041
+ * @throws Error if the call fails (the message names the reason); the full log is in
2042
+ * {@link Imap.lastErrorText}.
2043
+ */
2044
+ setDecryptCert2(cert: Cert, key: PrivateKey): void
2045
+
2046
+ /**
2047
+ * Sets or clears one flag on the message identified by `msgId` in the selected mailbox.
2048
+ *
2049
+ * If `bUid` is `true`, `msgId` is a UID; otherwise, it is a sequence number. `flagName` is the
2050
+ * flag name, and `value` is `1` to set the flag or `0` to clear it.
2051
+ *
2052
+ * Standard flags include `\Deleted`, `\Seen`, `\Answered`, `\Flagged`, and `\Draft`.
2053
+ * Server-supported custom keywords may also be used.
2054
+ *
2055
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2056
+ * {@link Imap.setFlagAsync}.
2057
+ *
2058
+ * @throws Error if the call fails (the message names the reason); the full log is in
2059
+ * {@link Imap.lastErrorText}.
2060
+ */
2061
+ setFlag(msgId: number, bUid: boolean, flagName: string, value: number): void
2062
+
2063
+ /**
2064
+ * Asynchronous form of {@link Imap.setFlag}: the same call on a native worker thread,
2065
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2066
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2067
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2068
+ *
2069
+ * The promise rejects with an Error if the call fails; the full log is in
2070
+ * {@link Imap.lastErrorText}.
2071
+ */
2072
+ setFlagAsync(msgId: number, bUid: boolean, flagName: string, value: number): Promise<void>
2073
+
2074
+ /**
2075
+ * Sets or clears one flag for every identifier in the `MessageSet` supplied in `messageSet`.
2076
+ *
2077
+ * `flagName` is the flag name, and `value` is `1` to set it or `0` to clear it.
2078
+ * `MessageSet.HasUids` determines whether the identifiers are UIDs or sequence numbers. Chilkat
2079
+ * sends one IMAP `STORE` or `UID STORE` command containing the complete identifier set.
2080
+ *
2081
+ * IMAP bulk flag changes are not atomic and have no all-or-nothing rollback. Changes applied
2082
+ * before a failure remain applied. For UID-based operations, nonexistent UIDs are silently
2083
+ * ignored as required by IMAP. For sequence-number operations, an out-of-range sequence number
2084
+ * causes the server to return an error; whether valid sequence numbers in the same command were
2085
+ * changed before that error is server-dependent.
2086
+ *
2087
+ * This method changes server state only. It does not update metadata in any previously fetched
2088
+ * `Email` objects.
2089
+ *
2090
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2091
+ * {@link Imap.setFlagsAsync}.
2092
+ *
2093
+ * @throws Error if the call fails (the message names the reason); the full log is in
2094
+ * {@link Imap.lastErrorText}.
2095
+ */
2096
+ setFlags(messageSet: MessageSet, flagName: string, value: number): void
2097
+
2098
+ /**
2099
+ * Asynchronous form of {@link Imap.setFlags}: the same call on a native worker thread,
2100
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2101
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2102
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2103
+ *
2104
+ * The promise rejects with an Error if the call fails; the full log is in
2105
+ * {@link Imap.lastErrorText}.
2106
+ */
2107
+ setFlagsAsync(messageSet: MessageSet, flagName: string, value: number): Promise<void>
2108
+
2109
+ /**
2110
+ * Sets or clears a flag for the server message represented by the `Email` in `email`.
2111
+ *
2112
+ * Chilkat reads the message identifier from `ckx-imap-uid` and uses `ckx-imap-isUid` to determine
2113
+ * whether the value is a UID or sequence number. `flagName` is the flag name, and `value` is `1`
2114
+ * to set it or `0` to clear it. The method fails if the required metadata is absent.
2115
+ *
2116
+ * A copied `Email` can be used as long as the metadata is preserved. When `ckx-imap-isUid` is
2117
+ * `NO`, the stored value is a sequence number and may no longer identify the same message after
2118
+ * an expunge. UID-based emails are preferred for operations performed later or after
2119
+ * reconnecting.
2120
+ *
2121
+ * Setting `\Deleted` marks the message for deletion; call {@link Imap.expunge} to remove it
2122
+ * permanently.
2123
+ *
2124
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2125
+ * {@link Imap.setMailFlagAsync}.
2126
+ *
2127
+ * @throws Error if the call fails (the message names the reason); the full log is in
2128
+ * {@link Imap.lastErrorText}.
2129
+ */
2130
+ setMailFlag(email: Email, flagName: string, value: number): void
2131
+
2132
+ /**
2133
+ * Asynchronous form of {@link Imap.setMailFlag}: the same call on a native worker thread,
2134
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2135
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2136
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2137
+ *
2138
+ * The promise rejects with an Error if the call fails; the full log is in
2139
+ * {@link Imap.lastErrorText}.
2140
+ */
2141
+ setMailFlagAsync(email: Email, flagName: string, value: number): Promise<void>
2142
+
2143
+ /**
2144
+ * Sends the IMAP `SETQUOTA` command for quota root `quotaRoot`.
2145
+ *
2146
+ * `resource` is `STORAGE` to set the combined message-storage limit or `MESSAGE` to set the
2147
+ * message-count limit. For `STORAGE`, `quota` is measured in units of 1024 octets; for example,
2148
+ * `500000` represents approximately 500,000,000 bytes.
2149
+ *
2150
+ * The server must support the IMAP `QUOTA` extension and the requested resource type.
2151
+ *
2152
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2153
+ * {@link Imap.setQuotaAsync}.
2154
+ *
2155
+ * @throws Error if the call fails (the message names the reason); the full log is in
2156
+ * {@link Imap.lastErrorText}.
2157
+ */
2158
+ setQuota(quotaRoot: string, resource: string, quota: number): void
2159
+
2160
+ /**
2161
+ * Asynchronous form of {@link Imap.setQuota}: the same call on a native worker thread,
2162
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2163
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2164
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2165
+ *
2166
+ * The promise rejects with an Error if the call fails; the full log is in
2167
+ * {@link Imap.lastErrorText}.
2168
+ */
2169
+ setQuotaAsync(quotaRoot: string, resource: string, quota: number): Promise<void>
2170
+
2171
+ /**
2172
+ * Specifies the client certificate in `cert` for TLS client-certificate authentication.
2173
+ *
2174
+ * Most IMAP servers do not require a client certificate. When one is required, `cert` must
2175
+ * provide access to the corresponding private key.
2176
+ *
2177
+ * @throws Error if the call fails (the message names the reason); the full log is in
2178
+ * {@link Imap.lastErrorText}.
2179
+ */
2180
+ setSslClientCert(cert: Cert): void
2181
+
2182
+ /**
2183
+ * Specifies a TLS client certificate and private key from PEM data or a PEM file.
2184
+ *
2185
+ * `pemDataOrFilename` may contain the PEM text itself or a local filesystem path to the PEM file;
2186
+ * Chilkat detects which form was supplied. `pemPassword` contains the password when the private
2187
+ * key is encrypted.
2188
+ *
2189
+ * @throws Error if the call fails (the message names the reason); the full log is in
2190
+ * {@link Imap.lastErrorText}.
2191
+ */
2192
+ setSslClientCertPem(pemDataOrFilename: string, pemPassword: string): void
2193
+
2194
+ /**
2195
+ * Specifies a TLS client certificate and private key from a PKCS #12/PFX file.
2196
+ *
2197
+ * `pfxFilename` is the local filesystem path of the `.pfx` or `.p12` file, and `pfxPassword`
2198
+ * contains its password.
2199
+ *
2200
+ * @throws Error if the call fails (the message names the reason); the full log is in
2201
+ * {@link Imap.lastErrorText}.
2202
+ */
2203
+ setSslClientCertPfx(pfxFilename: string, pfxPassword: string): void
2204
+
2205
+ /**
2206
+ * Authenticates the SSH tunnel using the username in `sshLogin` and the `SshKey` private key in
2207
+ * `privateKey`.
2208
+ *
2209
+ * Call {@link Imap.sshOpenTunnel} first. The corresponding public key must already be authorized
2210
+ * for `sshLogin` on the SSH server. After authentication, call {@link Imap.connect} and {@link
2211
+ * Imap.login} for the IMAP server.
2212
+ *
2213
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2214
+ * {@link Imap.sshAuthenticatePkAsync}.
2215
+ *
2216
+ * @throws Error if the call fails (the message names the reason); the full log is in
2217
+ * {@link Imap.lastErrorText}.
2218
+ */
2219
+ sshAuthenticatePk(sshLogin: string, privateKey: SshKey): void
2220
+
2221
+ /**
2222
+ * Asynchronous form of {@link Imap.sshAuthenticatePk}: the same call on a native worker thread,
2223
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2224
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2225
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2226
+ *
2227
+ * The promise rejects with an Error if the call fails; the full log is in
2228
+ * {@link Imap.lastErrorText}.
2229
+ */
2230
+ sshAuthenticatePkAsync(sshLogin: string, privateKey: SshKey): Promise<void>
2231
+
2232
+ /**
2233
+ * Authenticates the SSH tunnel using the username in `sshLogin` and password in `sshPassword`.
2234
+ *
2235
+ * Call {@link Imap.sshOpenTunnel} first. After SSH authentication succeeds, call {@link
2236
+ * Imap.connect} and {@link Imap.login}; the IMAP traffic then flows through the tunnel
2237
+ * automatically.
2238
+ *
2239
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2240
+ * {@link Imap.sshAuthenticatePwAsync}.
2241
+ *
2242
+ * @throws Error if the call fails (the message names the reason); the full log is in
2243
+ * {@link Imap.lastErrorText}.
2244
+ */
2245
+ sshAuthenticatePw(sshLogin: string, sshPassword: string): void
2246
+
2247
+ /**
2248
+ * Asynchronous form of {@link Imap.sshAuthenticatePw}: the same call on a native worker thread,
2249
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2250
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2251
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2252
+ *
2253
+ * The promise rejects with an Error if the call fails; the full log is in
2254
+ * {@link Imap.lastErrorText}.
2255
+ */
2256
+ sshAuthenticatePwAsync(sshLogin: string, sshPassword: string): Promise<void>
2257
+
2258
+ /**
2259
+ * Closes the SSH tunnel opened by {@link Imap.sshOpenTunnel}.
2260
+ *
2261
+ * Any IMAP connection using that tunnel must no longer be used after the tunnel is closed.
2262
+ *
2263
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2264
+ * {@link Imap.sshCloseTunnelAsync}.
2265
+ *
2266
+ * @throws Error if the call fails (the message names the reason); the full log is in
2267
+ * {@link Imap.lastErrorText}.
2268
+ */
2269
+ sshCloseTunnel(): void
2270
+
2271
+ /**
2272
+ * Asynchronous form of {@link Imap.sshCloseTunnel}: the same call on a native worker thread,
2273
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2274
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2275
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2276
+ *
2277
+ * The promise rejects with an Error if the call fails; the full log is in
2278
+ * {@link Imap.lastErrorText}.
2279
+ */
2280
+ sshCloseTunnelAsync(): Promise<void>
2281
+
2282
+ /**
2283
+ * Connects to the SSH server in `sshHostname` on port `sshPort` and prepares an SSH tunnel for
2284
+ * the later IMAP connection.
2285
+ *
2286
+ * Port `22` is the usual SSH port. After this succeeds, authenticate with {@link
2287
+ * Imap.sshAuthenticatePw} or {@link Imap.sshAuthenticatePk}, then call {@link Imap.connect} and
2288
+ * {@link Imap.login} for IMAP.
2289
+ *
2290
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2291
+ * {@link Imap.sshOpenTunnelAsync}.
2292
+ *
2293
+ * @throws Error if the call fails (the message names the reason); the full log is in
2294
+ * {@link Imap.lastErrorText}.
2295
+ */
2296
+ sshOpenTunnel(sshHostname: string, sshPort: number): void
2297
+
2298
+ /**
2299
+ * Asynchronous form of {@link Imap.sshOpenTunnel}: the same call on a native worker thread,
2300
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2301
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2302
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2303
+ *
2304
+ * The promise rejects with an Error if the call fails; the full log is in
2305
+ * {@link Imap.lastErrorText}.
2306
+ */
2307
+ sshOpenTunnelAsync(sshHostname: string, sshPort: number): Promise<void>
2308
+
2309
+ /**
2310
+ * Sets or clears multiple flags on one message in the selected mailbox.
2311
+ *
2312
+ * If `bUid` is `true`, `msgId` is a UID; otherwise, it is a sequence number. `flagNames` is a
2313
+ * space-separated list such as `\Seen \Answered $label1`. `value` is `1` to set all listed flags
2314
+ * or `0` to clear them.
2315
+ *
2316
+ * The operation uses IMAP `STORE` or `UID STORE` and is not transactional. A nonexistent UID can
2317
+ * be silently ignored and the command can still succeed. An invalid sequence number causes
2318
+ * failure. This method changes server state only and does not update metadata in previously
2319
+ * fetched `Email` objects.
2320
+ *
2321
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2322
+ * {@link Imap.storeFlagsAsync}.
2323
+ *
2324
+ * @throws Error if the call fails (the message names the reason); the full log is in
2325
+ * {@link Imap.lastErrorText}.
2326
+ */
2327
+ storeFlags(msgId: number, bUid: boolean, flagNames: string, value: number): void
2328
+
2329
+ /**
2330
+ * Asynchronous form of {@link Imap.storeFlags}: the same call on a native worker thread,
2331
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2332
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2333
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2334
+ *
2335
+ * The promise rejects with an Error if the call fails; the full log is in
2336
+ * {@link Imap.lastErrorText}.
2337
+ */
2338
+ storeFlagsAsync(msgId: number, bUid: boolean, flagNames: string, value: number): Promise<void>
2339
+
2340
+ /**
2341
+ * Subscribes the authenticated IMAP account to the mailbox named by `mailbox`.
2342
+ *
2343
+ * Subscription controls which mailboxes are returned by subscribed-mailbox listing operations; it
2344
+ * does not create the mailbox.
2345
+ *
2346
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
2347
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
2348
+ *
2349
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2350
+ * {@link Imap.subscribeAsync}.
2351
+ *
2352
+ * @throws Error if the call fails (the message names the reason); the full log is in
2353
+ * {@link Imap.lastErrorText}.
2354
+ */
2355
+ subscribe(mailbox: string): void
2356
+
2357
+ /**
2358
+ * Asynchronous form of {@link Imap.subscribe}: the same call on a native worker thread,
2359
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2360
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2361
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2362
+ *
2363
+ * The promise rejects with an Error if the call fails; the full log is in
2364
+ * {@link Imap.lastErrorText}.
2365
+ */
2366
+ subscribeAsync(mailbox: string): Promise<void>
2367
+
2368
+ /**
2369
+ * Removes the subscription to the mailbox named by `mailbox`.
2370
+ *
2371
+ * The mailbox itself and its messages are not deleted.
2372
+ *
2373
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
2374
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
2375
+ *
2376
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2377
+ * {@link Imap.unsubscribeAsync}.
2378
+ *
2379
+ * @throws Error if the call fails (the message names the reason); the full log is in
2380
+ * {@link Imap.lastErrorText}.
2381
+ */
2382
+ unsubscribe(mailbox: string): void
2383
+
2384
+ /**
2385
+ * Asynchronous form of {@link Imap.unsubscribe}: the same call on a native worker thread,
2386
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2387
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2388
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2389
+ *
2390
+ * The promise rejects with an Error if the call fails; the full log is in
2391
+ * {@link Imap.lastErrorText}.
2392
+ */
2393
+ unsubscribeAsync(mailbox: string): Promise<void>
2394
+
2395
+ /**
2396
+ * Associates the `XmlCertVault` in `vault` with this `Imap` object as a source of certificates
2397
+ * and private keys for S/MIME operations.
2398
+ *
2399
+ * Only one vault can be associated at a time. Calling this method again replaces the previously
2400
+ * associated vault.
2401
+ *
2402
+ * @throws Error if the call fails (the message names the reason); the full log is in
2403
+ * {@link Imap.lastErrorText}.
2404
+ */
2405
+ useCertVault(vault: XmlCertVault): void
2406
+
2407
+ /**
2408
+ * Uses an already connected and authenticated `Ssh` object as the transport for subsequent IMAP
2409
+ * connections.
2410
+ *
2411
+ * SSH supports multiple logical channels, so the same SSH connection may be shared by IMAP and
2412
+ * other Chilkat objects. Call this method before {@link Imap.connect}.
2413
+ *
2414
+ * @throws Error if the call fails (the message names the reason); the full log is in
2415
+ * {@link Imap.lastErrorText}.
2416
+ */
2417
+ useSsh(ssh: Ssh): void
2418
+
2419
+ /**
2420
+ * Uses the existing SSH tunnel represented by the `Socket` in `tunnel` for subsequent IMAP
2421
+ * connections.
2422
+ *
2423
+ * This allows a tunnel to be shared with other objects. Call this method before {@link
2424
+ * Imap.connect}.
2425
+ *
2426
+ * @throws Error if the call fails (the message names the reason); the full log is in
2427
+ * {@link Imap.lastErrorText}.
2428
+ */
2429
+ useSshTunnel(tunnel: Socket): void
2430
+
2431
+ /**
2432
+ * Downloads one message's MIME into the `StringBuilder` in `sbMime`.
2433
+ *
2434
+ * If `bUid` is `true`, `msgId` is a UID; otherwise, `msgId` is a sequence number. Ordinary
2435
+ * attachment bodies are included according to {@link Imap.autoDownloadAttachments}. `sbMime` is
2436
+ * cleared before the operation; on failure it remains empty.
2437
+ *
2438
+ * Chilkat interprets the received MIME bytes as UTF-8. MIME using Base64 or quoted-printable
2439
+ * transfer encoding is safe because the encoded bytes are ASCII. Raw `8bit` or `binary` content,
2440
+ * or unencoded text in another charset such as ISO-8859-1 or Shift_JIS, can be misinterpreted or
2441
+ * cause an error. Use {@link Imap.fetchSingleBd} whenever byte-exact MIME is required.
2442
+ *
2443
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2444
+ * {@link Imap.fetchSingleAsMimeSbAsync}.
2445
+ *
2446
+ * @throws Error if the call fails (the message names the reason); the full log is in
2447
+ * {@link Imap.lastErrorText}.
2448
+ */
2449
+ fetchSingleAsMimeSb(msgId: number, bUid: boolean, sbMime: StringBuilder): void
2450
+
2451
+ /**
2452
+ * Asynchronous form of {@link Imap.fetchSingleAsMimeSb}: the same call on a native worker thread,
2453
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2454
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2455
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2456
+ *
2457
+ * The promise rejects with an Error if the call fails; the full log is in
2458
+ * {@link Imap.lastErrorText}.
2459
+ */
2460
+ fetchSingleAsMimeSbAsync(msgId: number, bUid: boolean, sbMime: StringBuilder): Promise<void>
2461
+
2462
+ /**
2463
+ * Obtains text attachment `attachmentIndex` from the `Email` in `email`, decodes it using the
2464
+ * charset in `charset`, and stores the text in the `StringBuilder` in `sb`.
2465
+ *
2466
+ * Attachment indexes are zero-based. `sb` is always cleared first. On success it contains the
2467
+ * complete decoded attachment text; on failure it remains empty. Use this method only for text
2468
+ * attachments.
2469
+ *
2470
+ * See {@link Imap.fetchAttachment} for details about downloading data not already present in
2471
+ * `email`.
2472
+ *
2473
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2474
+ * {@link Imap.fetchAttachmentSbAsync}.
2475
+ *
2476
+ * @throws Error if the call fails (the message names the reason); the full log is in
2477
+ * {@link Imap.lastErrorText}.
2478
+ */
2479
+ fetchAttachmentSb(email: Email, attachmentIndex: number, charset: string, sb: StringBuilder): void
2480
+
2481
+ /**
2482
+ * Asynchronous form of {@link Imap.fetchAttachmentSb}: the same call on a native worker thread,
2483
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2484
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2485
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2486
+ *
2487
+ * The promise rejects with an Error if the call fails; the full log is in
2488
+ * {@link Imap.lastErrorText}.
2489
+ */
2490
+ fetchAttachmentSbAsync(email: Email, attachmentIndex: number, charset: string, sb: StringBuilder): Promise<void>
2491
+
2492
+ /**
2493
+ * Obtains attachment `attachmentIndex` from the `Email` in `email` and stores its bytes in the
2494
+ * `BinData` in `binData`.
2495
+ *
2496
+ * Attachment indexes are zero-based. `binData` is always cleared first. On success it contains
2497
+ * the complete attachment bytes; on failure it remains empty.
2498
+ *
2499
+ * See {@link Imap.fetchAttachment} for details about downloading attachment data not already
2500
+ * present in `email`.
2501
+ *
2502
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2503
+ * {@link Imap.fetchAttachmentBdAsync}.
2504
+ *
2505
+ * @throws Error if the call fails (the message names the reason); the full log is in
2506
+ * {@link Imap.lastErrorText}.
2507
+ */
2508
+ fetchAttachmentBd(email: Email, attachmentIndex: number, binData: BinData): void
2509
+
2510
+ /**
2511
+ * Asynchronous form of {@link Imap.fetchAttachmentBd}: the same call on a native worker thread,
2512
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2513
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2514
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2515
+ *
2516
+ * The promise rejects with an Error if the call fails; the full log is in
2517
+ * {@link Imap.lastErrorText}.
2518
+ */
2519
+ fetchAttachmentBdAsync(email: Email, attachmentIndex: number, binData: BinData): Promise<void>
2520
+
2521
+ /**
2522
+ * Appends the MIME contained in the `StringBuilder` in `sbMime` to mailbox `mailbox` and sets its
2523
+ * initial system flags.
2524
+ *
2525
+ * - `seen` controls `\Seen`.
2526
+ *
2527
+ * - `flagged` controls `\Flagged`.
2528
+ *
2529
+ * - `answered` controls `\Answered`.
2530
+ *
2531
+ * - `draft` controls `\Draft`.
2532
+ *
2533
+ * The explicit flag arguments are used instead of {@link Imap.appendSeen}.
2534
+ *
2535
+ * The MIME text is sent exactly as supplied. Chilkat does not normalize line endings, add a final
2536
+ * CRLF, or re-encode headers or body content. The supplied text must not contain non-text binary
2537
+ * bytes.
2538
+ *
2539
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
2540
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
2541
+ *
2542
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2543
+ * {@link Imap.appendMimeWithFlagsSbAsync}.
2544
+ *
2545
+ * @throws Error if the call fails (the message names the reason); the full log is in
2546
+ * {@link Imap.lastErrorText}.
2547
+ */
2548
+ appendMimeWithFlagsSb(mailbox: string, sbMime: StringBuilder, seen: boolean, flagged: boolean, answered: boolean, draft: boolean): void
2549
+
2550
+ /**
2551
+ * Asynchronous form of {@link Imap.appendMimeWithFlagsSb}: the same call on a native worker
2552
+ * thread,
2553
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2554
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2555
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2556
+ *
2557
+ * The promise rejects with an Error if the call fails; the full log is in
2558
+ * {@link Imap.lastErrorText}.
2559
+ */
2560
+ appendMimeWithFlagsSbAsync(mailbox: string, sbMime: StringBuilder, seen: boolean, flagged: boolean, answered: boolean, draft: boolean): Promise<void>
2561
+
2562
+ /**
2563
+ * Moves the messages identified by the `MessageSet` in `messageSet` from the selected mailbox to
2564
+ * destination mailbox `destFolder` using one IMAP `MOVE` command.
2565
+ *
2566
+ * The server must advertise the `MOVE` capability. If it does not, this method fails and does not
2567
+ * emulate the operation with copy, delete, and expunge commands.
2568
+ *
2569
+ * `MessageSet.HasUids` determines whether `messageSet` contains UIDs or sequence numbers. For
2570
+ * sequence numbers, one invalid value causes complete failure and nothing is moved. For UIDs,
2571
+ * nonexistent values are silently ignored and valid messages are moved.
2572
+ *
2573
+ * Mailbox names may be supplied as normal Unicode strings. Chilkat automatically handles IMAP
2574
+ * modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
2575
+ *
2576
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2577
+ * {@link Imap.moveMessagesAsync}.
2578
+ *
2579
+ * @throws Error if the call fails (the message names the reason); the full log is in
2580
+ * {@link Imap.lastErrorText}.
2581
+ */
2582
+ moveMessages(messageSet: MessageSet, destFolder: string): void
2583
+
2584
+ /**
2585
+ * Asynchronous form of {@link Imap.moveMessages}: the same call on a native worker thread,
2586
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2587
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2588
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2589
+ *
2590
+ * The promise rejects with an Error if the call fails; the full log is in
2591
+ * {@link Imap.lastErrorText}.
2592
+ */
2593
+ moveMessagesAsync(messageSet: MessageSet, destFolder: string): Promise<void>
2594
+
2595
+ /**
2596
+ * Authenticates the connected IMAP session using the `SecureString` login name in `loginName` and
2597
+ * credential in `password`.
2598
+ *
2599
+ * This is the secure-string counterpart of {@link Imap.login}. The authentication mechanism is
2600
+ * selected by {@link Imap.authMethod}.
2601
+ *
2602
+ * For `XOAUTH2`, `loginName` contains the normal login name or email address and `password`
2603
+ * contains the raw access token without a `Bearer` prefix.
2604
+ *
2605
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2606
+ * {@link Imap.loginSecureAsync}.
2607
+ *
2608
+ * @throws Error if the call fails (the message names the reason); the full log is in
2609
+ * {@link Imap.lastErrorText}.
2610
+ */
2611
+ loginSecure(loginName: SecureString, password: SecureString): void
2612
+
2613
+ /**
2614
+ * Asynchronous form of {@link Imap.loginSecure}: the same call on a native worker thread,
2615
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2616
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2617
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2618
+ *
2619
+ * The promise rejects with an Error if the call fails; the full log is in
2620
+ * {@link Imap.lastErrorText}.
2621
+ */
2622
+ loginSecureAsync(loginName: SecureString, password: SecureString): Promise<void>
2623
+
2624
+ /**
2625
+ * Downloads one message's MIME bytes into the `BinData` in `mimeData`.
2626
+ *
2627
+ * If `bUid` is `true`, `msgId` is a UID; otherwise, it is a sequence number. Ordinary attachment
2628
+ * bodies are included according to {@link Imap.autoDownloadAttachments}, and {@link
2629
+ * Imap.peekMode} controls whether the fetch sets `\Seen`.
2630
+ *
2631
+ * `mimeData` is cleared before the operation. On success it contains the downloaded MIME bytes;
2632
+ * on failure it remains empty.
2633
+ *
2634
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2635
+ * {@link Imap.fetchSingleBdAsync}.
2636
+ *
2637
+ * @throws Error if the call fails (the message names the reason); the full log is in
2638
+ * {@link Imap.lastErrorText}.
2639
+ */
2640
+ fetchSingleBd(msgId: number, bUid: boolean, mimeData: BinData): void
2641
+
2642
+ /**
2643
+ * Asynchronous form of {@link Imap.fetchSingleBd}: the same call on a native worker thread,
2644
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2645
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2646
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2647
+ *
2648
+ * The promise rejects with an Error if the call fails; the full log is in
2649
+ * {@link Imap.lastErrorText}.
2650
+ */
2651
+ fetchSingleBdAsync(msgId: number, bUid: boolean, mimeData: BinData): Promise<void>
2652
+
2653
+ /**
2654
+ * Stores the certificate presented by the IMAP server for the current or most recent TLS
2655
+ * connection in the `Cert` object supplied as `cert`.
2656
+ *
2657
+ * This is useful for certificate inspection, diagnostics, or implementing application-specific
2658
+ * trust checks.
2659
+ *
2660
+ * @throws Error if the call fails (the message names the reason); the full log is in
2661
+ * {@link Imap.lastErrorText}.
2662
+ */
2663
+ getServerCert(cert: Cert): void
2664
+
2665
+ /**
2666
+ * Downloads the existing messages identified by the `MessageSet` in `msgSet` and appends them to
2667
+ * the `EmailBundle` in `bundle`. `bundle` is not cleared.
2668
+ *
2669
+ * - `headersOnly` = `true`: download headers only.
2670
+ *
2671
+ * - `headersOnly` = `false`: download full messages, with ordinary attachments controlled by
2672
+ * {@link Imap.autoDownloadAttachments}.
2673
+ *
2674
+ * `MessageSet.HasUids` determines whether `msgSet` contains UIDs or sequence numbers. A
2675
+ * `MessageSet` is a true set, so duplicate identifiers are collapsed before any command is sent.
2676
+ * Identifiers that do not exist are omitted without causing the method to fail. Do not rely on
2677
+ * insertion order; fetched messages are returned in the order supplied by the IMAP server,
2678
+ * normally mailbox order.
2679
+ *
2680
+ * If a network failure occurs after some messages have been downloaded, those messages remain
2681
+ * appended to `bundle`, fetching stops immediately, and the connection must be considered
2682
+ * unusable. Reconnect, authenticate, and reselect the mailbox before retrying.
2683
+ *
2684
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2685
+ * {@link Imap.fetchMsgSetAsync}.
2686
+ *
2687
+ * @throws Error if the call fails (the message names the reason); the full log is in
2688
+ * {@link Imap.lastErrorText}.
2689
+ */
2690
+ fetchMsgSet(headersOnly: boolean, msgSet: MessageSet, bundle: EmailBundle): void
2691
+
2692
+ /**
2693
+ * Asynchronous form of {@link Imap.fetchMsgSet}: the same call on a native worker thread,
2694
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2695
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2696
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2697
+ *
2698
+ * The promise rejects with an Error if the call fails; the full log is in
2699
+ * {@link Imap.lastErrorText}.
2700
+ */
2701
+ fetchMsgSetAsync(headersOnly: boolean, msgSet: MessageSet, bundle: EmailBundle): Promise<void>
2702
+
2703
+ /**
2704
+ * Downloads `count` messages beginning with sequence number `seqnum` and appends them to the
2705
+ * `EmailBundle` in `bundle`. `bundle` is not cleared.
2706
+ *
2707
+ * - `headersOnly` = `true`: download headers only.
2708
+ *
2709
+ * - `headersOnly` = `false`: download full messages, with ordinary attachments controlled by
2710
+ * {@link Imap.autoDownloadAttachments}.
2711
+ *
2712
+ * `seqnum` and `count` must both be greater than `0`. IMAP sequence numbers begin at `1`; passing
2713
+ * `0` for `seqnum`, `0` for `count`, or a negative count fails without changing `bundle`. Only
2714
+ * messages that exist in the requested sequence-number range are appended. Sequence numbers can
2715
+ * change after messages are expunged.
2716
+ *
2717
+ * If a network failure occurs after some messages have been downloaded, those messages remain
2718
+ * appended to `bundle`, fetching stops immediately, and the connection must be considered
2719
+ * unusable.
2720
+ *
2721
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2722
+ * {@link Imap.fetchRangeAsync}.
2723
+ *
2724
+ * @throws Error if the call fails (the message names the reason); the full log is in
2725
+ * {@link Imap.lastErrorText}.
2726
+ */
2727
+ fetchRange(headersOnly: boolean, seqnum: number, count: number, bundle: EmailBundle): void
2728
+
2729
+ /**
2730
+ * Asynchronous form of {@link Imap.fetchRange}: the same call on a native worker thread,
2731
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2732
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2733
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2734
+ *
2735
+ * The promise rejects with an Error if the call fails; the full log is in
2736
+ * {@link Imap.lastErrorText}.
2737
+ */
2738
+ fetchRangeAsync(headersOnly: boolean, seqnum: number, count: number, bundle: EmailBundle): Promise<void>
2739
+
2740
+ /**
2741
+ * Downloads one message or its headers into the `Email` in `email`.
2742
+ *
2743
+ * - `headerOnly` = `true`: download headers only.
2744
+ *
2745
+ * - `headerOnly` = `false`: download the full message.
2746
+ *
2747
+ * - `bUid` = `true`: `msgId` is a UID.
2748
+ *
2749
+ * - `bUid` = `false`: `msgId` is a sequence number.
2750
+ *
2751
+ * On success, `email` is replaced with the fetched email. On failure, `email` remains unchanged.
2752
+ *
2753
+ * A header-only result contains no body or attachment bodies, but includes `ckx-imap-*` metadata
2754
+ * for the message identifier, flags, total size, and attachment information. For a full download,
2755
+ * ordinary attachment bodies are included according to {@link Imap.autoDownloadAttachments}.
2756
+ * {@link Imap.peekMode} controls whether a full fetch sets `\Seen`; a header-only fetch does not
2757
+ * set it.
2758
+ *
2759
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2760
+ * {@link Imap.fetchEmailAsync}.
2761
+ *
2762
+ * @throws Error if the call fails (the message names the reason); the full log is in
2763
+ * {@link Imap.lastErrorText}.
2764
+ */
2765
+ fetchEmail(headerOnly: boolean, msgId: number, bUid: boolean, email: Email): void
2766
+
2767
+ /**
2768
+ * Asynchronous form of {@link Imap.fetchEmail}: the same call on a native worker thread,
2769
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2770
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2771
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2772
+ *
2773
+ * The promise rejects with an Error if the call fails; the full log is in
2774
+ * {@link Imap.lastErrorText}.
2775
+ */
2776
+ fetchEmailAsync(headerOnly: boolean, msgId: number, bUid: boolean, email: Email): Promise<void>
2777
+
2778
+ /**
2779
+ * Lists matching mailboxes and appends them to the `Mailboxes` object in `mboxes`. `mboxes` is
2780
+ * not cleared on success, so repeated calls on the same object can add duplicate entries. If the
2781
+ * method fails, `mboxes` is unchanged.
2782
+ *
2783
+ * - `subscribed` = `true`: list only subscribed mailboxes.
2784
+ *
2785
+ * - `subscribed` = `false`: list all matching mailboxes.
2786
+ *
2787
+ * `reference` is the IMAP reference name, usually an empty string. `mbxPattern` is the mailbox
2788
+ * pattern: `*` matches zero or more hierarchy levels, while `%` matches one hierarchy level.
2789
+ *
2790
+ * Applications may use normal Unicode mailbox names and patterns. Chilkat automatically handles
2791
+ * IMAP modified UTF-7 or UTF-8 mailbox-name encoding as required by the server.
2792
+ *
2793
+ * The method also updates {@link Imap.separatorChar} from the server's response.
2794
+ *
2795
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2796
+ * {@link Imap.mbxListAsync}.
2797
+ *
2798
+ * @throws Error if the call fails (the message names the reason); the full log is in
2799
+ * {@link Imap.lastErrorText}.
2800
+ */
2801
+ mbxList(subscribed: boolean, reference: string, mbxPattern: string, mboxes: Mailboxes): void
2802
+
2803
+ /**
2804
+ * Asynchronous form of {@link Imap.mbxList}: the same call on a native worker thread,
2805
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2806
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2807
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2808
+ *
2809
+ * The promise rejects with an Error if the call fails; the full log is in
2810
+ * {@link Imap.lastErrorText}.
2811
+ */
2812
+ mbxListAsync(subscribed: boolean, reference: string, mbxPattern: string, mboxes: Mailboxes): Promise<void>
2813
+
2814
+ /**
2815
+ * Searches the selected mailbox using the IMAP criteria in `criteria` and stores matching
2816
+ * identifiers in the `MessageSet` in `msgSet`.
2817
+ *
2818
+ * On success, `msgSet` is replaced with the result. If `bUid` is `true`, `msgSet` contains UIDs
2819
+ * and `MessageSet.HasUids` is `true`; otherwise, `msgSet` contains sequence numbers and
2820
+ * `MessageSet.HasUids` is `false`. If the method fails, `msgSet` is unchanged. {@link
2821
+ * Imap.searchCharset} applies when the criteria contain non-ASCII text.
2822
+ *
2823
+ * For the special criterion `new-email`, Chilkat records each `UIDNEXT` received from `SELECT`,
2824
+ * `EXAMINE`, or another IMAP response and uses it as the baseline for detecting later UIDs. If no
2825
+ * `UIDNEXT` is available, Chilkat searches for messages having the `\Recent` flag. Results are
2826
+ * always UIDs regardless of `bUid`, and an empty result clears `msgSet`.
2827
+ *
2828
+ * When {@link Imap.sortCriteria} is nonempty, Chilkat uses IMAP `SORT` if the server supports it.
2829
+ * Otherwise, it automatically falls back to an ordinary `SEARCH`.
2830
+ *
2831
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2832
+ * {@link Imap.queryMbxAsync}.
2833
+ *
2834
+ * @throws Error if the call fails (the message names the reason); the full log is in
2835
+ * {@link Imap.lastErrorText}.
2836
+ */
2837
+ queryMbx(criteria: string, bUid: boolean, msgSet: MessageSet): void
2838
+
2839
+ /**
2840
+ * Asynchronous form of {@link Imap.queryMbx}: the same call on a native worker thread,
2841
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2842
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2843
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2844
+ *
2845
+ * The promise rejects with an Error if the call fails; the full log is in
2846
+ * {@link Imap.lastErrorText}.
2847
+ */
2848
+ queryMbxAsync(criteria: string, bUid: boolean, msgSet: MessageSet): Promise<void>
2849
+
2850
+ /**
2851
+ * Attempts to download `count` full messages beginning with sequence number `seqnum`.
2852
+ *
2853
+ * `failedSet` and `fetchedSet` are cleared before use. `failedSet` receives sequence numbers that
2854
+ * failed or were not yet fetched, `fetchedSet` receives sequence numbers fetched successfully,
2855
+ * and both sets have `MessageSet.HasUids` set to `false`. Downloaded messages are appended to the
2856
+ * `EmailBundle` in `bundle`, which is not cleared.
2857
+ *
2858
+ * Sequence numbers beyond the end of the mailbox are added to `failedSet`. The method can return
2859
+ * success even when `failedSet` is nonempty; success indicates that the requested range was
2860
+ * processed, not that every sequence number existed.
2861
+ *
2862
+ * If a network failure occurs, messages already fetched remain in `bundle`, `fetchedSet` retains
2863
+ * the successfully fetched sequence numbers, and `failedSet` contains the failed and
2864
+ * not-yet-fetched sequence numbers. Processing stops and the connection must be considered
2865
+ * unusable.
2866
+ *
2867
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2868
+ * {@link Imap.fetchChunk2Async}.
2869
+ *
2870
+ * @throws Error if the call fails (the message names the reason); the full log is in
2871
+ * {@link Imap.lastErrorText}.
2872
+ */
2873
+ fetchChunk2(seqnum: number, count: number, failedSet: MessageSet, fetchedSet: MessageSet, bundle: EmailBundle): void
2874
+
2875
+ /**
2876
+ * Asynchronous form of {@link Imap.fetchChunk2}: the same call on a native worker thread,
2877
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2878
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2879
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2880
+ *
2881
+ * The promise rejects with an Error if the call fails; the full log is in
2882
+ * {@link Imap.lastErrorText}.
2883
+ */
2884
+ fetchChunk2Async(seqnum: number, count: number, failedSet: MessageSet, fetchedSet: MessageSet, bundle: EmailBundle): Promise<void>
2885
+
2886
+ /**
2887
+ * Sends the IMAP `THREAD` command for the selected mailbox.
2888
+ *
2889
+ * `threadAlg` is the threading algorithm, commonly `ORDEREDSUBJECT` or `REFERENCES`.
2890
+ * `searchCriteria` contains ordinary IMAP search criteria and is interpreted using {@link
2891
+ * Imap.searchCharset}. If `bUid` is `true`, message identifiers in the result are UIDs;
2892
+ * otherwise, they are sequence numbers.
2893
+ *
2894
+ * On success, `json` is completely replaced with the thread hierarchy. On failure, `json` is
2895
+ * unchanged; there is no partial-success JSON result.
2896
+ *
2897
+ * The returned JSON has a top-level `threads` array. Each element represents one thread, and
2898
+ * nested arrays encode parent/child relationships. For example:
2899
+ *
2900
+ * ```
2901
+ * {"threads":[[1],[2],[3]]}
2902
+ * ```
2903
+ *
2904
+ * The server must advertise the IMAP `THREAD` capability and support the selected algorithm.
2905
+ *
2906
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2907
+ * {@link Imap.queryThreadAsync}.
2908
+ *
2909
+ * @throws Error if the call fails (the message names the reason); the full log is in
2910
+ * {@link Imap.lastErrorText}.
2911
+ */
2912
+ queryThread(threadAlg: string, searchCriteria: string, bUid: boolean, json: JsonObject): void
2913
+
2914
+ /**
2915
+ * Asynchronous form of {@link Imap.queryThread}: the same call on a native worker thread,
2916
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2917
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2918
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2919
+ *
2920
+ * The promise rejects with an Error if the call fails; the full log is in
2921
+ * {@link Imap.lastErrorText}.
2922
+ */
2923
+ queryThreadAsync(threadAlg: string, searchCriteria: string, bUid: boolean, json: JsonObject): Promise<void>
2924
+
2925
+ /**
2926
+ * Adds the PKCS #12/PFX data in the `BinData` in `bd` as a source of certificates and private
2927
+ * keys for S/MIME processing.
2928
+ *
2929
+ * `password` contains the PFX password. Call this method once for each additional source.
2930
+ *
2931
+ * @throws Error if the call fails (the message names the reason); the full log is in
2932
+ * {@link Imap.lastErrorText}.
2933
+ */
2934
+ addPfxSourceBd(bd: BinData, password: string): void
2935
+
2936
+ /**
2937
+ * Sends the raw IMAP command bytes in the `BinData` in `bdCmd` and stores the raw response bytes
2938
+ * in `bdResp`.
2939
+ *
2940
+ * `bdCmd` contains the command without an IMAP command tag or trailing CRLF; Chilkat supplies
2941
+ * both. `bdResp` is cleared and replaced with the response.
2942
+ *
2943
+ * Use raw commands only for rare server extensions that are not otherwise exposed by the API,
2944
+ * have an expected one-line response, and do not change Imap object state such as the selected
2945
+ * mailbox, message count, `UidNext`, or `UidValidity`. State-changing raw commands can leave
2946
+ * cached properties inconsistent with the server.
2947
+ *
2948
+ * This call blocks the JavaScript thread until Chilkat returns; from UI code prefer
2949
+ * {@link Imap.rawCommandBdAsync}.
2950
+ *
2951
+ * @throws Error if the call fails (the message names the reason); the full log is in
2952
+ * {@link Imap.lastErrorText}.
2953
+ */
2954
+ rawCommandBd(bdCmd: BinData, bdResp: BinData): void
2955
+
2956
+ /**
2957
+ * Asynchronous form of {@link Imap.rawCommandBd}: the same call on a native worker thread,
2958
+ * settling on the JavaScript thread. While it is pending, other calls on this object throw,
2959
+ * except {@link Imap.abort} (which cancels it) and the {@link Imap.onPercentDone} /
2960
+ * {@link Imap.onProgressInfo} callbacks, which report progress while it runs.
2961
+ *
2962
+ * The promise rejects with an Error if the call fails; the full log is in
2963
+ * {@link Imap.lastErrorText}.
2964
+ */
2965
+ rawCommandBdAsync(bdCmd: BinData, bdResp: BinData): Promise<void>
2966
+
2967
+ // ---- Events (ReactNativeGen_DESIGN.md §6) ----
2968
+
2969
+ /**
2970
+ * Called with the percent completed (0..100) while a long-running method runs, when Chilkat
2971
+ * can measure progress. Runs on the JavaScript thread, so it is only useful with the
2972
+ * `...Async` methods (during a synchronous call the thread is busy and the events arrive
2973
+ * after it returns). Assign `undefined` to remove.
2974
+ */
2975
+ onPercentDone?: (pctDone: number) => void
2976
+
2977
+ /**
2978
+ * Called with a name/value pair of progress information while a long-running method runs
2979
+ * (what is reported depends on the class and method). Runs on the JavaScript thread; see
2980
+ * {@link Imap.onPercentDone}. Assign `undefined` to remove.
2981
+ */
2982
+ onProgressInfo?: (name: string, value: string) => void
2983
+
2984
+ /**
2985
+ * Requests that the pending `...Async` call on this object stop at its next progress check.
2986
+ * The promise then rejects with Chilkat's abort error. Chilkat checks at least every
2987
+ * `heartbeatMs` milliseconds on the classes that have that property, so set it (e.g. 250)
2988
+ * for a responsive cancel. Harmless when nothing is pending.
2989
+ */
2990
+ abort(): void
2991
+ }