@everfur/sdk 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/CHANGELOG.md +166 -0
  2. package/README.md +2 -1
  3. package/dist/{Chat-CbyZ1vAX.d.cts → Chat.d-DUNTfzqC.d.ts} +170 -8
  4. package/dist/{Chat-CgYQdfqi.d.ts → Chat.d-Dts8u_1a.d.cts} +170 -8
  5. package/dist/{DepthViews-CaQUyCHK.d.ts → DepthViews.d-BIp599lz.d.cts} +1 -1
  6. package/dist/{DepthViews-CCz4ig0u.d.ts → DepthViews.d-BMU2jFPw.d.cts} +1 -1
  7. package/dist/{DepthViews-D3OiIK_x.d.cts → DepthViews.d-Ce2Zhnrb.d.ts} +1 -1
  8. package/dist/{DepthViews-iGZi4_WK.d.cts → DepthViews.d-CubkMPbU.d.ts} +1 -1
  9. package/dist/{ErrorPolicyPort-10s3HJCt.d.cts → ErrorPolicyPort.d-68yrE3BE.d.ts} +1 -1
  10. package/dist/{ErrorPolicyPort-C3nNSS_j.d.ts → ErrorPolicyPort.d-DirW9hgO.d.cts} +1 -1
  11. package/dist/{EverfurError-DeBqRpQV.d.cts → EverfurError.d-8NHtlgzA.d.cts} +11 -1
  12. package/dist/{EverfurError-DeBqRpQV.d.ts → EverfurError.d-8NHtlgzA.d.ts} +11 -1
  13. package/dist/{EverfurResult-ClPTS0P2.d.ts → EverfurResult.d-BFH-3s6E.d.cts} +1 -1
  14. package/dist/{EverfurResult-COlXj1wq.d.cts → EverfurResult.d-D_-254ZY.d.ts} +1 -1
  15. package/dist/{IntakeMedia-BH0fYDT2.d.cts → IntakeMedia.d-4a89XrP7.d.ts} +1 -1
  16. package/dist/{IntakeMedia-B-_vA9ZB.d.cts → IntakeMedia.d-DGxrhgIW.d.ts} +1 -1
  17. package/dist/{IntakeMedia-CIoTXAWs.d.ts → IntakeMedia.d-DUPR4lVM.d.cts} +1 -1
  18. package/dist/{IntakeMedia-Bavl7E4Z.d.ts → IntakeMedia.d-JJCUvQu7.d.cts} +1 -1
  19. package/dist/LifecyclePort.d-Cr1p33a7.d.cts +23 -0
  20. package/dist/LifecyclePort.d-Cr1p33a7.d.ts +23 -0
  21. package/dist/{PhotoController-vzY5bfY_.d.ts → PhotoController.d-BzCJOE7e.d.cts} +2 -2
  22. package/dist/{PhotoController-3l7MT9jA.d.cts → PhotoController.d-D0XiUUOl.d.ts} +2 -2
  23. package/dist/animations/index.cjs +4 -1
  24. package/dist/animations/index.d.cts +24 -24
  25. package/dist/animations/index.d.ts +24 -24
  26. package/dist/animations/index.js +4 -1
  27. package/dist/{attachments-DkMrKCIU.d.ts → attachments.d-Bp2qbHxn.d.cts} +22 -26
  28. package/dist/{attachments-CTJK0jQ4.d.ts → attachments.d-D1yhJjcZ.d.ts} +4 -4
  29. package/dist/{attachments-DXBETOrV.d.cts → attachments.d-DisnvB9R.d.cts} +4 -4
  30. package/dist/{attachments-BOk3hEAM.d.cts → attachments.d-Djy9z_0Z.d.ts} +22 -26
  31. package/dist/{bookingCopy-C_a45T4-.d.ts → bookingCopy.d-BJF6gd1A.d.ts} +24 -9
  32. package/dist/{bookingCopy-CHYGYHe0.d.cts → bookingCopy.d-BlBmhAJc.d.cts} +24 -9
  33. package/dist/{branding-DJf4h12Q.d.ts → branding.d-DI8S400y.d.cts} +9 -2
  34. package/dist/{branding-BCfwLj0h.d.cts → branding.d-OIGLbQeM.d.ts} +9 -2
  35. package/dist/{callRoom-BhIdadyV.d.cts → callRoom.d-B1DoYdJe.d.cts} +1 -1
  36. package/dist/{callRoom-B92eH_ij.d.ts → callRoom.d-Dqm1rUqT.d.ts} +1 -1
  37. package/dist/{casesRepository-C8KJmlxE.d.cts → casesRepository.d-CT2LTicS.d.cts} +3 -3
  38. package/dist/{casesRepository-iAi5qWnx.d.ts → casesRepository.d-UsWOz9bv.d.ts} +3 -3
  39. package/dist/chat/index.cjs +131 -57
  40. package/dist/chat/index.d.cts +18 -16
  41. package/dist/chat/index.d.ts +18 -16
  42. package/dist/chat/index.js +132 -58
  43. package/dist/client/index.cjs +14 -10
  44. package/dist/client/index.d.cts +19 -18
  45. package/dist/client/index.d.ts +19 -18
  46. package/dist/client/index.js +14 -10
  47. package/dist/{config-C9zhanL-.d.cts → config.d-BR3DT9ho.d.cts} +3 -3
  48. package/dist/{config-C5iPNKDj.d.ts → config.d-Dy6igYlH.d.ts} +3 -3
  49. package/dist/consent/index.cjs +4 -1
  50. package/dist/consent/index.d.cts +10 -10
  51. package/dist/consent/index.d.ts +10 -10
  52. package/dist/consent/index.js +4 -1
  53. package/dist/{context-BUIrC20Z.d.ts → context.d-Cwks0p3C.d.cts} +15 -15
  54. package/dist/{context-D_bcpHDA.d.cts → context.d-QcCgguzA.d.ts} +15 -15
  55. package/dist/{copy-KbCU9fen.d.ts → copy.d-CiMn2IIt.d.ts} +6 -6
  56. package/dist/{copy-BE31T2jR.d.cts → copy.d-DLJTyRfT.d.cts} +6 -6
  57. package/dist/core/index.cjs +16 -13
  58. package/dist/core/index.d.cts +33 -29
  59. package/dist/core/index.d.ts +33 -29
  60. package/dist/core/index.js +16 -13
  61. package/dist/{depth-DNxDieoO.d.cts → depth.d-CjPGVPDL.d.cts} +9 -115
  62. package/dist/{depth-DDKGfFaB.d.ts → depth.d-OSALbYM7.d.ts} +9 -115
  63. package/dist/{entitlementRepository-C1_wXIE3.d.cts → entitlementRepository.d-CVQa1DA1.d.cts} +10 -5
  64. package/dist/{entitlementRepository-CYtdIGfH.d.ts → entitlementRepository.d-Cf3LbTwD.d.ts} +10 -5
  65. package/dist/features.d-fNsGcg0R.d.cts +108 -0
  66. package/dist/features.d-fNsGcg0R.d.ts +108 -0
  67. package/dist/focus.d-DMg2ngHI.d.ts +1178 -0
  68. package/dist/focus.d-az9cqUz3.d.cts +1178 -0
  69. package/dist/health-plan/index.cjs +370 -0
  70. package/dist/health-plan/index.d.cts +251 -0
  71. package/dist/health-plan/index.d.ts +251 -0
  72. package/dist/health-plan/index.js +370 -0
  73. package/dist/idempotency.d-D461_DPD.d.cts +910 -0
  74. package/dist/idempotency.d-WpXx9zQo.d.ts +910 -0
  75. package/dist/{identity-BqeaN8An.d.ts → identity.d-60LeJt_s.d.cts} +3 -3
  76. package/dist/{identity-gjurBi7m.d.cts → identity.d-DzTijonw.d.ts} +3 -3
  77. package/dist/index.cjs +140 -66
  78. package/dist/index.d.cts +31 -29
  79. package/dist/index.d.ts +31 -29
  80. package/dist/index.js +141 -67
  81. package/dist/{models-A4A5S7AG.d.cts → models.d-BagXhafD.d.ts} +8 -3
  82. package/dist/{models-CnXY5LuO.d.ts → models.d-BnLm3VAA.d.cts} +8 -3
  83. package/dist/notifications/index.cjs +4 -1
  84. package/dist/notifications/index.d.cts +9 -9
  85. package/dist/notifications/index.d.ts +9 -9
  86. package/dist/notifications/index.js +4 -1
  87. package/dist/optInView.d-CEyHR6PK.d.cts +325 -0
  88. package/dist/optInView.d-acKpV8V2.d.ts +325 -0
  89. package/dist/parse.d-C8CXyS58.d.ts +210 -0
  90. package/dist/parse.d-tEzufgJX.d.cts +210 -0
  91. package/dist/{pets-CfutxNs9.d.cts → pets.d-C_53_fzo.d.ts} +3 -3
  92. package/dist/{pets-LIGadUtr.d.ts → pets.d-NbJvP_kh.d.cts} +3 -3
  93. package/dist/{petsRepository-Cqpd3hLU.d.cts → petsRepository.d-BuGHymNx.d.ts} +4 -4
  94. package/dist/{petsRepository-CoRa3C_U.d.ts → petsRepository.d-lp1BHRqM.d.cts} +4 -4
  95. package/dist/photo/index.cjs +5 -2
  96. package/dist/photo/index.d.cts +9 -9
  97. package/dist/photo/index.d.ts +9 -9
  98. package/dist/photo/index.js +5 -2
  99. package/dist/{ports-BN6RHF9W.d.cts → ports.d-BX4f4UsB.d.cts} +14 -1
  100. package/dist/{ports-BN6RHF9W.d.ts → ports.d-BX4f4UsB.d.ts} +14 -1
  101. package/dist/{ports-gJ3faaWz.d.cts → ports.d-CEROoqnA.d.cts} +16 -10
  102. package/dist/{ports-CVi3n0re.d.ts → ports.d-COIyN624.d.ts} +16 -10
  103. package/dist/presentation.d-DMbdad7G.d.cts +90 -0
  104. package/dist/presentation.d-DMbdad7G.d.ts +90 -0
  105. package/dist/records/depth/index.cjs +10 -7
  106. package/dist/records/depth/index.d.cts +14 -12
  107. package/dist/records/depth/index.d.ts +14 -12
  108. package/dist/records/depth/index.js +10 -7
  109. package/dist/records/index.cjs +224 -62
  110. package/dist/records/index.d.cts +159 -20
  111. package/dist/records/index.d.ts +159 -20
  112. package/dist/records/index.js +224 -62
  113. package/dist/recordsAsk.d-C5CGSi3j.d.cts +14 -0
  114. package/dist/recordsAsk.d-C5CGSi3j.d.ts +14 -0
  115. package/dist/{requestFunnel-BYzlyaC0.d.ts → requestFunnel.d-CXUMPw1K.d.ts} +5 -5
  116. package/dist/{requestFunnel-DLZpiFD3.d.cts → requestFunnel.d-DWQQpjFR.d.cts} +5 -5
  117. package/dist/{resolve-D4Ywz5OS.d.ts → resolve.d-jI8FmBj3.d.cts} +3 -3
  118. package/dist/{resolve-D4Ywz5OS.d.cts → resolve.d-jI8FmBj3.d.ts} +3 -3
  119. package/dist/{runtimeTypes-BxxCKMn8.d.cts → runtimeTypes.d-4yFNNuYR.d.ts} +20 -13
  120. package/dist/{runtimeTypes-Doa_xxSa.d.ts → runtimeTypes.d-D6N_fhxx.d.cts} +20 -13
  121. package/dist/server/events/index.cjs +6 -3
  122. package/dist/server/events/index.d.cts +51 -9
  123. package/dist/server/events/index.d.ts +51 -9
  124. package/dist/server/events/index.js +6 -3
  125. package/dist/server/index.cjs +11 -6
  126. package/dist/server/index.d.cts +152 -8
  127. package/dist/server/index.d.ts +152 -8
  128. package/dist/server/index.js +11 -6
  129. package/dist/sheetCopy.d-CAhLOxjc.d.cts +4 -0
  130. package/dist/sheetCopy.d-CAhLOxjc.d.ts +4 -0
  131. package/dist/sheetSeam.d-Cviqk89n.d.ts +45 -0
  132. package/dist/sheetSeam.d-DCS3LW8g.d.cts +45 -0
  133. package/dist/shop/index.cjs +262 -0
  134. package/dist/shop/index.d.cts +193 -0
  135. package/dist/shop/index.d.ts +193 -0
  136. package/dist/shop/index.js +262 -0
  137. package/dist/televet/booking/index.cjs +15 -12
  138. package/dist/televet/booking/index.d.cts +36 -22
  139. package/dist/televet/booking/index.d.ts +36 -22
  140. package/dist/televet/booking/index.js +15 -12
  141. package/dist/televet/call/index.d.cts +5 -5
  142. package/dist/televet/call/index.d.ts +5 -5
  143. package/dist/televet/index.cjs +6 -3
  144. package/dist/televet/index.d.cts +12 -12
  145. package/dist/televet/index.d.ts +12 -12
  146. package/dist/televet/index.js +6 -3
  147. package/dist/{televetGlobal-C5dTUACe.d.cts → televetGlobal.d-CC-DrqkQ.d.ts} +7 -2
  148. package/dist/{televetGlobal-CnjrfhT4.d.ts → televetGlobal.d-CKwDCbmN.d.cts} +7 -2
  149. package/dist/testing/index.cjs +6 -3
  150. package/dist/testing/index.d.cts +3 -3
  151. package/dist/testing/index.d.ts +3 -3
  152. package/dist/testing/index.js +6 -3
  153. package/dist/testing/rn/index.cjs +4 -1
  154. package/dist/testing/rn/index.d.cts +23 -22
  155. package/dist/testing/rn/index.d.ts +23 -22
  156. package/dist/testing/rn/index.js +4 -1
  157. package/dist/testing/web/index.cjs +4 -1
  158. package/dist/testing/web/index.d.cts +23 -22
  159. package/dist/testing/web/index.d.ts +23 -22
  160. package/dist/testing/web/index.js +4 -1
  161. package/dist/texting/index.cjs +158 -0
  162. package/dist/texting/index.d.cts +36 -0
  163. package/dist/texting/index.d.ts +36 -0
  164. package/dist/texting/index.js +158 -0
  165. package/dist/threadOptions.d-B1pTMmDF.d.cts +260 -0
  166. package/dist/threadOptions.d-B1pTMmDF.d.ts +260 -0
  167. package/dist/{timelineRows-CGOlC_Q9.d.ts → timelineRows.d-BNxgzYRW.d.cts} +1 -1
  168. package/dist/{timelineRows-Beun96e2.d.cts → timelineRows.d-CU5GvvLk.d.ts} +1 -1
  169. package/dist/{tokens-DLj8OnLH.d.cts → tokens.d-DarDaV39.d.cts} +10 -2
  170. package/dist/{tokens-DLj8OnLH.d.ts → tokens.d-DarDaV39.d.ts} +10 -2
  171. package/dist/{typeStyle-BxVyF71R.d.ts → typeStyle.d-Bl8pzbBy.d.cts} +2 -2
  172. package/dist/{typeStyle-DJedEu14.d.cts → typeStyle.d-C1HBRAI3.d.ts} +2 -2
  173. package/dist/{uploadTransport-C6kGP1Kd.d.ts → uploadTransport.d-CWL7CdWP.d.cts} +1 -1
  174. package/dist/{uploadTransport-BM_pnEWj.d.cts → uploadTransport.d-EGoUl7gX.d.ts} +1 -1
  175. package/dist/usePresentation.d-D6qsFzBz.d.cts +9 -0
  176. package/dist/usePresentation.d-DuGQe_Do.d.ts +9 -0
  177. package/dist/useRecords.d-Cb-36SF5.d.cts +121 -0
  178. package/dist/useRecords.d-aQTzQZoV.d.ts +121 -0
  179. package/dist/{useRecordsDepth-hR94debv.d.ts → useRecordsDepth.d-DFcCfiXm.d.ts} +8 -20
  180. package/dist/{useRecordsDepth-DRrJntjt.d.cts → useRecordsDepth.d-sAq2Qkhr.d.cts} +8 -20
  181. package/dist/{useVetVisit-DmWa7lt1.d.ts → useVetVisit.d-BtdwhmgD.d.cts} +15 -4
  182. package/dist/{useVetVisit-PtBjNwZr.d.cts → useVetVisit.d-DoYQimyt.d.ts} +15 -4
  183. package/dist/video/index.cjs +5 -2
  184. package/dist/video/index.d.cts +7 -7
  185. package/dist/video/index.d.ts +7 -7
  186. package/dist/video/index.js +5 -2
  187. package/dist/{view-C_B5U04g.d.ts → view.d-C-SNpDJX.d.ts} +10 -122
  188. package/dist/{view-VvLEdXP4.d.cts → view.d-Dps5C8-s.d.cts} +10 -122
  189. package/dist/web/consent/index.cjs +4 -1
  190. package/dist/web/consent/index.d.cts +10 -10
  191. package/dist/web/consent/index.d.ts +10 -10
  192. package/dist/web/consent/index.js +4 -1
  193. package/dist/web/health-plan/index.cjs +414 -0
  194. package/dist/web/health-plan/index.d.cts +335 -0
  195. package/dist/web/health-plan/index.d.ts +335 -0
  196. package/dist/web/health-plan/index.js +414 -0
  197. package/dist/web/index.cjs +149 -82
  198. package/dist/web/index.d.cts +152 -38
  199. package/dist/web/index.d.ts +152 -38
  200. package/dist/web/index.js +149 -82
  201. package/dist/web/notifications/index.cjs +15 -3
  202. package/dist/web/notifications/index.d.cts +39 -209
  203. package/dist/web/notifications/index.d.ts +39 -209
  204. package/dist/web/notifications/index.js +15 -3
  205. package/dist/web/records/depth/index.cjs +10 -7
  206. package/dist/web/records/depth/index.d.cts +14 -12
  207. package/dist/web/records/depth/index.d.ts +14 -12
  208. package/dist/web/records/depth/index.js +10 -7
  209. package/dist/web/records/index.cjs +94 -68
  210. package/dist/web/records/index.d.cts +66 -21
  211. package/dist/web/records/index.d.ts +66 -21
  212. package/dist/web/records/index.js +94 -68
  213. package/dist/web/records/upload/index.d.cts +2 -2
  214. package/dist/web/records/upload/index.d.ts +2 -2
  215. package/dist/web/records-sheet/index.cjs +278 -0
  216. package/dist/web/records-sheet/index.d.cts +102 -0
  217. package/dist/web/records-sheet/index.d.ts +102 -0
  218. package/dist/web/records-sheet/index.js +278 -0
  219. package/dist/web/shop/index.cjs +301 -0
  220. package/dist/web/shop/index.d.cts +42 -0
  221. package/dist/web/shop/index.d.ts +42 -0
  222. package/dist/web/shop/index.js +301 -0
  223. package/dist/web/televet/booking/index.cjs +15 -12
  224. package/dist/web/televet/booking/index.d.cts +37 -23
  225. package/dist/web/televet/booking/index.d.ts +37 -23
  226. package/dist/web/televet/booking/index.js +15 -12
  227. package/dist/web/televet/call/index.d.cts +4 -4
  228. package/dist/web/televet/call/index.d.ts +4 -4
  229. package/dist/web/televet/index.cjs +6 -3
  230. package/dist/web/televet/index.d.cts +12 -12
  231. package/dist/web/televet/index.d.ts +12 -12
  232. package/dist/web/televet/index.js +6 -3
  233. package/dist/web/texting/index.cjs +157 -0
  234. package/dist/web/texting/index.d.cts +36 -0
  235. package/dist/web/texting/index.d.ts +36 -0
  236. package/dist/web/texting/index.js +157 -0
  237. package/health-plan/package.json +8 -0
  238. package/package.json +106 -4
  239. package/shop/package.json +8 -0
  240. package/texting/package.json +8 -0
  241. package/web/health-plan/native-blocked.cjs +12 -0
  242. package/web/health-plan/package.json +8 -0
  243. package/web/records-sheet/native-blocked.cjs +12 -0
  244. package/web/records-sheet/package.json +8 -0
  245. package/web/shop/native-blocked.cjs +12 -0
  246. package/web/shop/package.json +8 -0
  247. package/web/texting/native-blocked.cjs +12 -0
  248. package/web/texting/package.json +8 -0
  249. /package/dist/{CameraPort-Cv31Pz7g.d.cts → CameraPort.d-Cv31Pz7g.d.cts} +0 -0
  250. /package/dist/{CameraPort-Cv31Pz7g.d.ts → CameraPort.d-Cv31Pz7g.d.ts} +0 -0
  251. /package/dist/{TelemetryPort-BDNr00hu.d.cts → TelemetryPort.d-BDNr00hu.d.cts} +0 -0
  252. /package/dist/{TelemetryPort-BDNr00hu.d.ts → TelemetryPort.d-BDNr00hu.d.ts} +0 -0
  253. /package/dist/{cacheEpoch-DknKn3S0.d.cts → cacheEpoch.d-DknKn3S0.d.cts} +0 -0
  254. /package/dist/{cacheEpoch-DknKn3S0.d.ts → cacheEpoch.d-DknKn3S0.d.ts} +0 -0
  255. /package/dist/{callCopy-Bw6oZT54.d.cts → callCopy.d-Bw6oZT54.d.cts} +0 -0
  256. /package/dist/{callCopy-Bw6oZT54.d.ts → callCopy.d-Bw6oZT54.d.ts} +0 -0
  257. /package/dist/{ids-B2GAAifq.d.cts → ids.d-B2GAAifq.d.cts} +0 -0
  258. /package/dist/{ids-B2GAAifq.d.ts → ids.d-B2GAAifq.d.ts} +0 -0
  259. /package/dist/{optionalModule-DbJmsq5f.d.cts → optionalModule.d-DbJmsq5f.d.cts} +0 -0
  260. /package/dist/{optionalModule-DbJmsq5f.d.ts → optionalModule.d-DbJmsq5f.d.ts} +0 -0
  261. /package/dist/{profile-CSs1wlXT.d.cts → profile.d-CSs1wlXT.d.cts} +0 -0
  262. /package/dist/{profile-CSs1wlXT.d.ts → profile.d-CSs1wlXT.d.ts} +0 -0
  263. /package/dist/{projection-CeIUsbSk.d.cts → projection.d-CeIUsbSk.d.cts} +0 -0
  264. /package/dist/{projection-CeIUsbSk.d.ts → projection.d-CeIUsbSk.d.ts} +0 -0
  265. /package/dist/{species-BXAIMh7I.d.cts → species.d-BXAIMh7I.d.cts} +0 -0
  266. /package/dist/{species-BXAIMh7I.d.ts → species.d-BXAIMh7I.d.ts} +0 -0
  267. /package/dist/{visitIntent-D7_yVp1I.d.cts → visitIntent.d-D7_yVp1I.d.cts} +0 -0
  268. /package/dist/{visitIntent-D7_yVp1I.d.ts → visitIntent.d-D7_yVp1I.d.ts} +0 -0
