@everfur/sdk 0.6.0 → 0.7.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 (156) hide show
  1. package/CHANGELOG.md +228 -0
  2. package/dist/{Chat-CHqcgMyw.d.ts → Chat-CFi5cNUF.d.ts} +4 -4
  3. package/dist/{Chat-BoAvCWhI.d.cts → Chat-DQOsAumH.d.cts} +4 -4
  4. package/dist/{DepthViews-B0g83e_N.d.cts → DepthViews-C409ubw-.d.cts} +1 -1
  5. package/dist/{DepthViews-7Y8Ur058.d.ts → DepthViews-D81c95Ra.d.cts} +1 -1
  6. package/dist/{DepthViews-Dg2bIon_.d.ts → DepthViews-es8mIK0w.d.ts} +1 -1
  7. package/dist/{DepthViews-CT5mQld9.d.cts → DepthViews-uilL1NJZ.d.ts} +1 -1
  8. package/dist/IntakeMedia-BcjjUizr.d.ts +103 -0
  9. package/dist/IntakeMedia-CL_S2tZE.d.cts +103 -0
  10. package/dist/animations/index.cjs +1 -1
  11. package/dist/animations/index.d.cts +3 -3
  12. package/dist/animations/index.d.ts +3 -3
  13. package/dist/animations/index.js +1 -1
  14. package/dist/{attachments-C3HJNYQ7.d.cts → attachments-B2GjBgvF.d.cts} +2 -2
  15. package/dist/{attachments-rkox0ewd.d.cts → attachments-DI710no4.d.cts} +5 -5
  16. package/dist/{attachments-CfxsVg7W.d.ts → attachments-DNaSbmA3.d.ts} +2 -2
  17. package/dist/{attachments-CThFsH4b.d.ts → attachments-SF88N654.d.ts} +5 -5
  18. package/dist/{bookingCopy-Y3OGdoMT.d.ts → bookingCopy-D2N3RhsV.d.ts} +451 -50
  19. package/dist/{bookingCopy-Do3zMeXb.d.cts → bookingCopy-xlXxORCA.d.cts} +451 -50
  20. package/dist/{bookingTypes-DCs8mmBb.d.cts → bookingTypes-D4pD3tHs.d.cts} +13 -1
  21. package/dist/{bookingTypes-DCs8mmBb.d.ts → bookingTypes-D4pD3tHs.d.ts} +13 -1
  22. package/dist/{branding-DYWma2il.d.ts → branding-Bio5MM6g.d.cts} +3 -3
  23. package/dist/{branding-ChXm8gxI.d.cts → branding-ytH4jJq1.d.ts} +3 -3
  24. package/dist/{callCopy-CPe9mbwG.d.cts → callCopy-DHjem0R-.d.cts} +12 -1
  25. package/dist/{callCopy-CPe9mbwG.d.ts → callCopy-DHjem0R-.d.ts} +12 -1
  26. package/dist/{casesRepository-Jj6t60AY.d.cts → casesRepository-B-md8h1S.d.cts} +1 -1
  27. package/dist/{casesRepository-BbgXYPxa.d.ts → casesRepository-CC6951TK.d.ts} +1 -1
  28. package/dist/chat/index.cjs +1 -1
  29. package/dist/chat/index.d.cts +9 -9
  30. package/dist/chat/index.d.ts +9 -9
  31. package/dist/chat/index.js +1 -1
  32. package/dist/client/index.cjs +2 -2
  33. package/dist/client/index.d.cts +10 -10
  34. package/dist/client/index.d.ts +10 -10
  35. package/dist/client/index.js +2 -2
  36. package/dist/{config-Dfbj5mlx.d.ts → config-BM0sv5jx.d.ts} +1 -1
  37. package/dist/{config-BZX97FmW.d.cts → config-Daa1plhQ.d.cts} +1 -1
  38. package/dist/consent/index.cjs +1 -1
  39. package/dist/consent/index.d.cts +5 -5
  40. package/dist/consent/index.d.ts +5 -5
  41. package/dist/consent/index.js +1 -1
  42. package/dist/{context-Cbe0zYym.d.ts → context-CDV2pwGI.d.ts} +7 -7
  43. package/dist/{context-DJXnZ1Mx.d.cts → context-DQHtwcHN.d.cts} +7 -7
  44. package/dist/{copy-dKK5KoAQ.d.cts → copy-BEx5F71o.d.cts} +2 -2
  45. package/dist/{copy-DHekqSKE.d.ts → copy-Cl1l-qmY.d.ts} +2 -2
  46. package/dist/core/index.cjs +7 -7
  47. package/dist/core/index.d.cts +21 -21
  48. package/dist/core/index.d.ts +21 -21
  49. package/dist/core/index.js +7 -7
  50. package/dist/{depth-NmWSbvfi.d.cts → depth-CAAwiStc.d.cts} +132 -38
  51. package/dist/{depth-CrpRjWGB.d.ts → depth-DfNRVtrV.d.ts} +132 -38
  52. package/dist/{entitlementRepository-tVNazi8R.d.ts → entitlementRepository-CVWvND1P.d.ts} +3 -3
  53. package/dist/{entitlementRepository-iL-9vS1i.d.cts → entitlementRepository-DPvWjV-N.d.cts} +3 -3
  54. package/dist/{identity-B8rp0L9G.d.ts → identity-BhT7oJDS.d.ts} +1 -1
  55. package/dist/{identity-D7PO5s9m.d.cts → identity-DUlshgow.d.cts} +1 -1
  56. package/dist/index.cjs +6 -6
  57. package/dist/index.d.cts +17 -17
  58. package/dist/index.d.ts +17 -17
  59. package/dist/index.js +6 -6
  60. package/dist/notifications/index.d.cts +2 -2
  61. package/dist/notifications/index.d.ts +2 -2
  62. package/dist/{pets-BWx9BKea.d.cts → pets-Bneph9m1.d.cts} +1 -1
  63. package/dist/{pets-BQbXmICf.d.ts → pets-DjcLmRrW.d.ts} +1 -1
  64. package/dist/{petsRepository-SqIvEMiT.d.cts → petsRepository-BnVre3q7.d.cts} +1 -1
  65. package/dist/{petsRepository-0oBVydl6.d.ts → petsRepository-BwxmfX_s.d.ts} +1 -1
  66. package/dist/photo/index.cjs +1 -1
  67. package/dist/photo/index.js +1 -1
  68. package/dist/{ports-ChnzSy4E.d.cts → ports-BPKxFOSe.d.cts} +10 -9
  69. package/dist/{ports-iXPWd7Vt.d.ts → ports-Di9rdLO9.d.ts} +10 -9
  70. package/dist/records/depth/index.cjs +2 -2
  71. package/dist/records/depth/index.d.cts +7 -7
  72. package/dist/records/depth/index.d.ts +7 -7
  73. package/dist/records/depth/index.js +2 -2
  74. package/dist/records/index.cjs +3 -3
  75. package/dist/records/index.d.cts +19 -10
  76. package/dist/records/index.d.ts +19 -10
  77. package/dist/records/index.js +3 -3
  78. package/dist/{requestFunnel-CQzz2DIW.d.ts → requestFunnel-CiSX2pun.d.ts} +2 -2
  79. package/dist/{requestFunnel-DAwb7haa.d.cts → requestFunnel-DMR_1T3O.d.cts} +2 -2
  80. package/dist/{runtimeTypes-DB9-kigO.d.cts → runtimeTypes-2gJ5hYoE.d.cts} +5 -5
  81. package/dist/{runtimeTypes-BNOxfmfg.d.ts → runtimeTypes-CkMFCbHW.d.ts} +5 -5
  82. package/dist/server/events/index.cjs +1 -1
  83. package/dist/server/events/index.d.cts +2 -2
  84. package/dist/server/events/index.d.ts +2 -2
  85. package/dist/server/events/index.js +1 -1
  86. package/dist/server/index.cjs +1 -1
  87. package/dist/server/index.d.cts +3 -3
  88. package/dist/server/index.d.ts +3 -3
  89. package/dist/server/index.js +1 -1
  90. package/dist/televet/booking/index.cjs +4 -1
  91. package/dist/televet/booking/index.d.cts +116 -29
  92. package/dist/televet/booking/index.d.ts +116 -29
  93. package/dist/televet/booking/index.js +4 -1
  94. package/dist/televet/call/index.cjs +1 -1
  95. package/dist/televet/call/index.d.cts +1 -1
  96. package/dist/televet/call/index.d.ts +1 -1
  97. package/dist/televet/call/index.js +1 -1
  98. package/dist/televet/index.cjs +1 -1
  99. package/dist/televet/index.js +1 -1
  100. package/dist/testing/index.cjs +3 -3
  101. package/dist/testing/index.d.cts +1 -1
  102. package/dist/testing/index.d.ts +1 -1
  103. package/dist/testing/index.js +3 -3
  104. package/dist/testing/rn/index.cjs +1 -1
  105. package/dist/testing/rn/index.d.cts +14 -12
  106. package/dist/testing/rn/index.d.ts +14 -12
  107. package/dist/testing/rn/index.js +1 -1
  108. package/dist/testing/web/index.d.cts +9 -9
  109. package/dist/testing/web/index.d.ts +9 -9
  110. package/dist/{timelineRows-Dll2IGFg.d.ts → timelineRows-D3171ksh.d.ts} +1 -1
  111. package/dist/{timelineRows-BuNhzDbH.d.cts → timelineRows-DDnz4gx2.d.cts} +1 -1
  112. package/dist/{tokens-ARWZtMOU.d.cts → tokens-BYtbKwFh.d.cts} +6 -3
  113. package/dist/{tokens-ARWZtMOU.d.ts → tokens-BYtbKwFh.d.ts} +6 -3
  114. package/dist/{typeStyle-YCS8dt19.d.cts → typeStyle-BqfwxZH4.d.cts} +2 -2
  115. package/dist/{typeStyle-8iEqQmP_.d.ts → typeStyle-DKz02DGU.d.ts} +2 -2
  116. package/dist/{uploadTransport-C1p8FuG8.d.cts → uploadTransport-BM_pnEWj.d.cts} +5 -0
  117. package/dist/{uploadTransport-bZIKBTyK.d.ts → uploadTransport-C6kGP1Kd.d.ts} +5 -0
  118. package/dist/{useRecordsDepth-CNEHZJtj.d.cts → useRecordsDepth-COJ0wSYK.d.cts} +1 -1
  119. package/dist/{useRecordsDepth-CuNdne6E.d.ts → useRecordsDepth-Z9FF5X4E.d.ts} +1 -1
  120. package/dist/video/index.cjs +1 -1
  121. package/dist/video/index.js +1 -1
  122. package/dist/{view-DFy8EDwf.d.ts → view-DoQEHXJR.d.ts} +47 -5
  123. package/dist/{view-BhqWlYrZ.d.cts → view-nRy6SitU.d.cts} +47 -5
  124. package/dist/web/consent/index.cjs +1 -1
  125. package/dist/web/consent/index.d.cts +5 -5
  126. package/dist/web/consent/index.d.ts +5 -5
  127. package/dist/web/consent/index.js +1 -1
  128. package/dist/web/index.cjs +7 -7
  129. package/dist/web/index.d.cts +23 -22
  130. package/dist/web/index.d.ts +23 -22
  131. package/dist/web/index.js +7 -7
  132. package/dist/web/notifications/index.d.cts +3 -3
  133. package/dist/web/notifications/index.d.ts +3 -3
  134. package/dist/web/records/depth/index.cjs +2 -2
  135. package/dist/web/records/depth/index.d.cts +7 -7
  136. package/dist/web/records/depth/index.d.ts +7 -7
  137. package/dist/web/records/depth/index.js +2 -2
  138. package/dist/web/records/index.cjs +3 -3
  139. package/dist/web/records/index.d.cts +28 -17
  140. package/dist/web/records/index.d.ts +28 -17
  141. package/dist/web/records/index.js +3 -3
  142. package/dist/web/televet/booking/index.cjs +4 -2
  143. package/dist/web/televet/booking/index.d.cts +227 -123
  144. package/dist/web/televet/booking/index.d.ts +227 -123
  145. package/dist/web/televet/booking/index.js +4 -2
  146. package/dist/web/televet/call/index.cjs +1 -1
  147. package/dist/web/televet/call/index.d.cts +1 -1
  148. package/dist/web/televet/call/index.d.ts +1 -1
  149. package/dist/web/televet/call/index.js +1 -1
  150. package/dist/web/televet/index.cjs +3 -3
  151. package/dist/web/televet/index.d.cts +12 -4
  152. package/dist/web/televet/index.d.ts +12 -4
  153. package/dist/web/televet/index.js +3 -3
  154. package/package.json +1 -1
  155. package/dist/BookedScreen-BJPbXLCG.d.ts +0 -54
  156. package/dist/BookedScreen-Cnld-jB_.d.cts +0 -54
