@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,1745 @@
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 { JsonObject } from './JsonObject.nitro'
6
+ import type { PrivateKey } from './PrivateKey.nitro'
7
+ import type { StringBuilder } from './StringBuilder.nitro'
8
+ import type { StringTable } from './StringTable.nitro'
9
+ import type { XmlCertVault } from './XmlCertVault.nitro'
10
+
11
+ /**
12
+ * Build, parse, modify, serialize, secure, and inspect MIME and S/MIME data.
13
+ *
14
+ * `Mime` provides low-level MIME and S/MIME handling for
15
+ * applications that need direct control over MIME structure, headers, body
16
+ * content, encodings, multipart relationships, attachments, and PKCS7/CMS
17
+ * security layers. It can load, create, inspect, modify, serialize, and save
18
+ * MIME messages; build multipart structures; manage headers and content-transfer
19
+ * encodings; extract attachments; convert MIME to and from XML; and sign,
20
+ * verify, encrypt, decrypt, or unwrap S/MIME content.
21
+ *
22
+ * **Create and load MIME**
23
+ *
24
+ * Build MIME content programmatically or load existing MIME from strings,
25
+ * files, byte data, or other application sources.
26
+ *
27
+ * **Headers and body content**
28
+ *
29
+ * Read, add, replace, or remove MIME headers, set body content, and control
30
+ * content types, charsets, and transfer encodings.
31
+ *
32
+ * **Multipart structures**
33
+ *
34
+ * Create and inspect multipart MIME trees such as mixed, alternative,
35
+ * related, signed, encrypted, and nested MIME structures.
36
+ *
37
+ * **Attachments and parts**
38
+ *
39
+ * Add, locate, extract, remove, or inspect MIME parts and attachments,
40
+ * including filenames and encoded body data.
41
+ *
42
+ * **S/MIME security**
43
+ *
44
+ * Sign, verify, encrypt, decrypt, unwrap, and inspect PKCS7/CMS S/MIME
45
+ * layers using certificates and private keys.
46
+ *
47
+ * **Serialization and XML**
48
+ *
49
+ * Emit MIME text, save MIME to files, or convert MIME to and from XML for
50
+ * structured inspection, transformation, or storage.
51
+ *
52
+ * **Common pattern:**
53
+ * Use `Mime` when an application needs low-level control
54
+ * over MIME parts, headers, encodings, multipart layout, or S/MIME security.
55
+ * For ordinary email composition and message-level operations, use
56
+ * `Email`; use `Mime` when you need to work
57
+ * closer to the raw MIME structure.
58
+ *
59
+ * **Initial state:** A new `Mime` object has no headers or child parts. Its string serialization
60
+ * consists only of the blank header/body separator (`CRLF CRLF`) until content is added.
61
+ *
62
+ * **MIME parsing is semantic, not byte-preserving.** Loading and reserializing can unfold headers,
63
+ * normalize parameter quoting and transfer encodings, use CRLF for generated headers and multipart
64
+ * framing, and discard multipart preamble or epilogue text. Use byte-oriented methods such as
65
+ * {@link Mime.loadMimeBd} and {@link Mime.getMimeBd} when arbitrary 8-bit bytes or embedded NUL
66
+ * bytes must be preserved.
67
+ *
68
+ * For an extended overview, see
69
+ * [Mime Class Overview](https://www.chilkatsoft.com/mime_class_overview.asp).
70
+ *
71
+ * Each `Mime` instance owns a native Chilkat object. It is released when the JavaScript object is
72
+ * garbage collected, or immediately by `dispose()`; any use after `dispose()` throws.
73
+ * Create one with `new Mime()`.
74
+ */
75
+ export interface Mime extends HybridObject<{ ios: 'c++', android: 'c++' }> {
76
+ // ---- Properties ----
77
+
78
+ /**
79
+ * Provides HTML-formatted information about the last called method or property. If a method call
80
+ * fails or behaves unexpectedly, check this property for details. Note that information is
81
+ * available regardless of the method call's success.
82
+ *
83
+ * This property is read-only.
84
+ */
85
+ readonly lastErrorHtml: string
86
+
87
+ /**
88
+ * Provides plain text information about the last called method or property. If a method call
89
+ * fails or behaves unexpectedly, check this property for details. Note that information is
90
+ * available regardless of the method call's success.
91
+ *
92
+ * This property is read-only.
93
+ */
94
+ readonly lastErrorText: string
95
+
96
+ /**
97
+ * Provides XML-formatted information about the last called method or property. If a method call
98
+ * fails or behaves unexpectedly, check this property for details. Note that information is
99
+ * available regardless of the method call's success.
100
+ *
101
+ * This property is read-only.
102
+ */
103
+ readonly lastErrorXml: string
104
+
105
+ /**
106
+ * Version of the component/library, such as "10.1.0"
107
+ *
108
+ * This property is read-only.
109
+ */
110
+ readonly version: string
111
+
112
+ /**
113
+ * If set to a file path, this property logs the LastErrorText of each Chilkat method or property
114
+ * call to the specified file. This logging helps identify the context and history of Chilkat
115
+ * calls leading up to any crash or hang, aiding in debugging.
116
+ *
117
+ * Enabling the VerboseLogging property provides more detailed information.
118
+ *
119
+ * This property is mainly used for debugging rare instances where a Chilkat method call causes a
120
+ * hang or crash, which should generally not happen.
121
+ *
122
+ * Possible causes of hangs include:
123
+ *
124
+ * - A timeout property set to 0, indicating an infinite timeout.
125
+ *
126
+ * - A hang occurring within an event callback in the application code.
127
+ *
128
+ * - An internal bug in the Chilkat code causing the hang.
129
+ */
130
+ debugLogFilePath: string
131
+
132
+ /**
133
+ * If set to `true`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may
134
+ * contain more verbose information. The default value is `false`. Verbose logging should only be
135
+ * used for debugging. The potentially large quantity of logged information may adversely affect
136
+ * peformance.
137
+ */
138
+ verboseLogging: boolean
139
+
140
+ /**
141
+ * Indicates the success or failure of the most recent method call: `true` means success, `false`
142
+ * means failure. This property remains unchanged by property setters or getters. This method is
143
+ * present to address challenges in checking for null or Nothing returns in certain programming
144
+ * languages. Note: This property does not apply to methods that return integer values or to
145
+ * boolean-returning methods where the boolean does not indicate success or failure.
146
+ */
147
+ lastMethodSuccess: boolean
148
+
149
+ /**
150
+ * Gets or sets the raw boundary token used by a multipart MIME entity. Do not include surrounding
151
+ * quotation marks.
152
+ *
153
+ * ```
154
+ * Content-Type: multipart/mixed; boundary="example-boundary"
155
+ * ```
156
+ *
157
+ * For this example, `Boundary` is `example-boundary`. Chilkat automatically quotes the parameter
158
+ * when the token contains characters such as spaces or semicolons.
159
+ *
160
+ * **Normally automatic.** Methods such as {@link Mime.newMultipartMixed}, {@link
161
+ * Mime.newMultipartAlternative}, and {@link Mime.newMultipartRelated} generate a nonempty
162
+ * boundary.
163
+ *
164
+ * **Caller-supplied boundaries are not validated.** Chilkat does not detect collisions with body
165
+ * text. An empty value is permitted but produces invalid multipart delimiters, and supplying
166
+ * quotation marks as part of the property value causes those quotation marks to become part of
167
+ * the boundary. The property can also be set on a nonmultipart entity, where it is simply added
168
+ * as a `Content-Type` parameter.
169
+ */
170
+ boundary: string
171
+
172
+ /**
173
+ * Gets or sets the `charset` parameter of the `Content-Type` header field.
174
+ *
175
+ * ```
176
+ * Content-Type: text/plain; charset=utf-8
177
+ * ```
178
+ *
179
+ * Changing this property preserves the media type and other parameters. Setting it when no
180
+ * `Content-Type` exists creates a `Content-Type` field, although the media type remains empty
181
+ * until {@link Mime.contentType} is set.
182
+ *
183
+ * **Charset versus transfer encoding.** The charset identifies how text characters are
184
+ * represented as bytes. {@link Mime.encoding} controls the MIME transport representation of those
185
+ * bytes.
186
+ *
187
+ * **Empty-string behavior.** Setting `Charset` to an empty string does not remove the parameter.
188
+ * It selects the platform default ANSI charset; on Windows this is typically `windows-1252`.
189
+ */
190
+ charset: string
191
+
192
+ /**
193
+ * Gets or sets the MIME media type of the current part, excluding all parameters. Supply a value
194
+ * such as `text/plain`, `text/html`, `application/pdf`, or `multipart/mixed`; do not include
195
+ * `charset`, `boundary`, or other parameters in this property.
196
+ *
197
+ * Changing the media type preserves the existing `charset` and unrecognized parameters, but may
198
+ * remove parameters that are specific to the previous media type, such as `format=flowed`.
199
+ * Setting an empty string leaves an empty media type and can therefore produce an invalid-looking
200
+ * header if other parameters remain.
201
+ *
202
+ * **Classification methods use this value.** Methods such as {@link Mime.isText}, {@link
203
+ * Mime.isImage}, and {@link Mime.isMultipart} classify the media type stored here. Parameters
204
+ * must be set through their dedicated properties or header attributes, not appended to
205
+ * `ContentType`.
206
+ */
207
+ contentType: string
208
+
209
+ /**
210
+ * Returns the current local date and time formatted as an Internet message date, including the
211
+ * numeric UTC offset. For example:
212
+ *
213
+ * ```
214
+ * Fri, 21 Nov 1997 09:55:06 -0600
215
+ * ```
216
+ *
217
+ * This property is read-only.
218
+ */
219
+ readonly currentDateTime: string
220
+
221
+ /**
222
+ * Gets or sets the disposition value from the `Content-Disposition` header field, excluding
223
+ * parameters such as `filename`.
224
+ *
225
+ * ```
226
+ * Content-Disposition: attachment; filename="report.pdf"
227
+ * ```
228
+ *
229
+ * Changing this property preserves an existing `filename` parameter. Typical values are
230
+ * `attachment` and `inline`.
231
+ */
232
+ disposition: string
233
+
234
+ /**
235
+ * Gets or sets the value of the `Content-Transfer-Encoding` header field for the current part.
236
+ * Common values include `base64`, `quoted-printable`, `7bit`, `8bit`, and `binary`.
237
+ *
238
+ * **Transfer encoding is not compression.** It determines how the body bytes are represented in
239
+ * serialized MIME. {@link Mime.getBodyEncoded} returns the transfer-encoded form, while {@link
240
+ * Mime.getBodyBd}, `GetBodyBinary`, and {@link Mime.saveBody} return or save decoded bytes.
241
+ */
242
+ encoding: string
243
+
244
+ /**
245
+ * Gets or sets the `filename` parameter of the `Content-Disposition` header field. The value is a
246
+ * receiver-facing filename, not a local filesystem path.
247
+ *
248
+ * Changing this property preserves the disposition value but removes other `Content-Disposition`
249
+ * parameters such as `size`. Setting an empty string removes the `filename` parameter.
250
+ *
251
+ * **International filenames.** When setting a non-ASCII filename, Chilkat emits an RFC 2047
252
+ * encoded-word in `filename=`. When reading a header containing both `filename=` and
253
+ * `filename*=`, this property returns `filename=`. Use {@link Mime.getHeaderFieldAttribute} to
254
+ * retrieve the raw `filename*` value.
255
+ */
256
+ filename: string
257
+
258
+ /**
259
+ * Gets or sets the `micalg` parameter of a `multipart/signed` `Content-Type` header field.
260
+ *
261
+ * ```
262
+ * Content-Type: multipart/signed;
263
+ * protocol="application/pkcs7-signature";
264
+ * micalg=sha-256;
265
+ * boundary="example-boundary"
266
+ * ```
267
+ *
268
+ * The parameter advertises the message-digest algorithm used by the detached signature.
269
+ *
270
+ * **SigningHashAlg is authoritative.** When a detached signature is created, {@link
271
+ * Mime.signingHashAlg} selects the digest and Chilkat replaces any conflicting `Micalg` value
272
+ * with the corresponding MIME token, such as `sha-1`, `sha-256`, `sha-384`, or `sha-512`. Setting
273
+ * `Micalg` alone does not select the cryptographic digest.
274
+ */
275
+ micalg: string
276
+
277
+ /**
278
+ * Gets or sets the `name` parameter of the `Content-Type` header field. For attachments, {@link
279
+ * Mime.filename} is generally the primary receiver-facing name.
280
+ *
281
+ * Setting a non-ASCII value causes Chilkat to emit an RFC 2047 encoded-word in the `name=`
282
+ * parameter. Setting this property when no media type exists creates a `Content-Type` field with
283
+ * an empty media type.
284
+ */
285
+ nameParam: string
286
+
287
+ /**
288
+ * Returns the number of header-field occurrences in the current part. Duplicate names count
289
+ * separately and retain their order. Valid indexes range from `0` through `NumHeaderFields - 1`
290
+ * for use with {@link Mime.getHeaderFieldName} and {@link Mime.getHeaderFieldValue}.
291
+ *
292
+ * During MIME parsing, duplicate ordinary fields are retained. Duplicate `Content-Type` fields
293
+ * are collapsed, with the last value taking effect.
294
+ *
295
+ * This property is read-only.
296
+ */
297
+ readonly numHeaderFields: number
298
+
299
+ /**
300
+ * Returns the number of direct child parts. It does not include deeper descendants. Iterate from
301
+ * `0` through `NumParts - 1` and call {@link Mime.partAt} to traverse the tree.
302
+ *
303
+ * The object returned by `PartAt` provides live access to the stored child. Modifying that
304
+ * returned object modifies the parent MIME tree.
305
+ *
306
+ * This property is read-only.
307
+ */
308
+ readonly numParts: number
309
+
310
+ /**
311
+ * Returns the number of signer certificates currently recorded by the most recent S/MIME signing,
312
+ * signature-verification, or security-unwrapping operation. A new object returns `0`. A
313
+ * single-certificate signing method records `1`; {@link Mime.verify} and {@link
314
+ * Mime.unwrapSecurity} replace the count with the signer results from that operation.
315
+ *
316
+ * A failed call to {@link Mime.verify} clears the signer results and sets this property to `0`.
317
+ * Use {@link Mime.lastSignerCert} with a zero-based index to retrieve a recorded signer
318
+ * certificate.
319
+ *
320
+ * This property is read-only.
321
+ */
322
+ readonly numSignerCerts: number
323
+
324
+ /**
325
+ * Gets or sets the symmetric content-encryption algorithm used when creating CMS/PKCS #7
326
+ * encrypted MIME. Supported input values are `aes`, `aes-gcm`, `des`, `3des`, and `rc2`. The
327
+ * default is `aes`. The `aes-gcm` option was added in version 10.0.0.
328
+ *
329
+ * The getter returns normalized names: after setting `aes-gcm` it returns `aes`, and after
330
+ * setting `3des` it returns `des`. The generated CMS data nevertheless uses AES-GCM or 3DES-CBC
331
+ * respectively.
332
+ *
333
+ * **Hybrid encryption.** S/MIME encrypts the MIME content with a symmetric content-encryption
334
+ * key. The recipient certificate then protects that content-encryption key. This property selects
335
+ * the symmetric algorithm; {@link Mime.pkcs7KeyLength} selects its key length.
336
+ */
337
+ pkcs7CryptAlg: string
338
+
339
+ /**
340
+ * Gets or sets the content-encryption key length, in bits, used when creating CMS/PKCS #7
341
+ * encrypted MIME. The default is `128`.
342
+ *
343
+ * Because this property may be set before {@link Mime.pkcs7CryptAlg}, the setter accepts the
344
+ * union of key lengths that can be valid for any supported symmetric algorithm: `40`, `56`, `64`,
345
+ * `128`, `192`, and `256`. A value outside this set is rejected and the previous value is
346
+ * retained.
347
+ *
348
+ * AlgorithmNormal key lengths
349
+ *
350
+ * | `aes` or `aes-gcm` | | `128`, `192`, or `256` |
351
+ *
352
+ * | `3des` | | `192` |
353
+ *
354
+ * | `des` | | `40` |
355
+ *
356
+ * | `rc2` | | `40`, `56`, `64`, or `128` |
357
+ *
358
+ * **Set both properties before encrypting.** The property setter rejects only lengths that cannot
359
+ * be valid for any supported algorithm. Applications should select the algorithm and its
360
+ * appropriate key length before calling {@link Mime.encrypt} or {@link Mime.encryptN}.
361
+ */
362
+ pkcs7KeyLength: number
363
+
364
+ /**
365
+ * Gets or sets the `protocol` parameter of the `Content-Type` header field. This parameter is
366
+ * commonly used by `multipart/signed` to identify the media type of the detached signature part.
367
+ *
368
+ * ```
369
+ * Content-Type: multipart/signed;
370
+ * protocol="application/pkcs7-signature";
371
+ * micalg=sha-256;
372
+ * boundary="example-boundary"
373
+ * ```
374
+ *
375
+ * For this example, `Protocol` is `application/pkcs7-signature`.
376
+ */
377
+ protocol: string
378
+
379
+ /**
380
+ * Gets or sets the message-digest algorithm used when creating CMS/PKCS #7 signatures. The
381
+ * default is `sha256`. Supported values are `sha1`, `sha256`, `sha384`, `sha512`, `md5`, and
382
+ * `md2`. Names are case-insensitive and are returned in lowercase.
383
+ *
384
+ * An empty or unrecognized value selects `sha1`. This property controls signature creation only
385
+ * and is not changed when a signature is verified. After verification, call {@link
386
+ * Mime.getLastJsonData} to inspect the digest algorithm found in the signed data.
387
+ *
388
+ * **Security guidance.** Use a SHA-2 algorithm such as `sha256` unless interoperability with a
389
+ * legacy system requires otherwise. MD2, MD5, and SHA-1 are retained for compatibility with older
390
+ * signed messages. Because invalid input falls back to SHA-1, applications should set this
391
+ * property to a known supported value.
392
+ */
393
+ signingHashAlg: string
394
+
395
+ /**
396
+ * Controls whether {@link Mime.unwrapSecurity} adds informative header fields describing the
397
+ * security layers removed. The default is `true`.
398
+ *
399
+ * HeaderExample value
400
+ *
401
+ * | `X-NumPartsSigned` | | `1` |
402
+ *
403
+ * | `X-SignaturesValid` | | `yes` |
404
+ *
405
+ * | `X-NumPartsEncrypted` | | `1` |
406
+ *
407
+ * | `X-Decrypted` | | `yes` |
408
+ *
409
+ * Set to `false` when the application requires the unwrapped MIME without these additional status
410
+ * headers.
411
+ */
412
+ unwrapExtras: boolean
413
+
414
+ /**
415
+ * Controls whether Chilkat uses the conventional multipart preamble text `This is a multi-part
416
+ * message in MIME format.` when serializing a multipart entity. The default is `false`. The
417
+ * preamble is meaningful only when the multipart has content and is ignored by MIME-aware
418
+ * readers.
419
+ */
420
+ useMmDescription: boolean
421
+
422
+ /**
423
+ * Controls whether newly created S/MIME media types use the historical `x-pkcs7` names.
424
+ *
425
+ * ValueGenerated media types
426
+ *
427
+ * | `true` (default) | | `application/x-pkcs7-mime` and `application/x-pkcs7-signature` |
428
+ *
429
+ * | `false` | | `application/pkcs7-mime` and `application/pkcs7-signature` |
430
+ *
431
+ * For detached signatures, the selected signature media type is used both for the outer
432
+ * `protocol` parameter and for the signature part. For opaque signed or encrypted MIME, it
433
+ * controls the `application/...pkcs7-mime` content type.
434
+ *
435
+ * **Interoperability.** The `x-` forms are widely encountered in existing S/MIME messages.
436
+ * Chilkat recognizes both naming forms.
437
+ */
438
+ useXPkcs7: boolean
439
+
440
+ /**
441
+ * Gets or sets the RSA signature scheme used when creating CMS/PKCS #7 signed MIME. The default
442
+ * and normalized PKCS #1 v1.5 value is `PKCS1-V1_5`. Set the property to `RSASSA-PSS` or `pss` to
443
+ * use RSASSA-PSS; the getter returns `RSASSA-PSS`.
444
+ *
445
+ * An empty or unrecognized value selects `PKCS1-V1_5`. This setting applies only when the signing
446
+ * private key is RSA. It does not select the signature scheme for EC or DSA keys. The property
447
+ * controls signature creation and is not updated during verification; use {@link
448
+ * Mime.getLastJsonData} to inspect a verified signature.
449
+ */
450
+ signingAlg: string
451
+
452
+ /**
453
+ * Gets or sets the hash algorithm used by RSAES-OAEP when encrypting the CMS content-encryption
454
+ * key. Supported values are `sha1`, `sha256`, `sha384`, and `sha512`. The default is `sha256`. An
455
+ * empty or unrecognized value leaves the current valid setting unchanged.
456
+ *
457
+ * This property is used only when {@link Mime.oaepPadding} is `true`. It is independent of {@link
458
+ * Mime.oaepMgfHash}; for example, OAEP may use SHA-256 while MGF1 uses SHA-1.
459
+ */
460
+ oaepHash: string
461
+
462
+ /**
463
+ * Selects the RSA key-transport padding used when creating encrypted MIME. The default is
464
+ * `false`, which uses RSAES-PKCS1-v1_5. Set to `true` to use RSAES-OAEP.
465
+ *
466
+ * **Scope.** This setting protects the symmetric content-encryption key for an RSA recipient. It
467
+ * does not change the symmetric content algorithm selected by {@link Mime.pkcs7CryptAlg}.
468
+ */
469
+ oaepPadding: boolean
470
+
471
+ /**
472
+ * Gets or sets the hash algorithm used by the MGF1 mask generation function within RSAES-OAEP.
473
+ * Supported values are `sha1`, `sha256`, `sha384`, and `sha512`. The default is `sha256`. An
474
+ * empty or unrecognized value leaves the current valid setting unchanged.
475
+ *
476
+ * This property is used only when {@link Mime.oaepPadding} is `true` and is independent of {@link
477
+ * Mime.oaepHash}.
478
+ */
479
+ oaepMgfHash: string
480
+
481
+ /**
482
+ * Gets or sets a JSON string containing advanced CMS/PKCS #7 signing and validation options. The
483
+ * default is an empty string, which selects normal behavior. A valid empty JSON object may also
484
+ * be supplied as `{}`.
485
+ *
486
+ * Unknown JSON members are retained but ignored. Malformed JSON is normalized to `{}`. This
487
+ * property is intended for specialized interoperability requirements; applications should leave
488
+ * it empty unless a documented option is specifically needed.
489
+ */
490
+ cmsOptions: string
491
+
492
+ /**
493
+ * Gets or sets a semicolon-delimited or implementation-specific option string used for uncommon
494
+ * compatibility requirements. The default is the empty string, and normal applications should
495
+ * leave it empty. Options placed here may be version-specific and should be used only when
496
+ * directed by Chilkat documentation or support.
497
+ */
498
+ uncommonOptions: string
499
+
500
+ /**
501
+ * Returns the number of recipient or decryption certificates currently recorded by the most
502
+ * recent S/MIME encryption, decryption, or security-unwrapping operation. A new object returns
503
+ * `0`. A successful single-recipient {@link Mime.encrypt} records `1`, and successful decryption
504
+ * records the certificate whose private key was used.
505
+ *
506
+ * Use {@link Mime.lastDecryptCert} with a zero-based index to retrieve a recorded certificate.
507
+ * This is a result count; it is not the number of PFX sources or decryption certificates
508
+ * configured on the object.
509
+ *
510
+ * This property is read-only.
511
+ */
512
+ readonly numDecryptCerts: number
513
+
514
+ // ---- Methods ----
515
+
516
+ /**
517
+ * Computes the byte length of the current entity's serialized MIME body and adds or updates its
518
+ * `Content-Length` header. The count is based on the transfer-encoded serialized body, not the
519
+ * decoded payload.
520
+ *
521
+ * For a multipart entity, the count includes boundary delimiter lines, child headers, child
522
+ * bodies, and the closing boundary. Only the current entity's header is updated; child parts do
523
+ * not receive `Content-Length` fields. Repeated calls recompute the value and leave a single
524
+ * header occurrence.
525
+ */
526
+ addContentLength(): void
527
+
528
+ /**
529
+ * Adds `cert` to the internal collection of certificates available for S/MIME decryption. The
530
+ * certificate must have access to its corresponding private key. Call this method once for each
531
+ * candidate certificate.
532
+ *
533
+ * The collection is searched by {@link Mime.decrypt} and {@link Mime.unwrapSecurity}. Other ways
534
+ * to provide decryption credentials include {@link Mime.addPfxSourceFile}, {@link
535
+ * Mime.addPfxSourceBd}, and {@link Mime.useCertVault}.
536
+ *
537
+ * @throws Error if the call fails (the message names the reason); the full log is in
538
+ * {@link Mime.lastErrorText}.
539
+ */
540
+ addDecryptCert(cert: Cert): void
541
+
542
+ /**
543
+ * Creates an S/MIME detached signature using `cert`. The certificate itself must have access to
544
+ * its private key. On success, the current object becomes a `multipart/signed` entity with two
545
+ * direct children:
546
+ *
547
+ * PartContents
548
+ *
549
+ * | First | | The original MIME entity being signed. |
550
+ *
551
+ * | Second | | The CMS/PKCS #7 signature data, normally named `smime.p7s`. |
552
+ *
553
+ * {@link Mime.signingHashAlg} selects the digest and generated `micalg` parameter. For RSA keys,
554
+ * {@link Mime.signingAlg} selects PKCS #1 v1.5 or RSASSA-PSS. {@link Mime.useXPkcs7} selects the
555
+ * signature media-type spelling.
556
+ *
557
+ * **Private-key requirement.** Adding a matching PFX source does not supply a missing signing key
558
+ * for a public-only `Cert`. Load the private key into `cert` or use {@link
559
+ * Mime.addDetachedSignaturePk}.
560
+ *
561
+ * **Signing an already signed MIME.** Calling this method again creates a new outer
562
+ * `multipart/signed` layer. It does not add another signer to the existing CMS signer-information
563
+ * set.
564
+ *
565
+ * @throws Error if the call fails (the message names the reason); the full log is in
566
+ * {@link Mime.lastErrorText}.
567
+ */
568
+ addDetachedSignature(cert: Cert): void
569
+
570
+ /**
571
+ * Creates the same detached `multipart/signed` structure as {@link Mime.addDetachedSignature}.
572
+ * `cert` is the signing certificate and must have access to its private key.
573
+ *
574
+ * `transferHeaderFields`Header placement
575
+ *
576
+ * | `false` | | Existing message header fields, such as `Subject` and `From`, remain on the first
577
+ * signed content part. The new outer multipart has no copies of those fields. |
578
+ *
579
+ * | `true` | | Existing message header fields are moved to the new outer `multipart/signed`
580
+ * entity and removed from the first content part. |
581
+ *
582
+ * @throws Error if the call fails (the message names the reason); the full log is in
583
+ * {@link Mime.lastErrorText}.
584
+ */
585
+ addDetachedSignature2(cert: Cert, transferHeaderFields: boolean): void
586
+
587
+ /**
588
+ * Creates a detached S/MIME signature using `cert` as the signer certificate and `privateKey` as
589
+ * its associated private key. Use this method when the certificate and private key are supplied
590
+ * separately.
591
+ *
592
+ * On success, the current object becomes the same two-part `multipart/signed` structure described
593
+ * by {@link Mime.addDetachedSignature}. {@link Mime.signingHashAlg}, {@link Mime.signingAlg}, and
594
+ * {@link Mime.useXPkcs7} control the generated signature.
595
+ *
596
+ * @throws Error if the call fails (the message names the reason); the full log is in
597
+ * {@link Mime.lastErrorText}.
598
+ */
599
+ addDetachedSignaturePk(cert: Cert, privateKey: PrivateKey): void
600
+
601
+ /**
602
+ * Creates a detached S/MIME signature using the certificate in `cert` and the corresponding
603
+ * private key in `privateKey`. `transferHeaderFields` controls placement of the existing message
604
+ * header fields:
605
+ *
606
+ * `transferHeaderFields`Header placement
607
+ *
608
+ * | `false` | | Headers remain on the first signed content part. |
609
+ *
610
+ * | `true` | | Headers are moved to the new outer `multipart/signed` entity and removed from the
611
+ * first content part. |
612
+ *
613
+ * This is the separate-private-key counterpart of {@link Mime.addDetachedSignature2}.
614
+ *
615
+ * @throws Error if the call fails (the message names the reason); the full log is in
616
+ * {@link Mime.lastErrorText}.
617
+ */
618
+ addDetachedSignaturePk2(cert: Cert, privateKey: PrivateKey, transferHeaderFields: boolean): void
619
+
620
+ /**
621
+ * Adds `cert` to the internal recipient-certificate list used by {@link Mime.encryptN}. Call this
622
+ * method once for each intended recipient. Encryption uses the public key in each certificate, so
623
+ * recipient private keys are not required at encryption time.
624
+ *
625
+ * Call {@link Mime.clearEncryptCerts} to empty the list.
626
+ *
627
+ * @throws Error if the call fails (the message names the reason); the full log is in
628
+ * {@link Mime.lastErrorText}.
629
+ */
630
+ addEncryptCert(cert: Cert): void
631
+
632
+ /**
633
+ * Appends a new header field named by `name` with the value in `value`. Existing fields having
634
+ * the same case-insensitive name are preserved. An empty `value` creates a legal empty-valued
635
+ * field.
636
+ *
637
+ * Chilkat converts spaces in a header name to hyphens, removes embedded CR and LF characters from
638
+ * the value to prevent header injection, and folds long values when serializing.
639
+ *
640
+ * **Replacing versus appending.** Use {@link Mime.setHeaderField} to remove all existing
641
+ * occurrences and set one replacement value.
642
+ *
643
+ * @throws Error if the call fails (the message names the reason); the full log is in
644
+ * {@link Mime.lastErrorText}.
645
+ */
646
+ addHeaderField(name: string, value: string): void
647
+
648
+ /**
649
+ * Adds the PFX/P12 file at the local filesystem path in `pfxFilePath` to the internal collection
650
+ * of credential sources used by later S/MIME decryption operations. `password` is the password
651
+ * protecting the file. Call the method once for each PFX source that should be searched.
652
+ *
653
+ * The source remains configured across subsequent `LoadMime` calls and repeated decryptions.
654
+ * Chilkat continues searching after a PFX that does not contain the required recipient key.
655
+ *
656
+ * **Not a signing-key fallback.** Adding a PFX source does not make a public-only certificate
657
+ * usable by the signing methods. The signing certificate itself must have its private key, or the
658
+ * private key must be supplied explicitly by a method whose name ends in `Pk`.
659
+ *
660
+ * @throws Error if the call fails (the message names the reason); the full log is in
661
+ * {@link Mime.lastErrorText}.
662
+ */
663
+ addPfxSourceFile(pfxFilePath: string, password: string): void
664
+
665
+ /**
666
+ * Appends a copy of `mime` as the last direct child. Chilkat does not retain a reference to
667
+ * `mime`, so later changes to `mime` do not affect the appended part. The same source object may
668
+ * be appended more than once.
669
+ *
670
+ * If the current object is not multipart, it is converted to `multipart/mixed`. The complete
671
+ * original entity, including its existing headers and body, becomes part 0; the copy of `mime`
672
+ * becomes part 1. The new outer entity contains its generated multipart `Content-Type`.
673
+ *
674
+ * **Editing an appended child.** Retrieve it with {@link Mime.partAt}. The object returned by
675
+ * `PartAt` is a live child, unlike the copied input to this method.
676
+ *
677
+ * @throws Error if the call fails (the message names the reason); the full log is in
678
+ * {@link Mime.lastErrorText}.
679
+ */
680
+ appendPart(mime: Mime): void
681
+
682
+ /**
683
+ * Reads the local file at `filename`, creates an attachment part, and appends it.
684
+ * Filename-extension matching is case-insensitive.
685
+ *
686
+ * File kindGenerated headers
687
+ *
688
+ * | `.txt` | | `text/plain; charset=windows-1252; format=flowed`, `7bit`, attachment filename and
689
+ * name |
690
+ *
691
+ * | Known binary type, such as `.PNG` | | Inferred media type such as `image/png`, `base64`,
692
+ * attachment filename and name |
693
+ *
694
+ * | Unknown extension | | `application/octet-stream`, `base64`, attachment filename and name |
695
+ *
696
+ * If the current object is not multipart, the same conversion described by {@link
697
+ * Mime.appendPart} occurs. Calling this method on a new empty object therefore creates an empty
698
+ * part 0 and the file attachment as part 1.
699
+ *
700
+ * @throws Error if the call fails (the message names the reason); the full log is in
701
+ * {@link Mime.lastErrorText}.
702
+ */
703
+ appendPartFromFile(filename: string): void
704
+
705
+ /**
706
+ * Parses the current part's decoded body as ASN.1 DER and returns an XML representation of the
707
+ * ASN.1 structure. This is primarily useful for inspecting CMS/PKCS #7 bodies such as
708
+ * `application/pkcs7-mime` or `application/x-pkcs7-mime`.
709
+ *
710
+ * ```
711
+ * Content-Type: application/pkcs7-mime; smime-type=signed-data
712
+ * Content-Transfer-Encoding: base64
713
+ *
714
+ * MII...
715
+ * ```
716
+ *
717
+ * **Diagnostic conversion.** The returned XML exposes ASN.1 tags, object identifiers, and values
718
+ * for inspection. It is not the MIME-to-XML representation returned by {@link Mime.getXml}.
719
+ *
720
+ * @throws Error if the call fails (the message names the reason); the full log is in
721
+ * {@link Mime.lastErrorText}.
722
+ */
723
+ asnBodyToXml(): string
724
+
725
+ /**
726
+ * Clears the internal recipient-certificate list populated by {@link Mime.addEncryptCert}. A
727
+ * subsequent call to {@link Mime.encryptN} requires certificates to be added again.
728
+ */
729
+ clearEncryptCerts(): void
730
+
731
+ /**
732
+ * Returns `true` if the currently visible MIME tree contains a CMS/PKCS #7 encrypted entity. Both
733
+ * `application/pkcs7-mime` and `application/x-pkcs7-mime` forms are recognized.
734
+ *
735
+ * **Encrypted layers hide their contents.** This method examines the MIME structure as it
736
+ * currently exists. It cannot report signed or encrypted entities inside ciphertext until the
737
+ * enclosing encrypted layer is successfully removed.
738
+ */
739
+ containsEncryptedParts(): boolean
740
+
741
+ /**
742
+ * Returns `true` if the currently visible MIME tree contains a complete detached or opaque
743
+ * CMS/PKCS #7 signed entity. A standalone `application/pkcs7-signature` or
744
+ * `application/x-pkcs7-signature` leaf part is not by itself classified as a signed message.
745
+ *
746
+ * **Encrypted layers hide their contents.** A signature nested inside encrypted data is not
747
+ * visible until the encrypted layer is removed. After a signature is successfully verified and
748
+ * unwrapped, this method returns `false` because the signed wrapper no longer exists.
749
+ */
750
+ containsSignedParts(): boolean
751
+
752
+ /**
753
+ * Recursively converts every part whose `Content-Transfer-Encoding` is `8bit` or `binary` to
754
+ * `base64`. Both the child object's `Encoding` property and the serialized header are updated.
755
+ * Parts using `7bit` or another encoding are unchanged.
756
+ */
757
+ convert8Bit(): void
758
+
759
+ /**
760
+ * Wraps the current entity in a new outer `multipart/alternative` entity. The original entity
761
+ * becomes the first and initially only child.
762
+ *
763
+ * The new outer entity retains message-level and custom headers such as `MIME-Version`, `Date`,
764
+ * `Subject`, `From`, `To`, `Content-ID`, `Content-Location`, and custom fields. The original
765
+ * `Content-Type`, `Content-Transfer-Encoding`, `Content-Disposition`, and body move to the first
766
+ * child. An existing `charset` parameter is retained on the new multipart `Content-Type`. Calling
767
+ * the method again wraps the existing multipart in another multipart layer; the operation is not
768
+ * idempotent.
769
+ *
770
+ * **Alternative ordering.** Additional representations can be appended with {@link
771
+ * Mime.appendPart}. Conventionally, alternatives are ordered from least rich to most rich, such
772
+ * as `text/plain` followed by `text/html`.
773
+ *
774
+ * @throws Error if the call fails (the message names the reason); the full log is in
775
+ * {@link Mime.lastErrorText}.
776
+ */
777
+ convertToMultipartAlt(): void
778
+
779
+ /**
780
+ * Wraps the current entity in a new outer `multipart/mixed` entity. The original entity becomes
781
+ * the first and initially only child.
782
+ *
783
+ * The new outer entity retains message-level and custom headers such as `MIME-Version`, `Date`,
784
+ * `Subject`, `From`, `To`, `Content-ID`, `Content-Location`, and custom fields. The original
785
+ * `Content-Type`, `Content-Transfer-Encoding`, `Content-Disposition`, and body move to the first
786
+ * child. An existing `charset` parameter is retained on the new multipart `Content-Type`. Calling
787
+ * the method again wraps the existing multipart in another multipart layer; the operation is not
788
+ * idempotent.
789
+ *
790
+ * @throws Error if the call fails (the message names the reason); the full log is in
791
+ * {@link Mime.lastErrorText}.
792
+ */
793
+ convertToMultipartMixed(): void
794
+
795
+ /**
796
+ * Creates an opaque (attached) S/MIME signature using `cert`. The certificate itself must have
797
+ * access to its private key. On success, the current MIME entity is replaced by CMS/PKCS #7
798
+ * `signed-data` containing both the original MIME bytes and the signature.
799
+ *
800
+ * The result has no MIME child parts, uses Base64 content-transfer encoding, and has an
801
+ * `application/x-pkcs7-mime` or `application/pkcs7-mime` content type according to {@link
802
+ * Mime.useXPkcs7}. {@link Mime.signingHashAlg} and, for RSA keys, {@link Mime.signingAlg} select
803
+ * the signing algorithms.
804
+ *
805
+ * This differs from {@link Mime.addDetachedSignature}, which creates a visible `multipart/signed`
806
+ * wrapper with a separate signature part.
807
+ *
808
+ * @throws Error if the call fails (the message names the reason); the full log is in
809
+ * {@link Mime.lastErrorText}.
810
+ */
811
+ convertToSigned(cert: Cert): void
812
+
813
+ /**
814
+ * Creates an opaque (attached) S/MIME signature using `cert` as the signer certificate and
815
+ * `privateKey` as its associated private key. Use this method when the certificate and private
816
+ * key are supplied separately.
817
+ *
818
+ * The resulting CMS/PKCS #7 `signed-data` contains the original MIME entity and its signature,
819
+ * has no MIME child parts, and uses Base64 content-transfer encoding. For a detached
820
+ * `multipart/signed` result, use {@link Mime.addDetachedSignaturePk}.
821
+ *
822
+ * @throws Error if the call fails (the message names the reason); the full log is in
823
+ * {@link Mime.lastErrorText}.
824
+ */
825
+ convertToSignedPk(cert: Cert, privateKey: PrivateKey): void
826
+
827
+ /**
828
+ * Decrypts the current CMS/PKCS #7 encrypted MIME entity and replaces it with the recovered MIME
829
+ * content. Chilkat identifies the intended recipient from the CMS recipient information and
830
+ * searches configured credential sources for the matching certificate and private key.
831
+ *
832
+ * SourceHow it is supplied
833
+ *
834
+ * | Explicit certificate | | {@link Mime.addDecryptCert} or {@link Mime.decryptUsingCert} |
835
+ *
836
+ * | PFX/P12 | | {@link Mime.addPfxSourceFile}, {@link Mime.addPfxSourceBd}, or a
837
+ * `DecryptUsingPfx...` method |
838
+ *
839
+ * | Certificate vault | | {@link Mime.useCertVault} |
840
+ *
841
+ * | Platform certificate store | | Windows certificate stores and the macOS Keychain are searched
842
+ * automatically where supported |
843
+ *
844
+ * On success, {@link Mime.numDecryptCerts} and {@link Mime.lastDecryptCert} identify the
845
+ * certificate used, and {@link Mime.getLastJsonData} reports the content-encryption algorithm and
846
+ * key size. On failure, the encrypted MIME remains unchanged.
847
+ *
848
+ * **Serialization after decryption.** The recovered MIME content is restored semantically, but
849
+ * its generated serialization is not guaranteed to be byte-for-byte identical to the bytes that
850
+ * existed before encryption.
851
+ *
852
+ * @throws Error if the call fails (the message names the reason); the full log is in
853
+ * {@link Mime.lastErrorText}.
854
+ */
855
+ decrypt(): void
856
+
857
+ /**
858
+ * Decrypts the current CMS/PKCS #7 encrypted MIME entity using the certificate in `cert` and its
859
+ * associated private key in `privateKey`. On success, the encrypted wrapper is replaced by the
860
+ * recovered MIME content, the decryption certificate is available through {@link
861
+ * Mime.lastDecryptCert}, and operation details are available through {@link
862
+ * Mime.getLastJsonData}. On failure, the encrypted MIME remains unchanged.
863
+ *
864
+ * Use this method when the certificate and private key are stored separately. Use {@link
865
+ * Mime.decrypt} when Chilkat should locate the credential from configured sources.
866
+ *
867
+ * @throws Error if the call fails (the message names the reason); the full log is in
868
+ * {@link Mime.lastErrorText}.
869
+ */
870
+ decrypt2(cert: Cert, privateKey: PrivateKey): void
871
+
872
+ /**
873
+ * Decrypts the current CMS/PKCS #7 encrypted MIME entity using `cert`. The certificate must have
874
+ * access to its corresponding private key; a public-only certificate is insufficient. On success,
875
+ * the encrypted wrapper is replaced by the recovered MIME content and `cert` is recorded in the
876
+ * decryption results. On failure, the encrypted MIME remains unchanged.
877
+ *
878
+ * @throws Error if the call fails (the message names the reason); the full log is in
879
+ * {@link Mime.lastErrorText}.
880
+ */
881
+ decryptUsingCert(cert: Cert): void
882
+
883
+ /**
884
+ * Decrypts the current CMS/PKCS #7 encrypted MIME entity using certificates and private keys from
885
+ * the PFX/P12 file at the local filesystem path in `pfxFilePath`. `pfxPassword` is the password
886
+ * protecting the file.
887
+ *
888
+ * On success, the encrypted wrapper is replaced by the recovered MIME content and the matching
889
+ * certificate is available through {@link Mime.lastDecryptCert}. {@link Mime.getLastJsonData} may
890
+ * include both CMS decryption details and information produced while reading the PFX. On failure,
891
+ * the encrypted MIME remains unchanged.
892
+ *
893
+ * @throws Error if the call fails (the message names the reason); the full log is in
894
+ * {@link Mime.lastErrorText}.
895
+ */
896
+ decryptUsingPfxFile(pfxFilePath: string, pfxPassword: string): void
897
+
898
+ /**
899
+ * Encrypts the current MIME entity for the recipient certificate in `cert` and replaces it with
900
+ * CMS/PKCS #7 encrypted S/MIME. `cert` must be RSA-based. Only the recipient's public key is
901
+ * needed to encrypt; the matching private key is required later to decrypt.
902
+ *
903
+ * The default content encryption is AES-128-CBC. {@link Mime.pkcs7CryptAlg} and {@link
904
+ * Mime.pkcs7KeyLength} select the symmetric algorithm and key length. By default,
905
+ * RSAES-PKCS1-v1_5 transports the content-encryption key; set {@link Mime.oaepPadding} to `true`
906
+ * to use RSAES-OAEP, with {@link Mime.oaepHash} and {@link Mime.oaepMgfHash} controlling its
907
+ * parameters.
908
+ *
909
+ * The generated MIME uses Base64 transfer encoding, the filename `smime.p7m`, and an
910
+ * `application/x-pkcs7-mime` or `application/pkcs7-mime` content type according to {@link
911
+ * Mime.useXPkcs7}. After encryption, {@link Mime.getDecryptCertInfo} can report the recipient
912
+ * identifiers stored in the CMS data. If encryption fails, the original MIME remains unchanged.
913
+ *
914
+ * @throws Error if the call fails (the message names the reason); the full log is in
915
+ * {@link Mime.lastErrorText}.
916
+ */
917
+ encrypt(cert: Cert): void
918
+
919
+ /**
920
+ * Encrypts the current MIME entity for every certificate previously added with {@link
921
+ * Mime.addEncryptCert}. Each recipient receives independently protected access to the same
922
+ * encrypted content.
923
+ *
924
+ * Add one certificate per intended recipient, call this method, and use {@link
925
+ * Mime.clearEncryptCerts} before preparing a different recipient set.
926
+ *
927
+ * @throws Error if the call fails (the message names the reason); the full log is in
928
+ * {@link Mime.lastErrorText}.
929
+ */
930
+ encryptN(): void
931
+
932
+ /**
933
+ * Returns the decoded body as text. Chilkat first decodes the `Content-Transfer-Encoding` and
934
+ * then interprets text according to the declared charset.
935
+ *
936
+ * **Use a byte-oriented getter for binary content.** A string result cannot reliably represent
937
+ * arbitrary binary bytes or embedded NUL bytes. Use {@link Mime.getBodyBd} or `GetBodyBinary` for
938
+ * binary payloads.
939
+ *
940
+ * @throws Error if the call fails (the message names the reason); the full log is in
941
+ * {@link Mime.lastErrorText}.
942
+ */
943
+ getBodyDecoded(): string
944
+
945
+ /**
946
+ * Returns the current part's transfer-encoded body text without decoding Base64 or
947
+ * quoted-printable. The returned value is Chilkat's normalized serialization of the body, not
948
+ * necessarily the exact text that appeared in the loaded MIME. For example, Base64 padding and
949
+ * line wrapping or quoted-printable spelling may be regenerated.
950
+ *
951
+ * @throws Error if the call fails (the message names the reason); the full log is in
952
+ * {@link Mime.lastErrorText}.
953
+ */
954
+ getBodyEncoded(): string
955
+
956
+ /**
957
+ * Returns the complete serialized body of the current MIME entity. For multipart MIME, this
958
+ * includes boundary delimiters, each child part's headers and body, and the closing boundary. The
959
+ * current entity's own header fields are not included.
960
+ *
961
+ * Use {@link Mime.getBodyDecoded} when the decoded payload of a single part is needed.
962
+ *
963
+ * @throws Error if the call fails (the message names the reason); the full log is in
964
+ * {@link Mime.lastErrorText}.
965
+ */
966
+ getEntireBody(): string
967
+
968
+ /**
969
+ * Returns the complete serialized header section of the current MIME entity. The body and any
970
+ * multipart child content are not included.
971
+ *
972
+ * @throws Error if the call fails (the message names the reason); the full log is in
973
+ * {@link Mime.lastErrorText}.
974
+ */
975
+ getEntireHead(): string
976
+
977
+ /**
978
+ * Returns the value of the first header field whose name matches `fieldName` case-insensitively.
979
+ * Duplicate later occurrences are not combined. Returns null when no matching field exists.
980
+ *
981
+ * @throws Error if the call fails (the message names the reason); the full log is in
982
+ * {@link Mime.lastErrorText}.
983
+ */
984
+ getHeaderField(fieldName: string): string
985
+
986
+ /**
987
+ * Returns an attribute value parsed from the first header field named by `name`. Both the header
988
+ * name and `attrName` attribute name are matched case-insensitively. Surrounding quotation marks
989
+ * are removed, and semicolons inside a quoted value are handled as part of the value.
990
+ *
991
+ * Extended parameters such as `filename*=utf-8''r%C3%A9sum%C3%A9.txt` are returned in their raw
992
+ * encoded form; this method does not percent-decode or apply the declared charset. Returns null
993
+ * when the field or attribute is absent.
994
+ *
995
+ * @throws Error if the call fails (the message names the reason); the full log is in
996
+ * {@link Mime.lastErrorText}.
997
+ */
998
+ getHeaderFieldAttribute(name: string, attrName: string): string
999
+
1000
+ /**
1001
+ * Returns the name of the header-field occurrence at zero-based `index`. Header order and
1002
+ * original casing are preserved for ordinary loaded headers. Use {@link Mime.numHeaderFields} to
1003
+ * determine the valid range.
1004
+ *
1005
+ * @throws Error if the call fails (the message names the reason); the full log is in
1006
+ * {@link Mime.lastErrorText}.
1007
+ */
1008
+ getHeaderFieldName(index: number): string
1009
+
1010
+ /**
1011
+ * Returns the unfolded value of the header-field occurrence at zero-based `index`. Continuation
1012
+ * lines are combined into a single value. Use {@link Mime.numHeaderFields} to determine the valid
1013
+ * range.
1014
+ *
1015
+ * @throws Error if the call fails (the message names the reason); the full log is in
1016
+ * {@link Mime.lastErrorText}.
1017
+ */
1018
+ getHeaderFieldValue(index: number): string
1019
+
1020
+ /**
1021
+ * Serializes and returns the complete MIME entity, including headers, body, multipart boundaries,
1022
+ * and all descendants.
1023
+ *
1024
+ * **Serialization is normalized.** The result is semantically equivalent MIME, not a
1025
+ * byte-for-byte copy of loaded input. Chilkat can unfold headers, normalize parameter quoting and
1026
+ * transfer encodings, discard multipart preamble and epilogue text, and generate CRLF for headers
1027
+ * and multipart framing. Existing body line endings may not always be rewritten.
1028
+ *
1029
+ * @throws Error if the call fails (the message names the reason); the full log is in
1030
+ * {@link Mime.lastErrorText}.
1031
+ */
1032
+ getMime(): string
1033
+
1034
+ /**
1035
+ * Returns the CMS `signingTime` signed attribute for the signer at zero-based `index`, formatted
1036
+ * as an RFC 822-style date string in GMT. For example:
1037
+ *
1038
+ * ```
1039
+ * Wed, 29 Jul 2026 14:32:58 GMT
1040
+ * ```
1041
+ *
1042
+ * Call {@link Mime.hasSignatureSigningTime} first because the attribute is optional. Use {@link
1043
+ * Mime.numSignerCerts} for the signer count.
1044
+ *
1045
+ * **Signing time is not a trusted timestamp.** The CMS `signingTime` value is supplied by the
1046
+ * signer. It is different from a timestamp token issued and signed by a trusted timestamp
1047
+ * authority.
1048
+ *
1049
+ * @throws Error if the call fails (the message names the reason); the full log is in
1050
+ * {@link Mime.lastErrorText}.
1051
+ */
1052
+ getSignatureSigningTimeStr(index: number): string
1053
+
1054
+ /**
1055
+ * Converts the MIME tree to Chilkat's XML representation and returns it as a string. Header names
1056
+ * become XML element names, structured header parameters become XML attributes, duplicate headers
1057
+ * become repeated elements, multipart children are nested in `subpart` elements, and binary
1058
+ * bodies are represented in an encoded textual form.
1059
+ *
1060
+ * **XML round-tripping is semantic.** Loading this XML reconstructs an equivalent MIME tree, but
1061
+ * it is not byte-preserving and header names are normalized to lowercase.
1062
+ *
1063
+ * @throws Error if the call fails (the message names the reason); the full log is in
1064
+ * {@link Mime.lastErrorText}.
1065
+ */
1066
+ getXml(): string
1067
+
1068
+ /**
1069
+ * Returns `true` if the signer at zero-based `index` has a CMS `signingTime` signed attribute.
1070
+ * Use {@link Mime.numSignerCerts} for the signer count and {@link
1071
+ * Mime.getSignatureSigningTimeStr} to retrieve the value.
1072
+ */
1073
+ hasSignatureSigningTime(index: number): boolean
1074
+
1075
+ /**
1076
+ * Returns `true` when {@link Mime.contentType} begins with `application/`. It returns `false` for
1077
+ * an empty or malformed media type.
1078
+ */
1079
+ isApplicationData(): boolean
1080
+
1081
+ /**
1082
+ * Returns `true` when the current part's disposition value is `attachment`, matched
1083
+ * case-insensitively. Parameters such as `filename` do not affect the test. An `inline` part
1084
+ * remains non-attachment even when it has a filename.
1085
+ */
1086
+ isAttachment(): boolean
1087
+
1088
+ /**
1089
+ * Returns `true` when {@link Mime.contentType} begins with `audio/`.
1090
+ */
1091
+ isAudio(): boolean
1092
+
1093
+ /**
1094
+ * Returns `true` when the current MIME entity is a CMS/PKCS #7 encrypted S/MIME wrapper. Both
1095
+ * `application/pkcs7-mime` and `application/x-pkcs7-mime` forms are recognized. To search the
1096
+ * visible MIME tree rather than only the current entity, use {@link Mime.containsEncryptedParts}.
1097
+ */
1098
+ isEncrypted(): boolean
1099
+
1100
+ /**
1101
+ * Returns `true` when {@link Mime.contentType} is `text/html`. The `ContentType` property must
1102
+ * contain only the media type; set parameters such as `charset` separately.
1103
+ */
1104
+ isHtml(): boolean
1105
+
1106
+ /**
1107
+ * Returns `true` when {@link Mime.contentType} begins with `image/`, including values such as
1108
+ * `image/svg+xml`.
1109
+ */
1110
+ isImage(): boolean
1111
+
1112
+ /**
1113
+ * Returns `true` when {@link Mime.contentType} begins with `multipart/`.
1114
+ */
1115
+ isMultipart(): boolean
1116
+
1117
+ /**
1118
+ * Returns `true` when {@link Mime.contentType} is `multipart/alternative`.
1119
+ */
1120
+ isMultipartAlternative(): boolean
1121
+
1122
+ /**
1123
+ * Returns `true` when {@link Mime.contentType} is `multipart/mixed`.
1124
+ */
1125
+ isMultipartMixed(): boolean
1126
+
1127
+ /**
1128
+ * Returns `true` when {@link Mime.contentType} is `multipart/related`.
1129
+ */
1130
+ isMultipartRelated(): boolean
1131
+
1132
+ /**
1133
+ * Returns `true` when {@link Mime.contentType} is `text/plain`.
1134
+ */
1135
+ isPlainText(): boolean
1136
+
1137
+ /**
1138
+ * Returns `true` when the current MIME entity is a complete CMS/PKCS #7 signed S/MIME wrapper,
1139
+ * including detached `multipart/signed` and opaque signed-data forms. A standalone
1140
+ * `application/pkcs7-signature` or `application/x-pkcs7-signature` leaf part is not by itself
1141
+ * classified as a signed message. To search the visible MIME tree, use {@link
1142
+ * Mime.containsSignedParts}.
1143
+ */
1144
+ isSigned(): boolean
1145
+
1146
+ /**
1147
+ * Returns `true` when {@link Mime.contentType} begins with `text/`.
1148
+ */
1149
+ isText(): boolean
1150
+
1151
+ /**
1152
+ * Returns `true` when {@link Mime.contentType} begins with `video/`.
1153
+ */
1154
+ isVideo(): boolean
1155
+
1156
+ /**
1157
+ * Returns `true` only for `text/xml` or `application/xml`. It does not classify structured-suffix
1158
+ * media types such as `application/soap+xml`, `application/atom+xml`, or `image/svg+xml` as XML.
1159
+ */
1160
+ isXml(): boolean
1161
+
1162
+ /**
1163
+ * Parses the complete MIME text in `mimeMsg` and replaces the current object's headers, body, and
1164
+ * multipart tree. A successful call always replaces the previous MIME.
1165
+ *
1166
+ * If no blank line separates headers from the body, lines that appear header-like are parsed as
1167
+ * headers and the body is empty. Data after the header/body separator belongs to the body.
1168
+ *
1169
+ * **Permissive parser and normalized output.** Chilkat accepts many imperfect messages. Observed
1170
+ * behavior includes ignoring malformed header lines and leading non-header text, using the last
1171
+ * duplicate `Content-Type`, repairing a missing multipart closing delimiter during serialization,
1172
+ * treating unmatched boundary-like text as an ordinary body, and tolerating malformed Base64 or
1173
+ * quoted-printable. LF-only and CR-only input are accepted; generated headers and multipart
1174
+ * framing use CRLF. Loading and reserializing is therefore not guaranteed to reproduce the
1175
+ * original bytes, and multipart preamble and epilogue text are not retained.
1176
+ *
1177
+ * **Text input is not a raw-byte container.** Use {@link Mime.loadMimeBd} or `LoadMimeBytes` for
1178
+ * arbitrary 8-bit bytes or embedded NUL bytes.
1179
+ *
1180
+ * @throws Error if the call fails (the message names the reason); the full log is in
1181
+ * {@link Mime.lastErrorText}.
1182
+ */
1183
+ loadMime(mimeMsg: string): void
1184
+
1185
+ /**
1186
+ * Reads and parses the complete MIME entity from the local file at `fileName`. A successful call
1187
+ * replaces the current MIME. If the file cannot be opened, the method returns `false` and
1188
+ * preserves the existing object unchanged.
1189
+ *
1190
+ * Parsing tolerance and serialization normalization are the same as {@link Mime.loadMime}.
1191
+ *
1192
+ * @throws Error if the call fails (the message names the reason); the full log is in
1193
+ * {@link Mime.lastErrorText}.
1194
+ */
1195
+ loadMimeFile(fileName: string): void
1196
+
1197
+ /**
1198
+ * Reconstructs a MIME tree from Chilkat's MIME XML in `xml`. On success, the current object is
1199
+ * replaced. If the XML is invalid, the method returns `false` and preserves the existing MIME
1200
+ * unchanged.
1201
+ *
1202
+ * The reconstructed MIME is semantically equivalent but not byte-identical to the MIME that
1203
+ * produced the XML. Header names are normalized to lowercase.
1204
+ *
1205
+ * @throws Error if the call fails (the message names the reason); the full log is in
1206
+ * {@link Mime.lastErrorText}.
1207
+ */
1208
+ loadXml(xml: string): void
1209
+
1210
+ /**
1211
+ * Reads Chilkat MIME XML from the local file at `fileName` and reconstructs the MIME tree. On
1212
+ * success, the current object is replaced. If the file cannot be opened or the XML is invalid,
1213
+ * the method returns `false` and preserves the existing MIME unchanged. Header names are
1214
+ * normalized to lowercase during reconstruction.
1215
+ *
1216
+ * @throws Error if the call fails (the message names the reason); the full log is in
1217
+ * {@link Mime.lastErrorText}.
1218
+ */
1219
+ loadXmlFile(fileName: string): void
1220
+
1221
+ /**
1222
+ * Clears the current object and initializes it as `message/rfc822`. Its body is a serialized copy
1223
+ * of `mimeObject` at the time of the call. Later modifications to `mimeObject` do not change the
1224
+ * embedded message.
1225
+ *
1226
+ * @throws Error if the call fails (the message names the reason); the full log is in
1227
+ * {@link Mime.lastErrorText}.
1228
+ */
1229
+ newMessageRfc822(mimeObject: Mime): void
1230
+
1231
+ /**
1232
+ * Initializes an empty `multipart/alternative` entity. Clears all existing headers, body content,
1233
+ * and child parts. The new object contains only a multipart `Content-Type` with an automatically
1234
+ * generated boundary, has zero parts, and does not automatically add `MIME-Version`.
1235
+ *
1236
+ * @throws Error if the call fails (the message names the reason); the full log is in
1237
+ * {@link Mime.lastErrorText}.
1238
+ */
1239
+ newMultipartAlternative(): void
1240
+
1241
+ /**
1242
+ * Initializes an empty `multipart/mixed` entity. Clears all existing headers, body content, and
1243
+ * child parts. The new object contains only a multipart `Content-Type` with an automatically
1244
+ * generated boundary, has zero parts, and does not automatically add `MIME-Version`.
1245
+ *
1246
+ * @throws Error if the call fails (the message names the reason); the full log is in
1247
+ * {@link Mime.lastErrorText}.
1248
+ */
1249
+ newMultipartMixed(): void
1250
+
1251
+ /**
1252
+ * Initializes an empty `multipart/related` entity. Clears all existing headers, body content, and
1253
+ * child parts. The new object contains only a multipart `Content-Type` with an automatically
1254
+ * generated boundary, has zero parts, and does not automatically add `MIME-Version`.
1255
+ *
1256
+ * @throws Error if the call fails (the message names the reason); the full log is in
1257
+ * {@link Mime.lastErrorText}.
1258
+ */
1259
+ newMultipartRelated(): void
1260
+
1261
+ /**
1262
+ * Removes fields whose name matches `fieldName` case-insensitively. If `bAllOccurrences` is
1263
+ * `false`, only the first matching occurrence is removed. If `bAllOccurrences` is `true`, all
1264
+ * matching occurrences are removed. Remaining fields retain their relative order.
1265
+ */
1266
+ removeHeaderField(fieldName: string, bAllOccurrences: boolean): void
1267
+
1268
+ /**
1269
+ * Removes the direct child at zero-based `index`. Valid indexes range from `0` through {@link
1270
+ * Mime.numParts} `- 1`. An out-of-range index returns `false` and leaves the tree unchanged.
1271
+ *
1272
+ * @throws Error if the call fails (the message names the reason); the full log is in
1273
+ * {@link Mime.lastErrorText}.
1274
+ */
1275
+ removePart(index: number): void
1276
+
1277
+ /**
1278
+ * Writes the decoded body bytes of the current part to the local path in `filename`. Base64 and
1279
+ * quoted-printable are decoded. MIME headers and multipart framing are not written.
1280
+ *
1281
+ * **File behavior.** Existing files are overwritten. Parent directories are not created, and
1282
+ * passing a directory as the destination fails. On Windows, an existing read-only file is
1283
+ * replaced and the read-only attribute is removed.
1284
+ *
1285
+ * @throws Error if the call fails (the message names the reason); the full log is in
1286
+ * {@link Mime.lastErrorText}.
1287
+ */
1288
+ saveBody(filename: string): void
1289
+
1290
+ /**
1291
+ * Serializes the complete MIME entity and writes it to the local path in `filename`, including
1292
+ * headers, body, multipart boundaries, and all descendants.
1293
+ *
1294
+ * **Serialization is normalized.** The result is semantically equivalent MIME, not a
1295
+ * byte-for-byte copy of loaded input. Chilkat can unfold headers, normalize parameter quoting and
1296
+ * transfer encodings, discard multipart preamble and epilogue text, and generate CRLF for headers
1297
+ * and multipart framing. Existing body line endings may not always be rewritten.
1298
+ *
1299
+ * **File behavior.** Existing files are overwritten. Parent directories are not created, and
1300
+ * passing a directory as the destination fails. On Windows, an existing read-only file is
1301
+ * replaced and the read-only attribute is removed.
1302
+ *
1303
+ * @throws Error if the call fails (the message names the reason); the full log is in
1304
+ * {@link Mime.lastErrorText}.
1305
+ */
1306
+ saveMime(filename: string): void
1307
+
1308
+ /**
1309
+ * Writes Chilkat's MIME XML representation to the local path in `filename`. The file can be
1310
+ * loaded by {@link Mime.loadXmlFile}.
1311
+ *
1312
+ * **File behavior.** Existing files are overwritten. Parent directories are not created, and
1313
+ * passing a directory as the destination fails. On Windows, an existing read-only file is
1314
+ * replaced and the read-only attribute is removed.
1315
+ *
1316
+ * @throws Error if the call fails (the message names the reason); the full log is in
1317
+ * {@link Mime.lastErrorText}.
1318
+ */
1319
+ saveXml(filename: string): void
1320
+
1321
+ /**
1322
+ * Sets the current part's body from `str` while preserving existing content headers such as
1323
+ * `Content-Type`, `charset`, and `Content-Transfer-Encoding`.
1324
+ *
1325
+ * **Multipart entities serialize their child parts.** Calling this method on a multipart object
1326
+ * changes what the body getter methods return, but the assigned body is not included in the
1327
+ * serialized multipart output while child parts are present. Build multipart content through
1328
+ * {@link Mime.appendPart} and {@link Mime.partAt}.
1329
+ */
1330
+ setBody(str: string): void
1331
+
1332
+ /**
1333
+ * Sets the body from transfer-encoded text. `encoding` must be `base64` or `quoted-printable`;
1334
+ * other values, including `7bit`, `8bit`, `binary`, an unknown name, or an empty string, cause
1335
+ * failure.
1336
+ *
1337
+ * Base64 whitespace is accepted and the stored representation is normalized. Invalid Base64
1338
+ * causes the method to return `false`. On any failure, all existing headers and body content are
1339
+ * preserved unchanged.
1340
+ *
1341
+ * **Do not encode twice.** `str` must already be in the encoding named by `encoding`. To provide
1342
+ * decoded bytes, use {@link Mime.setBodyBd} or `SetBodyFromBinary`.
1343
+ *
1344
+ * @throws Error if the call fails (the message names the reason); the full log is in
1345
+ * {@link Mime.lastErrorText}.
1346
+ */
1347
+ setBodyFromEncoded(encoding: string, str: string): void
1348
+
1349
+ /**
1350
+ * Reads the local file at `fileName` and replaces the current part's body and content headers
1351
+ * according to the filename extension.
1352
+ *
1353
+ * File kindResult
1354
+ *
1355
+ * | `.txt` | | `text/plain; charset=windows-1252; format=flowed`, `7bit` |
1356
+ *
1357
+ * | `.html` | | `text/html; charset=windows-1252`, `7bit` |
1358
+ *
1359
+ * | Unknown extension | | `application/octet-stream`, `base64`, `attachment`, and filename/name
1360
+ * parameters based on the local filename |
1361
+ *
1362
+ * If the file cannot be opened, the method returns `false` and preserves the existing MIME
1363
+ * unchanged.
1364
+ *
1365
+ * @throws Error if the call fails (the message names the reason); the full log is in
1366
+ * {@link Mime.lastErrorText}.
1367
+ */
1368
+ setBodyFromFile(fileName: string): void
1369
+
1370
+ /**
1371
+ * Sets `str` as HTML and changes the media type to `text/html`. For ASCII input, Chilkat uses
1372
+ * `Content-Transfer-Encoding: 7bit` and does not add a charset. Existing unrelated headers are
1373
+ * preserved.
1374
+ *
1375
+ * @throws Error if the call fails (the message names the reason); the full log is in
1376
+ * {@link Mime.lastErrorText}.
1377
+ */
1378
+ setBodyFromHtml(str: string): void
1379
+
1380
+ /**
1381
+ * Sets `str` as plain text. For ASCII input, Chilkat sets `Content-Type: text/plain;
1382
+ * format=flowed` and `Content-Transfer-Encoding: 7bit` without a charset. For non-ASCII UTF-8
1383
+ * input, it sets `charset=utf-8` and uses `8bit`. Existing unrelated headers are preserved.
1384
+ *
1385
+ * @throws Error if the call fails (the message names the reason); the full log is in
1386
+ * {@link Mime.lastErrorText}.
1387
+ */
1388
+ setBodyFromPlainText(str: string): void
1389
+
1390
+ /**
1391
+ * Sets `str` as XML, changes the media type to `text/xml`, and selects a transfer encoding
1392
+ * appropriate for the text. For ASCII input, Chilkat uses `7bit` and does not add a charset.
1393
+ *
1394
+ * The XML declaration's `encoding` value is not copied to the MIME `charset` parameter.
1395
+ *
1396
+ * **Different from LoadXml.** This method places an XML document in the MIME body. {@link
1397
+ * Mime.loadXml} reconstructs an entire MIME object from Chilkat MIME XML.
1398
+ *
1399
+ * @throws Error if the call fails (the message names the reason); the full log is in
1400
+ * {@link Mime.lastErrorText}.
1401
+ */
1402
+ setBodyFromXml(str: string): void
1403
+
1404
+ /**
1405
+ * Sets one header field named by `name`. Matching is case-insensitive. All existing occurrences
1406
+ * are removed and one replacement is inserted. If no field exists, a new one is added. Passing an
1407
+ * empty `value` removes all matching occurrences rather than creating an empty-valued field.
1408
+ *
1409
+ * Use {@link Mime.addHeaderField} to append another occurrence or to create an empty-valued
1410
+ * field.
1411
+ *
1412
+ * @throws Error if the call fails (the message names the reason); the full log is in
1413
+ * {@link Mime.lastErrorText}.
1414
+ */
1415
+ setHeaderField(name: string, value: string): void
1416
+
1417
+ /**
1418
+ * Supplies `cert` as a signer-certificate fallback for subsequent signature verification. This is
1419
+ * useful when the CMS/PKCS #7 signature does not embed the signer certificate and Chilkat cannot
1420
+ * otherwise locate it. Only the public key is required.
1421
+ *
1422
+ * **This does not require a particular signer.** An embedded signer certificate takes precedence.
1423
+ * If the CMS signature embeds the correct signer certificate, verification can succeed even when
1424
+ * `cert` is an unrelated certificate, and {@link Mime.lastSignerCert} returns the embedded
1425
+ * certificate. To enforce signer identity, verify first and then compare the returned signer
1426
+ * certificate using application-defined criteria such as its serial number, fingerprint, subject,
1427
+ * issuer, or trusted chain.
1428
+ *
1429
+ * @throws Error if the call fails (the message names the reason); the full log is in
1430
+ * {@link Mime.lastErrorText}.
1431
+ */
1432
+ setVerifyCert(cert: Cert): void
1433
+
1434
+ /**
1435
+ * Removes supported S/MIME security layers and restores the underlying MIME content. It handles
1436
+ * both common layer orders: a message signed and then encrypted, and a message encrypted and then
1437
+ * signed. It continues through nested top-level layers until no additional supported security
1438
+ * wrapper remains.
1439
+ *
1440
+ * After a successful call, {@link Mime.numSignerCerts} and {@link Mime.lastSignerCert} identify
1441
+ * verified signers, while {@link Mime.numDecryptCerts} and {@link Mime.lastDecryptCert} identify
1442
+ * decryption certificates. {@link Mime.getLastJsonData} may contain both `pkcs7.verify` and
1443
+ * `pkcs7.decrypt` details.
1444
+ *
1445
+ * **Additional result headers.** When {@link Mime.unwrapExtras} is `true`, Chilkat adds headers
1446
+ * such as `X-NumPartsSigned`, `X-SignaturesValid`, `X-NumPartsEncrypted`, and `X-Decrypted`. Set
1447
+ * it to `false` to omit these headers.
1448
+ *
1449
+ * @throws Error if the call fails (the message names the reason); the full log is in
1450
+ * {@link Mime.lastErrorText}.
1451
+ */
1452
+ unwrapSecurity(): void
1453
+
1454
+ /**
1455
+ * Replaces the current body with an `application/x-www-form-urlencoded`-style representation
1456
+ * using the character set named by `charset`. Spaces become `+`, a literal plus becomes `%2B`,
1457
+ * non-ASCII bytes become `%HH` sequences, and separators such as `&` and `=` remain unchanged.
1458
+ *
1459
+ * ```
1460
+ * Input: a b+c&d=e
1461
+ * Output: a+b%2Bc&d=e
1462
+ * ```
1463
+ *
1464
+ * The MIME content headers are not changed. If the named character set is unsupported, the body
1465
+ * remains unchanged.
1466
+ *
1467
+ * **Not a MIME transfer encoding.** This operation is distinct from `base64` and
1468
+ * `quoted-printable`.
1469
+ */
1470
+ urlEncodeBody(charset: string): void
1471
+
1472
+ /**
1473
+ * Sets `vault` as the certificate vault used to locate certificates and private keys for S/MIME
1474
+ * encryption, decryption, signing, and verification. Only one vault is active; each call replaces
1475
+ * the previously configured vault.
1476
+ *
1477
+ * Use `XmlCertVault` when credentials are maintained independently of platform certificate stores
1478
+ * or individual PFX sources.
1479
+ *
1480
+ * @throws Error if the call fails (the message names the reason); the full log is in
1481
+ * {@link Mime.lastErrorText}.
1482
+ */
1483
+ useCertVault(vault: XmlCertVault): void
1484
+
1485
+ /**
1486
+ * Verifies the current CMS/PKCS #7 signed MIME entity and removes the signature wrapper. Both
1487
+ * detached `multipart/signed` messages and opaque CMS `signed-data` are supported. The method
1488
+ * works with signed MIME loaded from serialized input as well as MIME signed by the current
1489
+ * object.
1490
+ *
1491
+ * On success, the object is restored to the MIME structure and content that was signed, {@link
1492
+ * Mime.numSignerCerts} reports the verified signer count, {@link Mime.lastSignerCert} returns the
1493
+ * signer certificate, and {@link Mime.getLastJsonData} reports CMS verification details. A
1494
+ * detached signature can restore the original serialization exactly, but opaque signed-data
1495
+ * restoration is semantic and is not guaranteed to reproduce byte-for-byte identical MIME
1496
+ * serialization.
1497
+ *
1498
+ * On failure, the signed wrapper remains unchanged, no content is unwrapped, and the
1499
+ * signer-result count is cleared to `0`.
1500
+ *
1501
+ * **SetVerifyCert is a fallback, not a signer restriction.** When the CMS data embeds a usable
1502
+ * signer certificate, Chilkat uses that embedded certificate. Verification can therefore succeed
1503
+ * even when {@link Mime.setVerifyCert} was given an unrelated certificate. Enforce signer
1504
+ * identity after verification by examining {@link Mime.lastSignerCert}.
1505
+ *
1506
+ * **What verification proves.** Cryptographic verification establishes that the signed bytes have
1507
+ * not changed and that the signature matches the signer certificate. Application trust decisions
1508
+ * may additionally require validating the certificate chain, identity, usage, validity period,
1509
+ * and revocation status.
1510
+ *
1511
+ * @throws Error if the call fails (the message names the reason); the full log is in
1512
+ * {@link Mime.lastErrorText}.
1513
+ */
1514
+ verify(): void
1515
+
1516
+ /**
1517
+ * Returns a concise MIME-tree summary. `fmt` is case-insensitive. The value `xml` selects XML
1518
+ * output; all other values, including `text`, an empty string, or an unrecognized value, select
1519
+ * the indented text format.
1520
+ *
1521
+ * ```
1522
+ * multipart/mixed
1523
+ * text/plain
1524
+ * application/octet-stream
1525
+ * ```
1526
+ *
1527
+ * ```
1528
+ * <multipart-mixed>
1529
+ * <text-plain />
1530
+ * <application-octet-stream />
1531
+ * </multipart-mixed>
1532
+ * ```
1533
+ *
1534
+ * @throws Error if the call fails (the message names the reason); the full log is in
1535
+ * {@link Mime.lastErrorText}.
1536
+ */
1537
+ getStructure(fmt: string): string
1538
+
1539
+ /**
1540
+ * Serializes the complete MIME entity and appends it to `sb`. Existing `StringBuilder` content is
1541
+ * preserved.
1542
+ *
1543
+ * **Serialization is normalized.** The result is semantically equivalent MIME, not a
1544
+ * byte-for-byte copy of loaded input. Chilkat can unfold headers, normalize parameter quoting and
1545
+ * transfer encodings, discard multipart preamble and epilogue text, and generate CRLF for headers
1546
+ * and multipart framing. Existing body line endings may not always be rewritten.
1547
+ *
1548
+ * @throws Error if the call fails (the message names the reason); the full log is in
1549
+ * {@link Mime.lastErrorText}.
1550
+ */
1551
+ getMimeSb(sb: StringBuilder): void
1552
+
1553
+ /**
1554
+ * Serializes the complete MIME entity and appends its bytes to `bindat`. Existing `BinData` bytes
1555
+ * are preserved. Use this method when arbitrary binary body bytes must not pass through a text
1556
+ * string.
1557
+ *
1558
+ * **Serialization is normalized.** The result is semantically equivalent MIME, not a
1559
+ * byte-for-byte copy of loaded input. Chilkat can unfold headers, normalize parameter quoting and
1560
+ * transfer encodings, discard multipart preamble and epilogue text, and generate CRLF for headers
1561
+ * and multipart framing. Existing body line endings may not always be rewritten.
1562
+ *
1563
+ * @throws Error if the call fails (the message names the reason); the full log is in
1564
+ * {@link Mime.lastErrorText}.
1565
+ */
1566
+ getMimeBd(bindat: BinData): void
1567
+
1568
+ /**
1569
+ * Parses complete MIME text from `sb` and replaces the current MIME on success. Parsing tolerance
1570
+ * and serialization normalization are the same as {@link Mime.loadMime}.
1571
+ *
1572
+ * **Use byte input for arbitrary MIME bytes.** A `StringBuilder` is text-oriented. Use {@link
1573
+ * Mime.loadMimeBd} for binary MIME containing arbitrary 8-bit values or NUL bytes.
1574
+ *
1575
+ * @throws Error if the call fails (the message names the reason); the full log is in
1576
+ * {@link Mime.lastErrorText}.
1577
+ */
1578
+ loadMimeSb(sb: StringBuilder): void
1579
+
1580
+ /**
1581
+ * Parses complete MIME bytes from `bindat` and replaces the current MIME on success. This is the
1582
+ * preferred loader when the MIME can contain arbitrary 8-bit body bytes or embedded NUL bytes.
1583
+ * Parsing tolerance and serialization normalization are the same as {@link Mime.loadMime}.
1584
+ *
1585
+ * @throws Error if the call fails (the message names the reason); the full log is in
1586
+ * {@link Mime.lastErrorText}.
1587
+ */
1588
+ loadMimeBd(bindat: BinData): void
1589
+
1590
+ /**
1591
+ * Replaces the contents of `binDat` with the decoded body bytes of the current part. Existing
1592
+ * bytes in `binDat` are discarded. Base64 and quoted-printable are decoded. MIME headers,
1593
+ * multipart boundaries, and child parts are not included.
1594
+ *
1595
+ * @throws Error if the call fails (the message names the reason); the full log is in
1596
+ * {@link Mime.lastErrorText}.
1597
+ */
1598
+ getBodyBd(binDat: BinData): void
1599
+
1600
+ /**
1601
+ * Copies structured details from the most recent operation into `json` when such details are
1602
+ * available. Many methods do not produce JSON data.
1603
+ *
1604
+ * OperationTypical result
1605
+ *
1606
+ * | Signing or encryption | | An empty JSON object. |
1607
+ *
1608
+ * | {@link Mime.verify} | | `pkcs7.verify` details such as embedded certificates, digest
1609
+ * algorithms, signer information, signature algorithm, signing time, message digest, and
1610
+ * authenticated attributes. |
1611
+ *
1612
+ * | Decryption | | `pkcs7.decrypt` details including the content algorithm and key size. A
1613
+ * PFX-based method may also include PKCS #12 parsing details. |
1614
+ *
1615
+ * | {@link Mime.unwrapSecurity} | | May contain both verification and decryption sections when
1616
+ * both kinds of security layer were removed. |
1617
+ *
1618
+ * **Read immediately.** The information describes the most recent applicable call on this object
1619
+ * and can be replaced by a later operation.
1620
+ */
1621
+ getLastJsonData(json: JsonObject): void
1622
+
1623
+ /**
1624
+ * Loads into `cert` the decryption certificate at zero-based `index` from the most recent
1625
+ * successful decryption or security-unwrapping operation. Valid indexes range from `0` through
1626
+ * {@link Mime.numDecryptCerts} `- 1`. The returned certificate has access to the private key used
1627
+ * for decryption.
1628
+ *
1629
+ * An invalid index returns `false` and leaves `cert` unchanged.
1630
+ *
1631
+ * @throws Error if the call fails (the message names the reason); the full log is in
1632
+ * {@link Mime.lastErrorText}.
1633
+ */
1634
+ lastDecryptCert(index: number, cert: Cert): void
1635
+
1636
+ /**
1637
+ * Loads into `cert` the signer certificate at zero-based `index` from the most recent successful
1638
+ * signature-verification or security-unwrapping operation. Valid indexes range from `0` through
1639
+ * {@link Mime.numSignerCerts} `- 1`. The returned certificate normally contains only the public
1640
+ * key; it does not gain access to the signer's private key.
1641
+ *
1642
+ * An invalid index returns `false` and leaves `cert` unchanged. A later failed call to {@link
1643
+ * Mime.verify} clears the signer results.
1644
+ *
1645
+ * @throws Error if the call fails (the message names the reason); the full log is in
1646
+ * {@link Mime.lastErrorText}.
1647
+ */
1648
+ lastSignerCert(index: number, cert: Cert): void
1649
+
1650
+ /**
1651
+ * Provides live access to the direct child at zero-based `index` through `subPart`. Modifying
1652
+ * `subPart` after a successful call modifies the child stored in the parent MIME tree.
1653
+ *
1654
+ * Valid indexes range from `0` through {@link Mime.numParts} `- 1`. An invalid index returns
1655
+ * `false` and preserves `subPart` unchanged.
1656
+ *
1657
+ * **Different from AppendPart.** {@link Mime.appendPart} stores a copy of its argument. This
1658
+ * method exposes the actual stored child.
1659
+ *
1660
+ * @throws Error if the call fails (the message names the reason); the full log is in
1661
+ * {@link Mime.lastErrorText}.
1662
+ */
1663
+ partAt(index: number, subPart: Mime): void
1664
+
1665
+ /**
1666
+ * Recursively traverses the MIME tree and saves each part having a nonempty `filename` parameter
1667
+ * to the existing directory in `path`. A `name` parameter alone is not used as a fallback. The
1668
+ * disposition may be `attachment` or `inline`; a filename is what controls extraction.
1669
+ *
1670
+ * - Only the final path component of a MIME filename is used. Directory components, absolute
1671
+ * paths, and `..` traversal are discarded.
1672
+ *
1673
+ * - On Windows, invalid filename characters are replaced with underscores.
1674
+ *
1675
+ * - Duplicate filenames target the same path; later parts overwrite earlier parts.
1676
+ *
1677
+ * - `st` is appended to rather than cleared. Each added entry is the full path actually written,
1678
+ * including any sanitized filename.
1679
+ *
1680
+ * - The destination directory is not created. If it does not exist, the method returns `false`,
1681
+ * creates no files, and appends nothing to `st`.
1682
+ *
1683
+ * **Treat MIME filenames as untrusted.** Use a controlled destination directory and apply any
1684
+ * application-specific policy for file types, size limits, overwriting, and renaming.
1685
+ *
1686
+ * @throws Error if the call fails (the message names the reason); the full log is in
1687
+ * {@link Mime.lastErrorText}.
1688
+ */
1689
+ partsToFiles(path: string, st: StringTable): void
1690
+
1691
+ /**
1692
+ * Adds the PKCS #12/PFX bytes in `bd` to the internal collection of credential sources used by
1693
+ * later S/MIME decryption operations. `password` is the password protecting the PFX data. Call
1694
+ * the method once for each PFX source that should be searched.
1695
+ *
1696
+ * The source remains configured across subsequent `LoadMime` calls and repeated decryptions.
1697
+ * Chilkat continues searching after a PFX that does not contain the required recipient key.
1698
+ *
1699
+ * **Not a signing-key fallback.** Adding a PFX source does not make a public-only certificate
1700
+ * usable by the signing methods. The signing certificate itself must have its private key, or the
1701
+ * private key must be supplied explicitly by a method whose name ends in `Pk`.
1702
+ *
1703
+ * @throws Error if the call fails (the message names the reason); the full log is in
1704
+ * {@link Mime.lastErrorText}.
1705
+ */
1706
+ addPfxSourceBd(bd: BinData, password: string): void
1707
+
1708
+ /**
1709
+ * Sets the decoded body bytes from `bd`, changes `Content-Transfer-Encoding` to `base64`, and
1710
+ * preserves the bytes exactly. It does not set a `Content-Type`, disposition, filename, or name;
1711
+ * set those separately when needed.
1712
+ *
1713
+ * @throws Error if the call fails (the message names the reason); the full log is in
1714
+ * {@link Mime.lastErrorText}.
1715
+ */
1716
+ setBodyBd(bd: BinData): void
1717
+
1718
+ /**
1719
+ * Examines the current encrypted S/MIME entity and writes recipient-certificate identifiers to
1720
+ * the `JsonObject` in `certInfo`. This can be used to identify which certificate and private key
1721
+ * must be made available before calling {@link Mime.decrypt} or {@link Mime.unwrapSecurity}. A
1722
+ * typical result is:
1723
+ *
1724
+ * ```
1725
+ * {
1726
+ * "recipientInfo": [
1727
+ * {
1728
+ * "serial": "166FC256FC66A64B20C710F15BFAB63E",
1729
+ * "issuerCN": "Example Issuing CA"
1730
+ * }
1731
+ * ]
1732
+ * }
1733
+ * ```
1734
+ *
1735
+ * The method returns `false` and writes an empty JSON object when the current MIME entity is not
1736
+ * encrypted, including after it has already been decrypted.
1737
+ *
1738
+ * **No private key is revealed.** The encrypted message contains recipient identifiers and
1739
+ * encrypted key material, not recipient private keys.
1740
+ *
1741
+ * @throws Error if the call fails (the message names the reason); the full log is in
1742
+ * {@link Mime.lastErrorText}.
1743
+ */
1744
+ getDecryptCertInfo(certInfo: JsonObject): void
1745
+ }