@@ -0,0 +1,251 @@
1
+ import { ReactNode } from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ import { C as CapabilityDecision } from '../resolve.d-jI8FmBj3.cjs';
4
+ import { E as EverfurError } from '../EverfurError.d-8NHtlgzA.cjs';
5
+ export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError.d-8NHtlgzA.cjs';
6
+ import { P as PetRef } from '../ids.d-B2GAAifq.cjs';
7
+ export { B as Brand, C as ConversationId, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids.d-B2GAAifq.cjs';
8
+ import { H as HealthPlanFocusCopy, a as HealthPlanFocusIcon, b as HealthPlanFocusDesign, c as HealthPlanItem, d as HealthPlanSubscription, e as HealthPlanOneBoxOrder, f as HealthPlanSubscriptionRepository, g as HealthPlanPageRepository, h as HealthPlanShopOrder, i as HealthPlanCheckoutProvider, j as HealthPlanPriceFormat, k as HealthPlanLayoutProps, l as HealthPlanCardOptions, m as HealthPlanImageVariant, n as HealthPlanReasonVariant, o as HealthPlanCart } from '../focus.d-az9cqUz3.cjs';
9
+ export { E as EverfurHealthPlanOptions, p as EverfurHealthPlanState, q as EverfurHealthPlanStatus, r as HEALTH_PLAN_COPY, s as HEALTH_PLAN_COPY_PLACEHOLDERS, t as HEALTH_PLAN_FOCUS_COPY, u as HEALTH_PLAN_LAYOUT_DEFAULTS, v as HEALTH_PLAN_REASON_KINDS, w as HEALTH_PLAN_REASON_LABELS, x as HEALTH_PLAN_TEMPLATES, y as HealthPlan, z as HealthPlanAddButtonSize, A as HealthPlanAddedVariant, B as HealthPlanCardShadow, C as HealthPlanCartBarPlacement, D as HealthPlanCartBarVisibility, F as HealthPlanCartCheckoutRequest, G as HealthPlanCartDock, I as HealthPlanCartScope, J as HealthPlanCartScopeProps, K as HealthPlanCategoryVariant, L as HealthPlanCheckoutItem, M as HealthPlanCheckoutRefusal, N as HealthPlanCheckoutRequest, O as HealthPlanCheckoutSession, P as HealthPlanCheckoutState, Q as HealthPlanCheckoutStatus, R as HealthPlanController, S as HealthPlanFocusExtra, T as HealthPlanFocusPrices, U as HealthPlanFocusReasonRow, V as HealthPlanFocusReview, W as HealthPlanFocusSign, X as HealthPlanFocusStep, Y as HealthPlanFocusWait, Z as HealthPlanFontWeight, _ as HealthPlanHeaderContext, $ as HealthPlanOneBoxOffer, a0 as HealthPlanOneBoxOrderPage, a1 as HealthPlanOneBoxOrderPageOptions, a2 as HealthPlanOrderStatus, a3 as HealthPlanOrderTracking, a4 as HealthPlanOrderTrackingStatus, a5 as HealthPlanPage, a6 as HealthPlanPageContext, a7 as HealthPlanPageOptions, a8 as HealthPlanPagePet, a9 as HealthPlanPagePhase, aa as HealthPlanPageState, ab as HealthPlanPhase, ac as HealthPlanPurchase, ad as HealthPlanReason, ae as HealthPlanReasonKind, af as HealthPlanRepository, ag as HealthPlanRepositoryDeps, ah as HealthPlanRuntime, ai as HealthPlanShadow, aj as HealthPlanSnapshot, ak as HealthPlanSubscriptionQuote, al as HealthPlanSubscriptionRenewal, am as HealthPlanSubscriptionStatus, an as HealthPlanSubscriptionStep, ao as HealthPlanSubscriptionSupply, ap as HealthPlanTrackStep, aq as createHealthPlanPageRepository, ar as createHealthPlanPageRepositoryOver, as as createHealthPlanRepository, at as createHealthPlanRepositoryOver, au as formatHealthPlanDay, av as formatHealthPlanPrice, aw as formatHealthPlanPriceWith, ax as healthPlanCart, ay as healthPlanCheckoutRefusal, az as healthPlanCheckoutSessionFromWire, aA as healthPlanCheckoutStateFromWire, aB as healthPlanFocusDesignFromWire, aC as healthPlanFromWire, aD as healthPlanPageFromWire, aE as isHealthPlanSessionRequired, aF as showHealthPlanCartBar, aG as useEverfurHealthPlan, aH as useEverfurHealthPlanRepository, aI as useHealthPlanCartDock, aJ as useHealthPlanPage, aK as useHealthPlanPageRepository } from '../focus.d-az9cqUz3.cjs';
10
+ import { i as EverfurPresentationInput } from '../presentation.d-DMbdad7G.cjs';
11
+ export { E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, j as EverfurSafetyDisclaimerPlacement } from '../presentation.d-DMbdad7G.cjs';
12
+ import { L as LifecyclePort } from '../LifecyclePort.d-Cr1p33a7.cjs';
13
+ import { E as EverfurResult } from '../EverfurResult.d-BFH-3s6E.cjs';
14
+ import { R as RecordsRecordWire } from '../ports.d-BX4f4UsB.cjs';
15
+ export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity.d-60LeJt_s.cjs';
16
+ export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../config.d-BR3DT9ho.cjs';
17
+ export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-DirW9hgO.cjs';
18
+ export { u as useEverfurPresentation } from '../usePresentation.d-D6qsFzBz.cjs';
19
+ import '../requestFunnel.d-DWQQpjFR.cjs';
20
+
21
+ /** The pet facts the words are sized to. */
22
+ interface HealthPlanPetWords {
23
+ readonly name: string | null;
24
+ readonly sex: 'female' | 'male' | null;
25
+ /** The partner texts tracking numbers (Q9): the "by text" lines are drawn. Absent = false. */
26
+ readonly trackingTexts?: boolean;
27
+ }
28
+ /** "her" for a female, "his" for a male, "Georgia's" for a named pet of unknown sex, else null. */
29
+ declare function healthPlanPossessive(pet: HealthPlanPetWords): string | null;
30
+ /** The words the React Native focus layout adds over `HealthPlanFocusCopy`. Each '' hides what it labels. */
31
+ interface HealthPlanFocusRnCopy extends HealthPlanFocusCopy {
32
+ /**
33
+ * Q8: the one line on the cart after a checkout came back failed or expired (the items stay). The Everfur web
34
+ * app's own words (everfur-frontend app/lib/error-handler.ts:66).
35
+ */
36
+ readonly checkoutFailed: string;
37
+ /** The weight sheet's error with `weightUnit="kg"`. No approved words yet: '' (a copy ask for Raph). */
38
+ readonly weightErrorKg: string;
39
+ /** The toast after a weight saved in kilograms. No approved words yet: returns '' and no toast shows. */
40
+ readonly weightSavedKg: (kilograms: string) => string;
41
+ /** The back control over a pushed screen when the host draws no header of its own (src/rn/records/ScreenHeader.tsx). */
42
+ readonly back: string;
43
+ }
44
+ declare const HEALTH_PLAN_FOCUS_RN_COPY: HealthPlanFocusRnCopy;
45
+ /**
46
+ * The pet-naming keys of the focus copy, re-said for this pet. A female pet gets Raph's words unchanged; a male one
47
+ * "his"; a pet of unknown sex its name ("Rex's"); no name either, "your pet's".
48
+ */
49
+ declare function healthPlanPetCopy(pet: HealthPlanPetWords): Partial<HealthPlanFocusRnCopy>;
50
+
51
+ interface HealthPlanFocusCheckoutRow {
52
+ readonly icon: HealthPlanFocusIcon;
53
+ readonly label: string;
54
+ readonly value: string;
55
+ }
56
+
57
+ /** Which overlay the focus layout has open. */
58
+ type HealthPlanFocusRnOverlay = 'checkout' | 'manage' | 'started' | 'cart' | 'cartCheckout' | 'placed' | 'orders' | 'order' | 'weight' | null;
59
+ /** Handed to `onOverlayChange`, so the host's own header can title a pushed screen and close it. */
60
+ interface HealthPlanFocusRnOverlayControls {
61
+ /** Closes everything the layout has open. */
62
+ readonly close: () => void;
63
+ /** Closes the top screen or sheet only (a header's back). */
64
+ readonly back: () => void;
65
+ /** The title for the host's header over a pushed screen ("Cart", "Order placed"); absent over a sheet. */
66
+ readonly title?: string;
67
+ /** True for a full screen (no bottom tabs under it): the cart, the order placed, the started screen. */
68
+ readonly full?: boolean;
69
+ }
70
+ /** The pet's records read the layout needs: only whether there are any. */
71
+ interface HealthPlanRecordsReader {
72
+ getRecord(petRef: PetRef): Promise<EverfurResult<RecordsRecordWire>>;
73
+ }
74
+ /** The focus layout's options on React Native (`EverfurHealthPlan focus={...}`). Every one is optional. */
75
+ interface HealthPlanFocusRnOptions {
76
+ /** Your content for the layout. Omit it and the pet's plan page is read from Everfur. */
77
+ readonly design?: HealthPlanFocusDesign;
78
+ /** Your words over the SDK's, on top of `design.copy`. */
79
+ readonly copy?: Partial<HealthPlanFocusRnCopy>;
80
+ /** Draw an icon your way. */
81
+ readonly renderIcon?: (icon: HealthPlanFocusIcon) => ReactNode;
82
+ /** False never reads the subscription quote. Default true. */
83
+ readonly subscriptions?: boolean;
84
+ /** A one-time buy handed to your checkout (partner checkout). Omit it and `onCheckout([item])` is called. */
85
+ readonly onBuy?: (item: HealthPlanItem) => void;
86
+ /** The "Why this product?" link. Omit it and the link is not drawn. */
87
+ readonly onMore?: (item: HealthPlanItem) => void;
88
+ /** One of `design.extras` was added (or taken back). Omit it and the extras without a product are not drawn. */
89
+ readonly onExtra?: (key: string, added: boolean) => void;
90
+ /** The checkup questions were added to (or taken off) the next visit. */
91
+ readonly onAddToVisit?: (added: boolean, questions: readonly string[]) => void;
92
+ /** A screen or sheet opened or closed, with its title and controls for your header. */
93
+ readonly onOverlayChange?: (overlay: HealthPlanFocusRnOverlay, controls: HealthPlanFocusRnOverlayControls) => void;
94
+ readonly onSubscriptionChange?: (subscription: HealthPlanSubscription) => void;
95
+ readonly onOneBoxOrder?: (order: HealthPlanOneBoxOrder) => void;
96
+ /** The jump strip under the focus card was pressed: scroll your container to the pick. Omit it and the strip is not a control. */
97
+ readonly onJump?: () => void;
98
+ /** Number and date locale. */
99
+ readonly locale?: string;
100
+ readonly subscriptionRepository?: HealthPlanSubscriptionRepository;
101
+ readonly pageRepository?: HealthPlanPageRepository;
102
+ /** Your records reader (tests, a stub backend). Omit it and Everfur's records read is used. */
103
+ readonly recordsRepository?: HealthPlanRecordsReader;
104
+ /** How the member leaves for Stripe Checkout. Defaults to `Linking.openURL(url)`. */
105
+ readonly navigate?: (url: string) => void;
106
+ /**
107
+ * Where Stripe sends the member back: an absolute https URL your app opens (App Link / Universal Link) to this
108
+ * screen. Required for Everfur checkout (`checkout: everfur_stripe`): without it Buy keeps the earlier flow (`onBuy`,
109
+ * else `onCheckout([item])`) and the shop is off, so the member is never sent to Stripe with no way back.
110
+ */
111
+ readonly checkoutReturnUrl?: string;
112
+ /**
113
+ * The shop (Add to cart, the cart, the orders). Defaults to on for Everfur checkout with a `checkoutReturnUrl`;
114
+ * `shop: false` turns it off and keeps Buy and Subscribe.
115
+ */
116
+ readonly shop?: boolean;
117
+ /** The partner's own orders for this pet, listed after Everfur's, drawn as given. */
118
+ readonly shopOrders?: readonly HealthPlanShopOrder[];
119
+ readonly onOrderHelp?: (orderKey: string) => void;
120
+ /** False: the weight is unknown, so a dog's dose is replaced by a row that asks for it. The plan page sets it. */
121
+ readonly weightKnown?: boolean;
122
+ /** The weight sheet's unit: pounds (default) or kilograms. The pet's profile is always written in kilograms. */
123
+ readonly weightUnit?: 'lb' | 'kg';
124
+ /** Save the weight your way. Omit it and the pet's profile is updated (`updatePet`, `weightKg`). */
125
+ readonly onSaveWeight?: (weightKg: number, pounds: number) => Promise<EverfurResult<unknown>>;
126
+ readonly onWeightSaved?: (weightKg: number) => void;
127
+ /**
128
+ * True draws the row that asks for the pet's vet records (with `onConnectRecords`). Omit it and, with
129
+ * `onConnectRecords`, the pet's records are read: the row shows only when the read says the record is empty.
130
+ */
131
+ readonly recordsMissing?: boolean;
132
+ readonly onConnectRecords?: () => void;
133
+ /**
134
+ * The waiting state (Q3, for example a partner's test result not in yet): return your card and the plan's sections give way
135
+ * to it. Return null and the plan draws as usual. The words are yours.
136
+ */
137
+ readonly renderWait?: () => ReactNode;
138
+ /** The waiting card's button (`design.wait.action`). */
139
+ readonly onWaitAction?: () => void;
140
+ /** Checkout facts (Q6): drawn in the checkout sheets only when you pass them. */
141
+ readonly checkoutRows?: readonly HealthPlanFocusCheckoutRow[];
142
+ /** The trust row under the buy button (Q6): drawn only when you pass it. */
143
+ readonly trust?: readonly {
144
+ readonly icon: HealthPlanFocusIcon;
145
+ readonly label: string;
146
+ }[];
147
+ /** The pet's sex for the words ("her", "his") when the plan page does not say it. */
148
+ readonly petSex?: 'female' | 'male' | null;
149
+ }
150
+ interface HealthPlanFocusProps extends Omit<HealthPlanFocusRnOptions, 'design'> {
151
+ readonly design: HealthPlanFocusDesign;
152
+ /** Whose checkout runs. `partner` (the default) is the handoff; `everfur_stripe` opens Stripe. */
153
+ readonly checkout?: HealthPlanCheckoutProvider;
154
+ readonly item: HealthPlanItem;
155
+ readonly others?: readonly HealthPlanItem[];
156
+ readonly showCategory?: boolean;
157
+ readonly lifecycle?: LifecyclePort | null;
158
+ readonly refreshKey?: string | number;
159
+ readonly petRef: PetRef;
160
+ readonly petName: string | null;
161
+ /** The pet's species: a known species other than a dog draws no dose and no weight row. */
162
+ readonly species?: string | null;
163
+ /** True when the design is Everfur's plan page (its byline and checkout facts follow Q2 and Q6). */
164
+ readonly fromBackend?: boolean;
165
+ /** Q2: the page says its template is vet reviewed. Only then is a backend page's byline drawn. */
166
+ readonly vetReviewed?: boolean;
167
+ /**
168
+ * Q9: the partner texts tracking numbers (`trackingTextsEnabled` on the plan page or the plan read). Only then are
169
+ * the "Tracking comes by text" lines drawn. Absent = false.
170
+ */
171
+ readonly trackingTexts?: boolean;
172
+ readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
173
+ readonly priceFormat?: HealthPlanPriceFormat;
174
+ readonly style?: StyleProp<ViewStyle>;
175
+ }
176
+ /** The focus layout over one plan item. `EverfurHealthPlan` mounts it. */
177
+ declare function HealthPlanFocus(props: HealthPlanFocusProps): ReactNode;
178
+
179
+ interface EverfurHealthPlanProps extends HealthPlanLayoutProps {
180
+ /** The pet whose plan to show. Omit it and the provider's active pet is used. */
181
+ readonly petRef?: PetRef | null;
182
+ /** Called with the cart's items when the member presses checkout. Omit it and no checkout control is drawn. */
183
+ readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
184
+ /** Your own wording for a refused read. The retry control stays the SDK's. */
185
+ readonly renderNotice?: (error: EverfurError) => ReactNode;
186
+ /** What to show when the `healthPlan` capability is off. Defaults to the gate's own off state. */
187
+ readonly renderDisabled?: (decision: CapabilityDecision) => ReactNode;
188
+ readonly style?: StyleProp<ViewStyle>;
189
+ /**
190
+ * Your app's lifecycle signals: coming back to the foreground after more than a minute re-reads the plan quietly
191
+ * (the plan stays on screen), so a plan or catalog change made outside the app shows (the plan carries no
192
+ * purchase state). Without it, only `refreshKey` re-reads.
193
+ */
194
+ readonly lifecycle?: LifecyclePort;
195
+ /** Change it to re-read the plan now, quietly (for example after your checkout completed). */
196
+ readonly refreshKey?: string | number;
197
+ /**
198
+ * The layout setting, `healthPlanLayout` (`standard` or `focus_plan`). Your value wins over the console's unless the
199
+ * tenant locked it; unset, the console's, else the SDK default.
200
+ */
201
+ readonly presentation?: Pick<EverfurPresentationInput, 'healthPlanLayout'>;
202
+ /**
203
+ * The focus layout's options, read while the layout resolves to `focus_plan`. Without `focus.design` the content is
204
+ * Everfur's plan page for the pet. Everfur checkout (`checkout: everfur_stripe` on the page) needs
205
+ * `focus.checkoutReturnUrl`.
206
+ */
207
+ readonly focus?: HealthPlanFocusRnOptions;
208
+ /**
209
+ * Whether this pet has a plan to show (Q1): false for no plan (nothing is drawn, so hide your tab or entry), true
210
+ * once the plan is drawn. Not called while it is still loading or after a refused read.
211
+ */
212
+ readonly onAvailabilityChange?: (available: boolean) => void;
213
+ }
214
+ /** One pet's Health Plan in a React Native app. Mount it under the `EverfurProvider` from "@everfur/sdk". */
215
+ declare function EverfurHealthPlan(props: EverfurHealthPlanProps): ReactNode;
216
+
217
+ interface HealthPlanItemCardProps extends HealthPlanCardOptions {
218
+ readonly item: HealthPlanItem;
219
+ /** Called with the answer the member asked for: `true` to add, `false` to remove. A throw is swallowed. */
220
+ readonly onToggle?: (inPlan: boolean) => void;
221
+ /** True while this item's add or remove is in flight. */
222
+ readonly pending?: boolean;
223
+ /** This item's last refused write, shown under the control. */
224
+ readonly error?: EverfurError | null;
225
+ /** `'wide'` (default): a full-width picture above the name. `'thumbnail'`: a square picture beside the name. */
226
+ readonly imageVariant?: HealthPlanImageVariant;
227
+ /** `'pills'` (default): filled reason chips. `'rows'`: a mono label column and the reason text, no fill. */
228
+ readonly reasonVariant?: HealthPlanReasonVariant;
229
+ /** How the price reads (locale, and whether a whole amount drops its zero cents). */
230
+ readonly priceFormat?: HealthPlanPriceFormat;
231
+ /** Your own node at the foot of the card, above the control (a study card, a repeat switch). A throw draws nothing. */
232
+ readonly renderFooter?: (item: HealthPlanItem) => ReactNode;
233
+ readonly style?: StyleProp<ViewStyle>;
234
+ }
235
+ /** One Health Plan product as a card, with its reasons and its add / remove control. */
236
+ declare function HealthPlanItemCard(props: HealthPlanItemCardProps): ReactNode;
237
+
238
+ interface HealthPlanCartBarProps {
239
+ readonly cart: HealthPlanCart;
240
+ /** Called with the items in the cart when the member presses checkout. A throw is swallowed. */
241
+ readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
242
+ /** True while any add or remove is in flight; checkout waits for the cart to settle. */
243
+ readonly busy?: boolean;
244
+ /** How the subtotal reads (locale, and whether a whole amount drops its zero cents). */
245
+ readonly priceFormat?: HealthPlanPriceFormat;
246
+ readonly style?: StyleProp<ViewStyle>;
247
+ }
248
+ /** The cart bar of a Health Plan. */
249
+ declare function HealthPlanCartBar(props: HealthPlanCartBarProps): ReactNode;
250
+
251
+ export { EverfurError, EverfurHealthPlan, type EverfurHealthPlanProps, EverfurPresentationInput, EverfurResult, HEALTH_PLAN_FOCUS_RN_COPY, HealthPlanCardOptions, HealthPlanCart, HealthPlanCartBar, type HealthPlanCartBarProps, HealthPlanCheckoutProvider, HealthPlanFocus, type HealthPlanFocusCheckoutRow, HealthPlanFocusCopy, HealthPlanFocusDesign, HealthPlanFocusIcon, type HealthPlanFocusProps, type HealthPlanFocusRnCopy, type HealthPlanFocusRnOptions, type HealthPlanFocusRnOverlay, type HealthPlanFocusRnOverlayControls, HealthPlanImageVariant, HealthPlanItem, HealthPlanItemCard, type HealthPlanItemCardProps, HealthPlanLayoutProps, HealthPlanOneBoxOrder, HealthPlanPageRepository, type HealthPlanPetWords, HealthPlanPriceFormat, HealthPlanReasonVariant, type HealthPlanRecordsReader, HealthPlanShopOrder, HealthPlanSubscription, HealthPlanSubscriptionRepository, LifecyclePort, PetRef, RecordsRecordWire, healthPlanPetCopy, healthPlanPossessive };
@@ -0,0 +1,251 @@
1
+ import { ReactNode } from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ import { C as CapabilityDecision } from '../resolve.d-jI8FmBj3.js';
4
+ import { E as EverfurError } from '../EverfurError.d-8NHtlgzA.js';
5
+ export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError.d-8NHtlgzA.js';
6
+ import { P as PetRef } from '../ids.d-B2GAAifq.js';
7
+ export { B as Brand, C as ConversationId, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids.d-B2GAAifq.js';
8
+ import { H as HealthPlanFocusCopy, a as HealthPlanFocusIcon, b as HealthPlanFocusDesign, c as HealthPlanItem, d as HealthPlanSubscription, e as HealthPlanOneBoxOrder, f as HealthPlanSubscriptionRepository, g as HealthPlanPageRepository, h as HealthPlanShopOrder, i as HealthPlanCheckoutProvider, j as HealthPlanPriceFormat, k as HealthPlanLayoutProps, l as HealthPlanCardOptions, m as HealthPlanImageVariant, n as HealthPlanReasonVariant, o as HealthPlanCart } from '../focus.d-DMg2ngHI.js';
9
+ export { E as EverfurHealthPlanOptions, p as EverfurHealthPlanState, q as EverfurHealthPlanStatus, r as HEALTH_PLAN_COPY, s as HEALTH_PLAN_COPY_PLACEHOLDERS, t as HEALTH_PLAN_FOCUS_COPY, u as HEALTH_PLAN_LAYOUT_DEFAULTS, v as HEALTH_PLAN_REASON_KINDS, w as HEALTH_PLAN_REASON_LABELS, x as HEALTH_PLAN_TEMPLATES, y as HealthPlan, z as HealthPlanAddButtonSize, A as HealthPlanAddedVariant, B as HealthPlanCardShadow, C as HealthPlanCartBarPlacement, D as HealthPlanCartBarVisibility, F as HealthPlanCartCheckoutRequest, G as HealthPlanCartDock, I as HealthPlanCartScope, J as HealthPlanCartScopeProps, K as HealthPlanCategoryVariant, L as HealthPlanCheckoutItem, M as HealthPlanCheckoutRefusal, N as HealthPlanCheckoutRequest, O as HealthPlanCheckoutSession, P as HealthPlanCheckoutState, Q as HealthPlanCheckoutStatus, R as HealthPlanController, S as HealthPlanFocusExtra, T as HealthPlanFocusPrices, U as HealthPlanFocusReasonRow, V as HealthPlanFocusReview, W as HealthPlanFocusSign, X as HealthPlanFocusStep, Y as HealthPlanFocusWait, Z as HealthPlanFontWeight, _ as HealthPlanHeaderContext, $ as HealthPlanOneBoxOffer, a0 as HealthPlanOneBoxOrderPage, a1 as HealthPlanOneBoxOrderPageOptions, a2 as HealthPlanOrderStatus, a3 as HealthPlanOrderTracking, a4 as HealthPlanOrderTrackingStatus, a5 as HealthPlanPage, a6 as HealthPlanPageContext, a7 as HealthPlanPageOptions, a8 as HealthPlanPagePet, a9 as HealthPlanPagePhase, aa as HealthPlanPageState, ab as HealthPlanPhase, ac as HealthPlanPurchase, ad as HealthPlanReason, ae as HealthPlanReasonKind, af as HealthPlanRepository, ag as HealthPlanRepositoryDeps, ah as HealthPlanRuntime, ai as HealthPlanShadow, aj as HealthPlanSnapshot, ak as HealthPlanSubscriptionQuote, al as HealthPlanSubscriptionRenewal, am as HealthPlanSubscriptionStatus, an as HealthPlanSubscriptionStep, ao as HealthPlanSubscriptionSupply, ap as HealthPlanTrackStep, aq as createHealthPlanPageRepository, ar as createHealthPlanPageRepositoryOver, as as createHealthPlanRepository, at as createHealthPlanRepositoryOver, au as formatHealthPlanDay, av as formatHealthPlanPrice, aw as formatHealthPlanPriceWith, ax as healthPlanCart, ay as healthPlanCheckoutRefusal, az as healthPlanCheckoutSessionFromWire, aA as healthPlanCheckoutStateFromWire, aB as healthPlanFocusDesignFromWire, aC as healthPlanFromWire, aD as healthPlanPageFromWire, aE as isHealthPlanSessionRequired, aF as showHealthPlanCartBar, aG as useEverfurHealthPlan, aH as useEverfurHealthPlanRepository, aI as useHealthPlanCartDock, aJ as useHealthPlanPage, aK as useHealthPlanPageRepository } from '../focus.d-DMg2ngHI.js';
10
+ import { i as EverfurPresentationInput } from '../presentation.d-DMbdad7G.js';
11
+ export { E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, j as EverfurSafetyDisclaimerPlacement } from '../presentation.d-DMbdad7G.js';
12
+ import { L as LifecyclePort } from '../LifecyclePort.d-Cr1p33a7.js';
13
+ import { E as EverfurResult } from '../EverfurResult.d-D_-254ZY.js';
14
+ import { R as RecordsRecordWire } from '../ports.d-BX4f4UsB.js';
15
+ export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity.d-DzTijonw.js';
16
+ export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../config.d-Dy6igYlH.js';
17
+ export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-68yrE3BE.js';
18
+ export { u as useEverfurPresentation } from '../usePresentation.d-DuGQe_Do.js';
19
+ import '../requestFunnel.d-CXUMPw1K.js';
20
+
21
+ /** The pet facts the words are sized to. */
22
+ interface HealthPlanPetWords {
23
+ readonly name: string | null;
24
+ readonly sex: 'female' | 'male' | null;
25
+ /** The partner texts tracking numbers (Q9): the "by text" lines are drawn. Absent = false. */
26
+ readonly trackingTexts?: boolean;
27
+ }
28
+ /** "her" for a female, "his" for a male, "Georgia's" for a named pet of unknown sex, else null. */
29
+ declare function healthPlanPossessive(pet: HealthPlanPetWords): string | null;
30
+ /** The words the React Native focus layout adds over `HealthPlanFocusCopy`. Each '' hides what it labels. */
31
+ interface HealthPlanFocusRnCopy extends HealthPlanFocusCopy {
32
+ /**
33
+ * Q8: the one line on the cart after a checkout came back failed or expired (the items stay). The Everfur web
34
+ * app's own words (everfur-frontend app/lib/error-handler.ts:66).
35
+ */
36
+ readonly checkoutFailed: string;
37
+ /** The weight sheet's error with `weightUnit="kg"`. No approved words yet: '' (a copy ask for Raph). */
38
+ readonly weightErrorKg: string;
39
+ /** The toast after a weight saved in kilograms. No approved words yet: returns '' and no toast shows. */
40
+ readonly weightSavedKg: (kilograms: string) => string;
41
+ /** The back control over a pushed screen when the host draws no header of its own (src/rn/records/ScreenHeader.tsx). */
42
+ readonly back: string;
43
+ }
44
+ declare const HEALTH_PLAN_FOCUS_RN_COPY: HealthPlanFocusRnCopy;
45
+ /**
46
+ * The pet-naming keys of the focus copy, re-said for this pet. A female pet gets Raph's words unchanged; a male one
47
+ * "his"; a pet of unknown sex its name ("Rex's"); no name either, "your pet's".
48
+ */
49
+ declare function healthPlanPetCopy(pet: HealthPlanPetWords): Partial<HealthPlanFocusRnCopy>;
50
+
51
+ interface HealthPlanFocusCheckoutRow {
52
+ readonly icon: HealthPlanFocusIcon;
53
+ readonly label: string;
54
+ readonly value: string;
55
+ }
56
+
57
+ /** Which overlay the focus layout has open. */
58
+ type HealthPlanFocusRnOverlay = 'checkout' | 'manage' | 'started' | 'cart' | 'cartCheckout' | 'placed' | 'orders' | 'order' | 'weight' | null;
59
+ /** Handed to `onOverlayChange`, so the host's own header can title a pushed screen and close it. */
60
+ interface HealthPlanFocusRnOverlayControls {
61
+ /** Closes everything the layout has open. */
62
+ readonly close: () => void;
63
+ /** Closes the top screen or sheet only (a header's back). */
64
+ readonly back: () => void;
65
+ /** The title for the host's header over a pushed screen ("Cart", "Order placed"); absent over a sheet. */
66
+ readonly title?: string;
67
+ /** True for a full screen (no bottom tabs under it): the cart, the order placed, the started screen. */
68
+ readonly full?: boolean;
69
+ }
70
+ /** The pet's records read the layout needs: only whether there are any. */
71
+ interface HealthPlanRecordsReader {
72
+ getRecord(petRef: PetRef): Promise<EverfurResult<RecordsRecordWire>>;
73
+ }
74
+ /** The focus layout's options on React Native (`EverfurHealthPlan focus={...}`). Every one is optional. */
75
+ interface HealthPlanFocusRnOptions {
76
+ /** Your content for the layout. Omit it and the pet's plan page is read from Everfur. */
77
+ readonly design?: HealthPlanFocusDesign;
78
+ /** Your words over the SDK's, on top of `design.copy`. */
79
+ readonly copy?: Partial<HealthPlanFocusRnCopy>;
80
+ /** Draw an icon your way. */
81
+ readonly renderIcon?: (icon: HealthPlanFocusIcon) => ReactNode;
82
+ /** False never reads the subscription quote. Default true. */
83
+ readonly subscriptions?: boolean;
84
+ /** A one-time buy handed to your checkout (partner checkout). Omit it and `onCheckout([item])` is called. */
85
+ readonly onBuy?: (item: HealthPlanItem) => void;
86
+ /** The "Why this product?" link. Omit it and the link is not drawn. */
87
+ readonly onMore?: (item: HealthPlanItem) => void;
88
+ /** One of `design.extras` was added (or taken back). Omit it and the extras without a product are not drawn. */
89
+ readonly onExtra?: (key: string, added: boolean) => void;
90
+ /** The checkup questions were added to (or taken off) the next visit. */
91
+ readonly onAddToVisit?: (added: boolean, questions: readonly string[]) => void;
92
+ /** A screen or sheet opened or closed, with its title and controls for your header. */
93
+ readonly onOverlayChange?: (overlay: HealthPlanFocusRnOverlay, controls: HealthPlanFocusRnOverlayControls) => void;
94
+ readonly onSubscriptionChange?: (subscription: HealthPlanSubscription) => void;
95
+ readonly onOneBoxOrder?: (order: HealthPlanOneBoxOrder) => void;
96
+ /** The jump strip under the focus card was pressed: scroll your container to the pick. Omit it and the strip is not a control. */
97
+ readonly onJump?: () => void;
98
+ /** Number and date locale. */
99
+ readonly locale?: string;
100
+ readonly subscriptionRepository?: HealthPlanSubscriptionRepository;
101
+ readonly pageRepository?: HealthPlanPageRepository;
102
+ /** Your records reader (tests, a stub backend). Omit it and Everfur's records read is used. */
103
+ readonly recordsRepository?: HealthPlanRecordsReader;
104
+ /** How the member leaves for Stripe Checkout. Defaults to `Linking.openURL(url)`. */
105
+ readonly navigate?: (url: string) => void;
106
+ /**
107
+ * Where Stripe sends the member back: an absolute https URL your app opens (App Link / Universal Link) to this
108
+ * screen. Required for Everfur checkout (`checkout: everfur_stripe`): without it Buy keeps the earlier flow (`onBuy`,
109
+ * else `onCheckout([item])`) and the shop is off, so the member is never sent to Stripe with no way back.
110
+ */
111
+ readonly checkoutReturnUrl?: string;
112
+ /**
113
+ * The shop (Add to cart, the cart, the orders). Defaults to on for Everfur checkout with a `checkoutReturnUrl`;
114
+ * `shop: false` turns it off and keeps Buy and Subscribe.
115
+ */
116
+ readonly shop?: boolean;
117
+ /** The partner's own orders for this pet, listed after Everfur's, drawn as given. */
118
+ readonly shopOrders?: readonly HealthPlanShopOrder[];
119
+ readonly onOrderHelp?: (orderKey: string) => void;
120
+ /** False: the weight is unknown, so a dog's dose is replaced by a row that asks for it. The plan page sets it. */
121
+ readonly weightKnown?: boolean;
122
+ /** The weight sheet's unit: pounds (default) or kilograms. The pet's profile is always written in kilograms. */
123
+ readonly weightUnit?: 'lb' | 'kg';
124
+ /** Save the weight your way. Omit it and the pet's profile is updated (`updatePet`, `weightKg`). */
125
+ readonly onSaveWeight?: (weightKg: number, pounds: number) => Promise<EverfurResult<unknown>>;
126
+ readonly onWeightSaved?: (weightKg: number) => void;
127
+ /**
128
+ * True draws the row that asks for the pet's vet records (with `onConnectRecords`). Omit it and, with
129
+ * `onConnectRecords`, the pet's records are read: the row shows only when the read says the record is empty.
130
+ */
131
+ readonly recordsMissing?: boolean;
132
+ readonly onConnectRecords?: () => void;
133
+ /**
134
+ * The waiting state (Q3, for example a partner's test result not in yet): return your card and the plan's sections give way
135
+ * to it. Return null and the plan draws as usual. The words are yours.
136
+ */
137
+ readonly renderWait?: () => ReactNode;
138
+ /** The waiting card's button (`design.wait.action`). */
139
+ readonly onWaitAction?: () => void;
140
+ /** Checkout facts (Q6): drawn in the checkout sheets only when you pass them. */
141
+ readonly checkoutRows?: readonly HealthPlanFocusCheckoutRow[];
142
+ /** The trust row under the buy button (Q6): drawn only when you pass it. */
143
+ readonly trust?: readonly {
144
+ readonly icon: HealthPlanFocusIcon;
145
+ readonly label: string;
146
+ }[];
147
+ /** The pet's sex for the words ("her", "his") when the plan page does not say it. */
148
+ readonly petSex?: 'female' | 'male' | null;
149
+ }
150
+ interface HealthPlanFocusProps extends Omit<HealthPlanFocusRnOptions, 'design'> {
151
+ readonly design: HealthPlanFocusDesign;
152
+ /** Whose checkout runs. `partner` (the default) is the handoff; `everfur_stripe` opens Stripe. */
153
+ readonly checkout?: HealthPlanCheckoutProvider;
154
+ readonly item: HealthPlanItem;
155
+ readonly others?: readonly HealthPlanItem[];
156
+ readonly showCategory?: boolean;
157
+ readonly lifecycle?: LifecyclePort | null;
158
+ readonly refreshKey?: string | number;
159
+ readonly petRef: PetRef;
160
+ readonly petName: string | null;
161
+ /** The pet's species: a known species other than a dog draws no dose and no weight row. */
162
+ readonly species?: string | null;
163
+ /** True when the design is Everfur's plan page (its byline and checkout facts follow Q2 and Q6). */
164
+ readonly fromBackend?: boolean;
165
+ /** Q2: the page says its template is vet reviewed. Only then is a backend page's byline drawn. */
166
+ readonly vetReviewed?: boolean;
167
+ /**
168
+ * Q9: the partner texts tracking numbers (`trackingTextsEnabled` on the plan page or the plan read). Only then are
169
+ * the "Tracking comes by text" lines drawn. Absent = false.
170
+ */
171
+ readonly trackingTexts?: boolean;
172
+ readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
173
+ readonly priceFormat?: HealthPlanPriceFormat;
174
+ readonly style?: StyleProp<ViewStyle>;
175
+ }
176
+ /** The focus layout over one plan item. `EverfurHealthPlan` mounts it. */
177
+ declare function HealthPlanFocus(props: HealthPlanFocusProps): ReactNode;
178
+
179
+ interface EverfurHealthPlanProps extends HealthPlanLayoutProps {
180
+ /** The pet whose plan to show. Omit it and the provider's active pet is used. */
181
+ readonly petRef?: PetRef | null;
182
+ /** Called with the cart's items when the member presses checkout. Omit it and no checkout control is drawn. */
183
+ readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
184
+ /** Your own wording for a refused read. The retry control stays the SDK's. */
185
+ readonly renderNotice?: (error: EverfurError) => ReactNode;
186
+ /** What to show when the `healthPlan` capability is off. Defaults to the gate's own off state. */
187
+ readonly renderDisabled?: (decision: CapabilityDecision) => ReactNode;
188
+ readonly style?: StyleProp<ViewStyle>;
189
+ /**
190
+ * Your app's lifecycle signals: coming back to the foreground after more than a minute re-reads the plan quietly
191
+ * (the plan stays on screen), so a plan or catalog change made outside the app shows (the plan carries no
192
+ * purchase state). Without it, only `refreshKey` re-reads.
193
+ */
194
+ readonly lifecycle?: LifecyclePort;
195
+ /** Change it to re-read the plan now, quietly (for example after your checkout completed). */
196
+ readonly refreshKey?: string | number;
197
+ /**
198
+ * The layout setting, `healthPlanLayout` (`standard` or `focus_plan`). Your value wins over the console's unless the
199
+ * tenant locked it; unset, the console's, else the SDK default.
200
+ */
201
+ readonly presentation?: Pick<EverfurPresentationInput, 'healthPlanLayout'>;
202
+ /**
203
+ * The focus layout's options, read while the layout resolves to `focus_plan`. Without `focus.design` the content is
204
+ * Everfur's plan page for the pet. Everfur checkout (`checkout: everfur_stripe` on the page) needs
205
+ * `focus.checkoutReturnUrl`.
206
+ */
207
+ readonly focus?: HealthPlanFocusRnOptions;
208
+ /**
209
+ * Whether this pet has a plan to show (Q1): false for no plan (nothing is drawn, so hide your tab or entry), true
210
+ * once the plan is drawn. Not called while it is still loading or after a refused read.
211
+ */
212
+ readonly onAvailabilityChange?: (available: boolean) => void;
213
+ }
214
+ /** One pet's Health Plan in a React Native app. Mount it under the `EverfurProvider` from "@everfur/sdk". */
215
+ declare function EverfurHealthPlan(props: EverfurHealthPlanProps): ReactNode;
216
+
217
+ interface HealthPlanItemCardProps extends HealthPlanCardOptions {
218
+ readonly item: HealthPlanItem;
219
+ /** Called with the answer the member asked for: `true` to add, `false` to remove. A throw is swallowed. */
220
+ readonly onToggle?: (inPlan: boolean) => void;
221
+ /** True while this item's add or remove is in flight. */
222
+ readonly pending?: boolean;
223
+ /** This item's last refused write, shown under the control. */
224
+ readonly error?: EverfurError | null;
225
+ /** `'wide'` (default): a full-width picture above the name. `'thumbnail'`: a square picture beside the name. */
226
+ readonly imageVariant?: HealthPlanImageVariant;
227
+ /** `'pills'` (default): filled reason chips. `'rows'`: a mono label column and the reason text, no fill. */
228
+ readonly reasonVariant?: HealthPlanReasonVariant;
229
+ /** How the price reads (locale, and whether a whole amount drops its zero cents). */
230
+ readonly priceFormat?: HealthPlanPriceFormat;
231
+ /** Your own node at the foot of the card, above the control (a study card, a repeat switch). A throw draws nothing. */
232
+ readonly renderFooter?: (item: HealthPlanItem) => ReactNode;
233
+ readonly style?: StyleProp<ViewStyle>;
234
+ }
235
+ /** One Health Plan product as a card, with its reasons and its add / remove control. */
236
+ declare function HealthPlanItemCard(props: HealthPlanItemCardProps): ReactNode;
237
+
238
+ interface HealthPlanCartBarProps {
239
+ readonly cart: HealthPlanCart;
240
+ /** Called with the items in the cart when the member presses checkout. A throw is swallowed. */
241
+ readonly onCheckout?: (items: readonly HealthPlanItem[]) => void;
242
+ /** True while any add or remove is in flight; checkout waits for the cart to settle. */
243
+ readonly busy?: boolean;
244
+ /** How the subtotal reads (locale, and whether a whole amount drops its zero cents). */
245
+ readonly priceFormat?: HealthPlanPriceFormat;
246
+ readonly style?: StyleProp<ViewStyle>;
247
+ }
248
+ /** The cart bar of a Health Plan. */
249
+ declare function HealthPlanCartBar(props: HealthPlanCartBarProps): ReactNode;
250
+
251
+ export { EverfurError, EverfurHealthPlan, type EverfurHealthPlanProps, EverfurPresentationInput, EverfurResult, HEALTH_PLAN_FOCUS_RN_COPY, HealthPlanCardOptions, HealthPlanCart, HealthPlanCartBar, type HealthPlanCartBarProps, HealthPlanCheckoutProvider, HealthPlanFocus, type HealthPlanFocusCheckoutRow, HealthPlanFocusCopy, HealthPlanFocusDesign, HealthPlanFocusIcon, type HealthPlanFocusProps, type HealthPlanFocusRnCopy, type HealthPlanFocusRnOptions, type HealthPlanFocusRnOverlay, type HealthPlanFocusRnOverlayControls, HealthPlanImageVariant, HealthPlanItem, HealthPlanItemCard, type HealthPlanItemCardProps, HealthPlanLayoutProps, HealthPlanOneBoxOrder, HealthPlanPageRepository, type HealthPlanPetWords, HealthPlanPriceFormat, HealthPlanReasonVariant, type HealthPlanRecordsReader, HealthPlanShopOrder, HealthPlanSubscription, HealthPlanSubscriptionRepository, LifecyclePort, PetRef, RecordsRecordWire, healthPlanPetCopy, healthPlanPossessive };