@@ -1,23 +1,23 @@
1
1
  import { ReactNode, CSSProperties } from 'react';
2
2
  import { P as PetRef } from '../../../ids-B2GAAifq.js';
3
3
  export { B as Brand, _ as __brand } from '../../../ids-B2GAAifq.js';
4
- import { c as TelevetBookingStep, d as TelevetBookingController, e as TelevetTriageRead, f as TelevetStateInterestWrite, T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall } from '../../../bookingCopy-Y3OGdoMT.js';
5
- export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL, g as TELEVET_BOOKING_BASE, h as TELEVET_BOOKING_COPY, i as TELEVET_BOOKING_STEPS, j as TELEVET_CONSULT_PAGE_LIMIT, k as TELEVET_JOIN_CLOSES_MINUTES_AFTER, l as TELEVET_JOIN_OPENS_MINUTES_BEFORE, m as TelevetBookingAction, n as TelevetBookingContext, o as TelevetBookingControllerDeps, p as TelevetBookingCopy, q as TelevetBookingDraft, r as TelevetBookingFailure, s as TelevetBookingRefusal, t as TelevetBookingState, u as TelevetEarlyTriage, v as TelevetEmptyRosterView, ao as TelevetJoinBlock, ap as TelevetJoinDecision, x as TelevetJoinState, y as TelevetMediaRefusal, z as TelevetRead, A as TelevetStateInterestReason, B as TelevetTriageVerdict, D as TelevetWrite, E as attestation, F as canConfirm, G as canManageTelevetVisit, H as createTelevetBookingController, I as currentStep, J as emptyTelevetDraft, K as formatVisitRange, L as formatWhen, M as formatWhenWithDay, O as hasPreviousStep, P as initialTelevetBookingState, Q as isHoldExpired, R as isMediaShortfallEmpty, S as isSkipped, U as isTelevetBookingCopyReady, V as mediaShortfallFromUnsentPicks, W as splitTelevetVisits, X as televetBookingKey, Y as televetBookingReducer, Z as televetBookingRefusal, _ as televetCancelCall, $ as televetConsultCall, a0 as televetEmptyRosterCause, a1 as televetEmptyRosterView, a2 as televetHoldCall, a3 as televetJoinCall, aq as televetJoinDecision, a4 as televetJoinOpensAtMs, a6 as televetMediaShortfallLines, a7 as televetRescheduleCall, a8 as useEarlyTriage, a9 as useStateInterest, aa as useTelevetBookConsult, ab as useTelevetBookingAvailable, ac as useTelevetBookingController, ad as useTelevetBookingEntitlement, ae as useTelevetCancellationPolicy, af as useTelevetClinicians, ag as useTelevetHoldSlot, ah as useTelevetJoin, ai as useTelevetNextSlot, aj as useTelevetRescheduleConsult, ak as useTelevetSlots, al as useTelevetStatePolicy, am as validateBookingBody, an as withUnsentPicks } from '../../../bookingCopy-Y3OGdoMT.js';
6
- import { T as TelevetConsult, e as TelevetSlot } from '../../../bookingTypes-DCs8mmBb.js';
7
- export { i as CANCELLATION_POLICY_VERSION_MAX, j as CANCEL_REASON_MAX, k as CONSULT_KINDS, l as CONSULT_STATUSES, m as ConsultKind, C as ConsultStatus, M as MEDIA_REFS_MAX, R as REASON_TEXT_MAX, n as TERMINAL_CONSULT_STATUSES, g as TelevetBookingBody, b as TelevetBookingEntitlement, h as TelevetCancelReceipt, c as TelevetCancellationPolicy, d as TelevetClinician, f as TelevetSlotHold, a as TelevetStatePolicy, o as isWellFormedStateCode } from '../../../bookingTypes-DCs8mmBb.js';
4
+ import { c as TelevetBookingStep, d as TelevetBookingContext, e as TelevetBookingController, f as TelevetTriageRead, g as TelevetStateInterestWrite, T as TelevetEmptyRosterCause, a as TelevetStateInterestAction$1, b as TelevetMediaShortfall, h as TelevetVetThreadTarget, i as TelevetDayPeriod } from '../../../bookingCopy-D2N3RhsV.js';
5
+ export { C as CONSULT_MINUTES, N as NO_MEDIA_SHORTFALL, j as TELEVET_BOOKING_BASE, k as TELEVET_BOOKING_COPY, l as TELEVET_BOOKING_STEPS, m as TELEVET_CONSULT_PAGE_LIMIT, n as TELEVET_JOIN_CLOSES_MINUTES_AFTER, o as TELEVET_JOIN_OPENS_MINUTES_BEFORE, p as TELEVET_MESSAGE_THREADS_PATH, q as TelevetAttachmentMeta, r as TelevetAttachmentPolicy, s as TelevetBookingAction, t as TelevetBookingControllerDeps, u as TelevetBookingCopy, v as TelevetBookingDraft, w as TelevetBookingFailure, x as TelevetBookingRefusal, y as TelevetBookingState, z as TelevetEarlyTriage, A as TelevetEmptyRosterView, aR as TelevetJoinBlock, aS as TelevetJoinDecision, D as TelevetJoinState, E as TelevetMediaRefusal, F as TelevetRead, G as TelevetStateInterestReason, H as TelevetWrite, U as UseVetThreadOptions, V as VET_MESSAGES_COPY, I as VET_MESSAGE_CONTENT_MAX, J as VET_MESSAGE_PAGE_DEFAULT, K as VET_MESSAGE_PAGE_MAX, L as VetMessage, M as VetMessagePage, O as VetMessageRole, P as VetMessagesAvailability, Q as VetSendFailure, R as VetThread, S as VetThreadState, W as VetThreadsState, X as VisitSummary, Y as VisitSummaryMedication, Z as VisitSummaryState, _ as attestation, $ as canConfirm, a0 as canManageTelevetVisit, a1 as createTelevetBookingController, a2 as currentStep, a3 as emptyTelevetDraft, a4 as formatVisitRange, a5 as formatWhen, a6 as formatWhenWithDay, a7 as hasPreviousStep, a8 as initialTelevetBookingState, a9 as isHoldExpired, aa as isMediaShortfallEmpty, ab as isSkipped, ac as isTelevetBookingCopyReady, ad as isVetMessagesDark, ae as isVetThreadVetFirst, af as mediaShortfallFromUnsentPicks, ag as splitTelevetVisits, ah as televetBookingKey, ai as televetBookingReducer, aj as televetBookingRefusal, ak as televetCancelCall, al as televetConsultCall, am as televetEmptyRosterCause, an as televetEmptyRosterView, ao as televetHoldCall, ap as televetJoinCall, aT as televetJoinDecision, aq as televetJoinOpensAtMs, as as televetMediaShortfallLines, at as televetRescheduleCall, au as televetThreadMessagesCall, av as televetThreadReadCall, aw as televetVisitSummaryCall, ax as useEarlyTriage, ay as useStateInterest, az as useTelevetBookConsult, aA as useTelevetBookingAvailable, aB as useTelevetBookingController, aC as useTelevetBookingEntitlement, aD as useTelevetCancellationPolicy, aE as useTelevetClinicians, aF as useTelevetHoldSlot, aG as useTelevetJoin, aH as useTelevetNextSlot, aI as useTelevetRescheduleConsult, aJ as useTelevetSlots, aK as useTelevetStatePolicy, aL as useVetThread, aM as useVetThreads, aN as useVisitSummary, aO as validateBookingBody, aP as vetThreadPetRef, aQ as withUnsentPicks } from '../../../bookingCopy-D2N3RhsV.js';
6
+ import { T as TelevetConsult, b as TelevetSlot } from '../../../bookingTypes-D4pD3tHs.js';
7
+ export { C as CANCELLATION_POLICY_VERSION_MAX, c as CANCEL_REASON_MAX, d as CONSULT_KINDS, e as CONSULT_STATUSES, f as ConsultKind, g as ConsultStatus, M as MEDIA_REFS_MAX, R as REASON_TEXT_MAX, h as TERMINAL_CONSULT_STATUSES, i as TelevetBookingBody, j as TelevetBookingEntitlement, a as TelevetCancelReceipt, k as TelevetCancellationPolicy, l as TelevetClinician, m as TelevetSlotHold, n as TelevetStatePolicy, o as TelevetTriageVerdict, p as isWellFormedStateCode } from '../../../bookingTypes-D4pD3tHs.js';
8
8
  import { V as VetVisitIntent } from '../../../visitIntent-D7_yVp1I.js';
9
9
  import { E as EverfurTelevetFlowRequest } from '../../../televetGlobal-Cs9Wbqsy.js';
10
- import { T as TelevetCalendarWriter } from '../../../BookedScreen-BJPbXLCG.js';
11
- export { b as TelevetBookedScreen, c as TelevetBookedScreenProps, a as TelevetCalendarEvent, t as televetConsultCalendarKey } from '../../../BookedScreen-BJPbXLCG.js';
12
- import { E as EverfurTheme } from '../../../tokens-ARWZtMOU.js';
10
+ import { a as TelevetMediaPicker, T as TelevetCalendarWriter } from '../../../IntakeMedia-BcjjUizr.js';
11
+ export { d as TelevetBookedScreen, e as TelevetBookedScreenProps, b as TelevetCalendarEvent, f as TelevetIntakeMedia, c as TelevetIntakeMediaItem, g as TelevetIntakeMediaProps, t as televetConsultCalendarKey } from '../../../IntakeMedia-BcjjUizr.js';
12
+ import { E as EverfurTheme } from '../../../tokens-BYtbKwFh.js';
13
13
  export { b as VetCallCredential, c as VetCallJoinRefusal, d as VetCallLimits, p as parseVetCallCredential, v as vetCallJoinReason, e as vetCallJoinRefusal } from '../../../callRoom-7wrE3RP2.js';
14
14
  export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../../../EverfurError-DmELDpXp.js';
15
15
  export { E as EverfurResult } from '../../../EverfurResult-SGvHKsCB.js';
16
- export { W as WidgetPet } from '../../../petsRepository-0oBVydl6.js';
17
- import '../../../requestFunnel-CQzz2DIW.js';
16
+ export { W as WidgetPet } from '../../../petsRepository-BwxmfX_s.js';
17
+ import '../../../requestFunnel-CiSX2pun.js';
18
18
  import '../../../ErrorPolicyPort-D22LUVrK.js';
19
- import '../../../config-Dfbj5mlx.js';
20
- import '../../../identity-B8rp0L9G.js';
19
+ import '../../../config-BM0sv5jx.js';
20
+ import '../../../identity-BhT7oJDS.js';
21
21
  import '../../../TelemetryPort-BDNr00hu.js';
22
22
  import '../../../profile-CSs1wlXT.js';
23
23
 
@@ -43,6 +43,11 @@ interface TelevetBookingChromeProps {
43
43
  readonly title?: string;
44
44
  /** False on the first visible step, where Back would leave the flow entirely. */
45
45
  readonly canGoBack: boolean;
46
+ /**
47
+ * Draw Back in the bar. Defaults to true. The prebuilt flow passes false and draws Back at the foot of each
48
+ * step instead, beside Continue, as the owner-approved artifact does.
49
+ */
50
+ readonly showBack?: boolean | undefined;
46
51
  /**
47
52
  * Has the owner entered anything worth losing?
48
53
  *
@@ -65,8 +70,14 @@ interface TelevetBookingChromeProps {
65
70
  * fourth of eight), so the bar lights four segments while it is on screen.
66
71
  */
67
72
  readonly triageOpen?: boolean | undefined;
73
+ /**
74
+ * The household the flow runs for, as the step reducer reads it. The bar counts only the steps it leaves on
75
+ * screen, so a one-pet household reads "Step 1 of 7" on its first step. Absent, the bar counts the artifacts'
76
+ * eight ("Step 1 of 8" ... "Step 8 of 8").
77
+ */
78
+ readonly stepContext?: TelevetBookingContext | undefined;
68
79
  }
69
- declare function TelevetBookingChrome({ step, furthestIndex, title, canGoBack, isDirty, onBack, onClose, onConfirmDiscard, headingLevel: level, triageOpen, }: TelevetBookingChromeProps): ReactNode;
80
+ declare function TelevetBookingChrome({ step, furthestIndex, title, canGoBack, showBack, isDirty, onBack, onClose, onConfirmDiscard, headingLevel: level, triageOpen, stepContext, }: TelevetBookingChromeProps): ReactNode;
70
81
  /**
71
82
  * The back control's spoken label.
72
83
  *
@@ -92,39 +103,6 @@ interface TelevetEmergencyExitsProps {
92
103
  }
93
104
  declare function TelevetEmergencyExits({ petName, primaryVet, onFindEmergencyVet, testIDPrefix, }: TelevetEmergencyExitsProps): ReactNode;
94
105
 
95
- /** A picked-but-not-yet-uploaded attachment, in the host's own terms. */
96
- interface TelevetIntakeMediaItem {
97
- readonly uri: string;
98
- readonly filename: string;
99
- readonly mimeType: string;
100
- readonly fileSize: number;
101
- }
102
- /**
103
- * The host's media picker.
104
- *
105
- * Resolves the picks, or null when the owner cancelled. The SDK takes no picker dependency and opens no file
106
- * dialog of its own; a partner supplies whichever picker its site already has, typically an `<input
107
- * type="file">` whose `File` objects it turns into object URLs.
108
- *
109
- * `limit` is the remaining headroom, so the host can cap its own selection rather than returning picks this
110
- * row has to silently discard.
111
- */
112
- type TelevetMediaPicker = (limit: number) => Promise<readonly TelevetIntakeMediaItem[] | null>;
113
- interface TelevetIntakeMediaProps {
114
- readonly media: readonly TelevetIntakeMediaItem[];
115
- readonly onChange: (next: readonly TelevetIntakeMediaItem[]) => void;
116
- /** Absent, the row renders nothing at all. There is no disabled Add control. */
117
- readonly onPickMedia?: TelevetMediaPicker | undefined;
118
- /**
119
- * The list's accessible name.
120
- *
121
- * Required, with no default string here: naming the group is what makes the tiles announce as a set, and
122
- * the name is user-facing copy this SDK does not author. The intake step passes a ported key down.
123
- */
124
- readonly listLabel: string;
125
- }
126
- declare function TelevetIntakeMedia({ media, onChange, onPickMedia, listLabel }: TelevetIntakeMediaProps): ReactNode;
127
-
128
106
  /** What the host can tell us about a location it could not resolve, so the right card renders. */
129
107
  type TelevetLocationStatus = 'unknown' | 'blocked' | 'unavailable';
130
108
  interface EverfurTelevetBookingProps {
@@ -152,13 +130,13 @@ interface EverfurTelevetBookingProps {
152
130
  /**
153
131
  * THE EMERGENCY TRIAGE READ, asked after Describe rather than only at Confirm.
154
132
  *
155
- * ABSENT MEANS NO EARLY QUESTION and the flow behaves as it did before, with the server's own
156
- * `emergency_ack_required` refusal still waiting at Confirm. That is the consumer's rule for a triage read
157
- * that could not answer, not a degraded mode.
133
+ * ABSENT MEANS THE CONTROLLER'S OWN READ: `POST /widget/v1/televet/consults/triage`, the booking's own
134
+ * classifier, served dark behind `partner.televet_early_triage_enabled`. Where that route is dark the flow
135
+ * behaves as it did before, with the server's own `emergency_ack_required` refusal still waiting at Confirm.
136
+ * That is the consumer's rule for a triage read that could not answer, not a degraded mode.
158
137
  *
159
- * A SEAM BECAUSE `POST /widget/v1/televet/consults/triage` IS NOT SERVED (verified on EFBackend main
160
- * 2026-09-22 against the partner_televet route decorators). The consumer WEB funnel does ask the question
161
- * at this position (`continueFromDescribe`, since 2026-09-12) but against a CONSUMER session.
138
+ * GIVEN, IT WINS over the controller's read. The consumer WEB funnel asks the question at this position
139
+ * (`continueFromDescribe`, since 2026-09-12) against a CONSUMER session.
162
140
  */
163
141
  readonly onTriageReason?: TelevetTriageRead;
164
142
  /**
@@ -320,6 +298,16 @@ type TelevetScreen =
320
298
  readonly name: 'visit';
321
299
  readonly visitRef: string;
322
300
  readonly intent: VetVisitIntent | null;
301
+ }
302
+ /** The member's thread with the vet about one pet (EFBackend #1809). */
303
+ | {
304
+ readonly name: 'thread';
305
+ readonly target: TelevetVetThreadTarget;
306
+ }
307
+ /** The vet's approved summary of a finished visit (EFBackend #1809). */
308
+ | {
309
+ readonly name: 'summary';
310
+ readonly consult: TelevetConsult;
323
311
  };
324
312
  /**
325
313
  * The screen a request opens on: the visit it names, or the landing (the visits when one is ahead, otherwise
@@ -356,8 +344,9 @@ interface EverfurTelevetProps {
356
344
  */
357
345
  readonly onFindEmergencyVet?: () => void;
358
346
  /**
359
- * The emergency question asked after Describe. Absent, the question is asked at Confirm by the server, as
360
- * it is today: the partner plane serves no triage route. See `EverfurTelevetBooking`.
347
+ * The emergency question asked after Describe. Absent, the controller's own
348
+ * `POST /widget/v1/televet/consults/triage` is asked instead, and where that route is dark the server asks at
349
+ * Confirm. See `EverfurTelevetBooking`.
361
350
  */
362
351
  readonly onTriageReason?: TelevetTriageRead;
363
352
  /**
@@ -408,9 +397,14 @@ interface EverfurTelevetDialogProps {
408
397
  * Given, the confirmation offers Add to Calendar; absent, it has no calendar control.
409
398
  */
410
399
  readonly onAddToCalendar?: TelevetCalendarWriter | undefined;
400
+ /**
401
+ * The host's photo and video picker: `EverfurTelevetHost`'s `onPickMedia`, passed through. Given, the intake
402
+ * step offers the attachment row; absent, it has none.
403
+ */
404
+ readonly onPickMedia?: TelevetMediaPicker | undefined;
411
405
  }
412
406
  /** The in-page vet visit in a modal dialog. */
413
- declare function EverfurTelevetDialog({ request, onClose, onAddToCalendar }: EverfurTelevetDialogProps): ReactNode;
407
+ declare function EverfurTelevetDialog({ request, onClose, onAddToCalendar, onPickMedia }: EverfurTelevetDialogProps): ReactNode;
414
408
 
415
409
  interface TelevetJoinScreenProps {
416
410
  /** The consult to join. */
@@ -439,6 +433,13 @@ interface TelevetVisitsScreenProps {
439
433
  readonly onBook?: (() => void) | undefined;
440
434
  /** Leave the visits: back to the screen under them, or out of the flow from its first screen. */
441
435
  readonly onBack: () => void;
436
+ /**
437
+ * Open the member's thread with the vet about one pet. Absent, or while the thread routes are dark, neither the
438
+ * Messages card nor the late link is drawn.
439
+ */
440
+ readonly onOpenThread?: ((target: TelevetVetThreadTarget) => void) | undefined;
441
+ /** Open a finished visit's summary. Absent, or while the routes are dark, a finished row opens nothing. */
442
+ readonly onOpenSummary?: ((consult: TelevetConsult) => void) | undefined;
442
443
  /** True when the visits are the flow's first screen, so the way out is the close control rather than Back. */
443
444
  readonly isRoot?: boolean | undefined;
444
445
  /** Bumped by the flow after a booking, a move or a call, so the list is read again. */
@@ -454,7 +455,7 @@ interface TelevetVisitsScreenProps {
454
455
  readonly nowMs?: number | undefined;
455
456
  readonly style?: CSSProperties | undefined;
456
457
  }
457
- declare function TelevetVisitsScreen({ controller: injected, onJoin, onReschedule, onBook, onBack, isRoot, revision, returnedTo, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
458
+ declare function TelevetVisitsScreen({ controller: injected, onJoin, onReschedule, onBook, onBack, onOpenThread, onOpenSummary, isRoot, revision, returnedTo, nowMs, style, }: TelevetVisitsScreenProps): ReactNode;
458
459
 
459
460
  type Css = CSSProperties;
460
461
  declare function makeVisitStyles(theme: EverfurTheme): {
@@ -463,30 +464,45 @@ declare function makeVisitStyles(theme: EverfurTheme): {
463
464
  topBarStart: Css;
464
465
  iconButton: Css;
465
466
  textButton: Css;
467
+ pageTitle: Css;
466
468
  panel: Css;
467
- panelBody: Css;
468
469
  panelHeader: Css;
469
470
  panelTitle: Css;
470
- count: Css;
471
- bookTitle: Css;
471
+ pill: Css;
472
+ pillLine: Css;
473
+ pillLive: Css;
474
+ visit: Css;
475
+ dateTile: Css;
476
+ dateTileSmall: Css;
477
+ dateTileDay: Css;
478
+ visitMain: Css;
479
+ visitTitle: Css;
480
+ visitMeta: Css;
481
+ actions: Css;
472
482
  list: Css;
473
483
  row: Css;
484
+ rowFirst: Css;
474
485
  rowHead: Css;
475
- when: Css;
476
- pet: Css;
477
- chip: Css;
478
- chipPositive: Css;
479
- actions: Css;
480
- note: Css;
486
+ rowTitle: CSSProperties;
487
+ rowMeta: CSSProperties;
488
+ note: CSSProperties;
489
+ footnote: Css;
490
+ skeletons: Css;
491
+ empty: Css;
481
492
  notice: Css;
482
- noticeTitle: Css;
483
493
  noticeDanger: Css;
494
+ noticeTitle: CSSProperties;
484
495
  form: Css;
485
- label: Css;
486
- textarea: Css;
487
- fieldError: Css;
488
- empty: Css;
489
- skeletons: Css;
496
+ formTitle: Css;
497
+ kv: Css;
498
+ kvRow: Css;
499
+ kvLabel: Css;
500
+ kvValue: Css;
501
+ label: CSSProperties;
502
+ labelRow: Css;
503
+ labelNote: CSSProperties;
504
+ reasons: Css;
505
+ hint: Css;
490
506
  };
491
507
  type VisitStyles = ReturnType<typeof makeVisitStyles>;
492
508
 
@@ -507,74 +523,88 @@ interface TelevetCancelVisitFormProps {
507
523
  readonly onDismiss: () => void;
508
524
  readonly onRetryTerms: () => void;
509
525
  readonly styles: VisitStyles;
526
+ /** The pet's roster name, for the title and the first answer. Absent, the consumer's title and no first answer. */
527
+ readonly petName?: string | null | undefined;
528
+ /** The visit's own When, Vet and About, as the list already reads them. Each row is drawn only when given. */
529
+ readonly when?: string | null | undefined;
530
+ readonly vet?: string | null | undefined;
531
+ readonly about?: string | null | undefined;
532
+ /** "Move the visit instead" under the time answer. Absent, the hint has no way to the move. */
533
+ readonly onMoveInstead?: (() => void) | undefined;
534
+ }
535
+ declare function TelevetCancelVisitForm({ terms, submitting, failure, onConfirm, onDismiss, onRetryTerms, styles, petName, when, vet, about, onMoveInstead, }: TelevetCancelVisitFormProps): ReactNode;
536
+
537
+ interface TelevetVetThreadScreenProps {
538
+ /** The partner's reference for the pet the thread is about. */
539
+ readonly petRef: string;
540
+ /** The pet's roster name, for the title. */
541
+ readonly petName?: string | null | undefined;
542
+ /** The vet's served name, when the screen that opened the thread knows it. Otherwise read from the thread. */
543
+ readonly vetName?: string | null | undefined;
544
+ /** What the thread list said (`VetThread.ownerCanStart`). */
545
+ readonly ownerCanStart?: boolean | undefined;
546
+ /** Host/test seam: inject a booking controller instead of building one from the provider's session. */
547
+ readonly controller?: TelevetBookingController | undefined;
548
+ /** Back to the screen under the thread. */
549
+ readonly onBack: () => void;
550
+ /** Start a booking. Absent, "Book a visit" is omitted, never inert. */
551
+ readonly onBook?: (() => void) | undefined;
552
+ readonly style?: CSSProperties | undefined;
510
553
  }
511
- declare function TelevetCancelVisitForm({ terms, submitting, failure, onConfirm, onDismiss, onRetryTerms, styles, }: TelevetCancelVisitFormProps): ReactNode;
554
+ declare function TelevetVetThreadScreen({ petRef, petName, vetName, ownerCanStart, controller: injected, onBack, onBook, style, }: TelevetVetThreadScreenProps): ReactNode;
555
+
556
+ interface TelevetVisitSummaryScreenProps {
557
+ /** The finished visit whose summary this is. */
558
+ readonly consult: TelevetConsult;
559
+ /** Host/test seam: inject a booking controller instead of building one from the provider's session. */
560
+ readonly controller?: TelevetBookingController | undefined;
561
+ /** Back to the screen under the summary. */
562
+ readonly onBack: () => void;
563
+ /**
564
+ * Open the member's thread with this vet about this visit's pet. Absent, or when the roster cannot name the pet
565
+ * the thread is addressed by, "Message {vet}" is omitted, never inert.
566
+ */
567
+ readonly onMessageVet?: ((target: TelevetVetThreadTarget) => void) | undefined;
568
+ /** Start a booking. Absent, "Book a follow-up" is omitted. */
569
+ readonly onBook?: (() => void) | undefined;
570
+ readonly style?: CSSProperties | undefined;
571
+ }
572
+ declare function TelevetVisitSummaryScreen({ consult, controller: injected, onBack, onMessageVet, onBook, style, }: TelevetVisitSummaryScreenProps): ReactNode;
512
573
 
513
574
  /**
514
- * The emergency interstitial's cards: ownerCopy.ts:1074-1077, rendered by `EmergencyInterstitial`
515
- * (BookingFunnel.tsx:713-774). The number is the web app's own dialled constant (BookingFunnel.tsx:643), the
516
- * same one its emergency notice gives in words, never parsed back out of the displayed line.
575
+ * The emergency panel's cards on the web. Since 2026-09-30 both artifacts draw the same three rows, so the words
576
+ * are the shared deck's (`TELEVET_BOOKING_COPY.emergency`), kept under this name because it is public API. The
577
+ * number is the ASPCA's own line, dialled from `poisonControlTel`, never parsed back out of the displayed line.
517
578
  */
518
579
  declare const TELEVET_EMERGENCY_EXITS_WEB: Readonly<{
519
- findEmergencyVet: "Find an emergency vet near you";
520
- poisonControl: "ASPCA Animal Poison Control";
521
- poisonControlDetail: "(888) 426-4435 · a fee may apply";
580
+ findEmergencyVet: string;
581
+ poisonControl: string;
582
+ poisonControlDetail: string;
522
583
  poisonControlTel: "tel:+18884264435";
523
584
  }>;
524
585
  declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
525
- /** :1037. The same words as the shared deck, restated so the web deck is complete for this screen. */
526
- petSelectTitle: "Who is this visit for?";
527
- /** :1054. The shared deck's "or Type to the vet what you're seeing" kept an "or" from a removed option. */
528
- describeHeading: "Type to the vet what you're seeing";
529
- /** :1056 `describeHint`, the web frame's line under that heading. */
530
- describeHelpLong: "Describe the issues your pet is experiencing";
586
+ /** The web page's close control (`flow__x`, aria "Close booking"). The mobile artifact names its tab instead. */
587
+ close: "Close booking";
531
588
  /** see-a-vet/copy.ts:264 `intakeStepTwoCopy.detail.placeholder`, which the web funnel's textarea uses. */
532
589
  reasonPlaceholder: "She's been scratching her left ear a lot this week...";
533
- /** :1094 `vetHeading`. The shared deck's "Your Vet" is the mobile card's title. */
534
- yourVetTitle: "Which vet would you like to see?";
535
- /** :1113 `timeHeading`. */
536
- timeHeading: "Pick a date and time";
537
- /** :1116 `reviewHeading`, drawn on the web frame where the mobile review draws none. */
538
- reviewHeading: "Does this look right?";
539
- /**
540
- * :1047 `issuesHeading`, :1049 `issuesHint`, :1051 `otherIssue`. `{pet}` is DATA. The apostrophe is the
541
- * web deck's typographic one, character for character.
542
- */
543
- issuesHeadingTemplate: "Select {pet}’s main issues";
544
- issuesHint: "Can select more than 1";
545
- otherIssue: "Other";
546
- /** :1129 `bookedHeading`. `{vet}` is the booked clinician's served name; without one the shared title stays. */
547
- bookedHeadingTemplate: "You're booked with {vet}";
548
- /** :1141, capital C as the web frame draws it. */
549
- addToCalendarCta: "Add to Calendar";
550
- /** see-a-vet/copy.ts `statePolicyNoticeCopy.back`, the funnel's Back (FunnelFrame, BookingFunnel.tsx:280). */
590
+ /** The web page's quiet Back beside Continue ("Back"). */
551
591
  backLabel: "Back";
552
- /**
553
- * The emergency interstitial (`Desktop - 18`): ownerCopy.ts:1069, :1071-1072, :1085 and :1091.
554
- *
555
- * "PLEASE CALL ONE OF THESE FIRST." ONLY OVER CARDS THAT ARE THERE. The consumer web draws its cards on every
556
- * warning, so its lede can point at them. The SDK draws a card only when the host gave it one (a locator, the
557
- * pet's clinic) or the owner approves poison control, so a warning with none reads `ledeWithoutExits`: the
558
- * consumer MOBILE deck's lede for exactly that state (everfur-mobile copy.ts:726-730, "it must not tell an
559
- * owner to call a list that is absent from the screen"), which is the shared deck's value.
560
- */
561
- emergency: Readonly<{
562
- bannerTitle: "This can't wait for a scheduled call.";
563
- lede: "What you're describing is the kind of thing vets want to see in person, now. Please call one of these first.";
564
- ledeWithoutExits: string;
565
- keepBookingCta: "I've handled this, continue with booking";
566
- exitPrimaryVetTitle: "Call {petName}'s primary vet";
567
- exitFindErTitle: string;
568
- startCallHint: string;
569
- }>;
570
592
  stateBlockedTitle: string;
571
593
  noCliniciansTitle: string;
572
594
  noCliniciansBody: string;
573
595
  noCliniciansRetryCta: string;
574
596
  noCliniciansRegionBody: string;
597
+ yourVetTitle: string;
598
+ licensedPillTemplate: string;
575
599
  reviewsLabel: string;
576
600
  rescheduleFromTemplate: string;
577
601
  rescheduleFailed: string;
602
+ rescheduleStepLabel: string;
603
+ rescheduleTitleTemplate: string;
604
+ rescheduleNowLabel: string;
605
+ rescheduleMoveTemplate: string;
606
+ rescheduleMoving: string;
607
+ rescheduleKeepLabel: string;
578
608
  keepExistingCta: string;
579
609
  bookingPausedTitle: string;
580
610
  slotsErrorTitle: string;
@@ -607,10 +637,55 @@ declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
607
637
  refusedUnreadablePluralTemplate: string;
608
638
  }>;
609
639
  navTitle: string;
640
+ petFallback: "your pet";
641
+ whereTitleTemplate: string;
642
+ whereLeadTemplate: string;
643
+ wherePronounFallback: "they’ll";
644
+ whereFormLabelTemplate: string;
645
+ whereLegend: string;
646
+ wherePrescribeMetaTemplate: string;
647
+ whereWellnessMeta: string;
648
+ whereAnotherState: string;
649
+ whereWhichState: string;
650
+ whereLicensedTemplate: string;
651
+ whereAskEveryTime: string;
652
+ issuesTitleTemplate: string;
653
+ issuesHint: string;
654
+ issuesFormLabel: string;
655
+ issuesLegend: string;
656
+ issuesPickOne: string;
657
+ otherIssue: string;
658
+ describeHeadingTemplate: string;
659
+ describeFieldLabel: string;
660
+ emergencyCheck: Readonly<{
661
+ titleTemplate: string;
662
+ lead: string;
663
+ signs: readonly string[];
664
+ formLabel: string;
665
+ legend: string;
666
+ noneCta: string;
667
+ someCta: string;
668
+ }>;
669
+ timeHeading: string;
670
+ timeMorning: string;
671
+ timeAfternoon: string;
672
+ timeEvening: string;
673
+ timeLegendTemplate: string;
674
+ dayLegend: string;
675
+ reviewHeading: string;
676
+ summaryWhere: string;
677
+ changeCta: string;
678
+ whereAttestTemplate: string;
679
+ attestBoth: string;
680
+ bookedStepLabel: string;
681
+ bookedTitleTemplate: string;
682
+ bookedLeadTemplate: string;
683
+ footnote: string;
610
684
  rescheduleNavTitle: string;
611
- close: string;
612
685
  continueCta: string;
686
+ petSelectTitle: string;
613
687
  addPetCta: string;
688
+ addAnotherPetCta: string;
614
689
  locationUnknownTitle: string;
615
690
  locationUnknownBody: string;
616
691
  locationUnknownCta: string;
@@ -620,7 +695,10 @@ declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
620
695
  locationUnavailableTitle: string;
621
696
  locationUnavailableBody: string;
622
697
  stateAttestTemplate: string;
698
+ describeHeading: string;
699
+ describeHelpLong: string;
623
700
  addPhotoCta: string;
701
+ addPhotoMeta: string;
624
702
  removePhotoLabel: string;
625
703
  summaryPet: string;
626
704
  summaryVet: string;
@@ -629,11 +707,16 @@ declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
629
707
  summaryReason: string;
630
708
  summaryLengthTemplate: string;
631
709
  confirmCta: string;
710
+ confirmBusy: string;
632
711
  bookedTitle: string;
712
+ addToCalendarCta: string;
633
713
  doneCta: string;
634
714
  booked: Readonly<{
635
715
  remindPromise: string;
636
716
  summaryPromise: string;
717
+ recordsPromiseTemplate: string;
718
+ recordsPhotoPromiseTemplate: string;
719
+ stepsLabel: string;
637
720
  joinPromise: string;
638
721
  backToPet: string;
639
722
  calendarAdded: string;
@@ -649,6 +732,18 @@ declare const TELEVET_BOOKING_COPY_WEB: Readonly<{
649
732
  loadFailedTitle: string;
650
733
  retryCta: string;
651
734
  }>;
735
+ emergency: Readonly<{
736
+ bannerTitle: string;
737
+ keepBookingCta: string;
738
+ lede: string;
739
+ ledeWithoutExits: string;
740
+ exitPrimaryVetTitle: string;
741
+ exitFindErTitle: string;
742
+ startCallHint: string;
743
+ poisonControl: string;
744
+ poisonControlDetail: string;
745
+ poisonControlTel: "tel:+18884264435";
746
+ }>;
652
747
  visit: Readonly<{
653
748
  title: string;
654
749
  }>;
@@ -727,15 +822,24 @@ interface TelevetSlotPickerProps {
727
822
  readonly timeGroupLabel: string;
728
823
  readonly rowTestIdPrefix?: string;
729
824
  readonly testID?: string;
825
+ /**
826
+ * The owner-approved artifacts' slot groups (`vet-book-time`: "Morning", "Afternoon", "Evening"). Given, the
827
+ * day's times are drawn under those three labels; absent, as one list. Copy, so the caller passes the deck's.
828
+ */
829
+ readonly periodLabels?: Readonly<Record<TelevetDayPeriod, string>> | undefined;
830
+ /** The times' group name for the chosen day ("Time on {day}"); `{day}` is DATA. Absent, `timeGroupLabel`. */
831
+ readonly timeLegendTemplate?: string | undefined;
730
832
  }
731
- declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, header, dayGroupLabel, timeGroupLabel, rowTestIdPrefix, testID, }: TelevetSlotPickerProps): ReactNode;
833
+ declare function TelevetSlotPicker({ slots, busySlotId, onPick, selectedSlot, header, dayGroupLabel, timeGroupLabel, rowTestIdPrefix, testID, periodLabels, timeLegendTemplate, }: TelevetSlotPickerProps): ReactNode;
732
834
 
733
835
  /** One "label ... value" row in the summary card, as a bound `<dt>` / `<dd>` pair. */
734
- declare function TelevetSummaryRow({ label, value, last, testID, }: {
836
+ declare function TelevetSummaryRow({ label, value, last, action, testID, }: {
735
837
  readonly label: string;
736
838
  readonly value: string;
737
839
  /** The last row draws no divider, so the card does not end on a line. */
738
840
  readonly last?: boolean;
841
+ /** A control at the row's end (the review's "Change" on When). */
842
+ readonly action?: ReactNode;
739
843
  readonly testID?: string;
740
844
  }): ReactNode;
741
845
  /**
@@ -757,4 +861,4 @@ declare function TelevetSummaryCard({ children, testID }: {
757
861
  readonly testID?: string;
758
862
  }): ReactNode;
759
863
 
760
- export { BACK_LABEL, type EverfurHeadingLevel, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetDialog, type EverfurTelevetDialogProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TELEVET_BOOKING_COPY_WEB, TELEVET_EMERGENCY_EXITS_WEB, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingController, TelevetBookingStep, TelevetCalendarWriter, type TelevetCancelTerms, TelevetCancelVisitForm, type TelevetCancelVisitFormProps, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, type TelevetEmergencyExitsProps, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, type TelevetHistoryMode, TelevetIntakeMedia, type TelevetIntakeMediaItem, type TelevetIntakeMediaProps, TelevetJoinScreen, type TelevetJoinScreenProps, type TelevetLocationStatus, TelevetMediaDropNotice, type TelevetMediaDropNoticeProps, type TelevetMediaPicker, TelevetMediaShortfall, type TelevetPrimaryVet, type TelevetScreen, TelevetSlot, TelevetSlotPicker, type TelevetSlotPickerProps, TelevetStateInterestAction, type TelevetStateInterestActionProps, TelevetStateInterestAction$1 as TelevetStateInterestLifecycle, TelevetStateInterestWrite, TelevetSummaryCard, TelevetSummaryRow, TelevetTriageRead, TelevetVisitsScreen, type TelevetVisitsScreenProps, VetVisitIntent, televetDaysFromSlots, televetScreenForRequest };
864
+ export { BACK_LABEL, type EverfurHeadingLevel, EverfurTelevet, EverfurTelevetBooking, type EverfurTelevetBookingProps, EverfurTelevetDialog, type EverfurTelevetDialogProps, EverfurTelevetFlow, EverfurTelevetFlowRequest, type EverfurTelevetProps, EverfurTelevetReschedule, type EverfurTelevetRescheduleProps, PetRef, TELEVET_BOOKING_COPY_WEB, TELEVET_EMERGENCY_EXITS_WEB, TelevetBookingChrome, type TelevetBookingChromeProps, TelevetBookingContext, TelevetBookingController, TelevetBookingStep, TelevetCalendarWriter, type TelevetCancelTerms, TelevetCancelVisitForm, type TelevetCancelVisitFormProps, TelevetClinicianEmptyState, type TelevetClinicianEmptyStateProps, TelevetConsentCheckbox, TelevetConsult, type TelevetDay, TelevetDayStrip, type TelevetDayStripProps, type TelevetDiscardConfirm, TelevetEarlyEmergency, type TelevetEarlyEmergencyProps, TelevetEmergencyExits, type TelevetEmergencyExitsProps, TelevetEmptyRosterCause, TelevetEntitlementInterestState, type TelevetEntitlementInterestStateProps, type TelevetHistoryMode, TelevetJoinScreen, type TelevetJoinScreenProps, type TelevetLocationStatus, TelevetMediaDropNotice, type TelevetMediaDropNoticeProps, TelevetMediaPicker, TelevetMediaShortfall, type TelevetPrimaryVet, type TelevetScreen, TelevetSlot, TelevetSlotPicker, type TelevetSlotPickerProps, TelevetStateInterestAction, type TelevetStateInterestActionProps, TelevetStateInterestAction$1 as TelevetStateInterestLifecycle, TelevetStateInterestWrite, TelevetSummaryCard, TelevetSummaryRow, TelevetTriageRead, TelevetVetThreadScreen, type TelevetVetThreadScreenProps, TelevetVetThreadTarget, TelevetVisitSummaryScreen, type TelevetVisitSummaryScreenProps, TelevetVisitsScreen, type TelevetVisitsScreenProps, VetVisitIntent, televetDaysFromSlots, televetScreenForRequest };