@yonus_amire01/chat 0.1.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 (222) hide show
  1. package/README.md +127 -0
  2. package/dist/index.cjs +6 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.mjs +9360 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/style.css +1 -0
  7. package/dist/types/adapter/HostAdapter.d.ts +13 -0
  8. package/dist/types/adapter/HostAdapter.d.ts.map +1 -0
  9. package/dist/types/adapter/PushPort.d.ts +10 -0
  10. package/dist/types/adapter/PushPort.d.ts.map +1 -0
  11. package/dist/types/adapter/index.d.ts +7 -0
  12. package/dist/types/adapter/index.d.ts.map +1 -0
  13. package/dist/types/adapter/mock/MockCallAdapter.d.ts +14 -0
  14. package/dist/types/adapter/mock/MockCallAdapter.d.ts.map +1 -0
  15. package/dist/types/adapter/mock/MockChatActionAdapter.d.ts +9 -0
  16. package/dist/types/adapter/mock/MockChatActionAdapter.d.ts.map +1 -0
  17. package/dist/types/adapter/mock/MockChatAdapter.d.ts +7 -0
  18. package/dist/types/adapter/mock/MockChatAdapter.d.ts.map +1 -0
  19. package/dist/types/adapter/mock/MockMedicationAdapter.d.ts +7 -0
  20. package/dist/types/adapter/mock/MockMedicationAdapter.d.ts.map +1 -0
  21. package/dist/types/adapter/mock/MockServiceAdapter.d.ts +6 -0
  22. package/dist/types/adapter/mock/MockServiceAdapter.d.ts.map +1 -0
  23. package/dist/types/adapter/mock/createMockAdapter.d.ts +13 -0
  24. package/dist/types/adapter/mock/createMockAdapter.d.ts.map +1 -0
  25. package/dist/types/adapter/mock/index.d.ts +12 -0
  26. package/dist/types/adapter/mock/index.d.ts.map +1 -0
  27. package/dist/types/adapter/ports/CallAdapter.d.ts +36 -0
  28. package/dist/types/adapter/ports/CallAdapter.d.ts.map +1 -0
  29. package/dist/types/adapter/ports/ChatActionAdapter.d.ts +17 -0
  30. package/dist/types/adapter/ports/ChatActionAdapter.d.ts.map +1 -0
  31. package/dist/types/adapter/ports/ChatAdapter.d.ts +22 -0
  32. package/dist/types/adapter/ports/ChatAdapter.d.ts.map +1 -0
  33. package/dist/types/adapter/ports/MedicationAdapter.d.ts +6 -0
  34. package/dist/types/adapter/ports/MedicationAdapter.d.ts.map +1 -0
  35. package/dist/types/adapter/ports/ServiceAdapter.d.ts +16 -0
  36. package/dist/types/adapter/ports/ServiceAdapter.d.ts.map +1 -0
  37. package/dist/types/components/ChatPage.vue.d.ts +8 -0
  38. package/dist/types/components/ChatPage.vue.d.ts.map +1 -0
  39. package/dist/types/components/call/CallBoard.vue.d.ts +154 -0
  40. package/dist/types/components/call/CallBoard.vue.d.ts.map +1 -0
  41. package/dist/types/components/call/CallMemberDisplay.vue.d.ts +57 -0
  42. package/dist/types/components/call/CallMemberDisplay.vue.d.ts.map +1 -0
  43. package/dist/types/components/call/CallPageOverlay.vue.d.ts +1365 -0
  44. package/dist/types/components/call/CallPageOverlay.vue.d.ts.map +1 -0
  45. package/dist/types/components/call/paint-board/BoardColorPicker.vue.d.ts +41 -0
  46. package/dist/types/components/call/paint-board/BoardColorPicker.vue.d.ts.map +1 -0
  47. package/dist/types/components/call/paint-board/BrushSizeSlider.vue.d.ts +48 -0
  48. package/dist/types/components/call/paint-board/BrushSizeSlider.vue.d.ts.map +1 -0
  49. package/dist/types/components/call/paint-board/CallPaintBoard.vue.d.ts +127 -0
  50. package/dist/types/components/call/paint-board/CallPaintBoard.vue.d.ts.map +1 -0
  51. package/dist/types/components/chat/ChatBubble.vue.d.ts +12236 -0
  52. package/dist/types/components/chat/ChatBubble.vue.d.ts.map +1 -0
  53. package/dist/types/components/chat/ChatInput.vue.d.ts +2477 -0
  54. package/dist/types/components/chat/ChatInput.vue.d.ts.map +1 -0
  55. package/dist/types/components/chat/ChatMessages.vue.d.ts +13873 -0
  56. package/dist/types/components/chat/ChatMessages.vue.d.ts.map +1 -0
  57. package/dist/types/components/chat/ChatPageBar.vue.d.ts +1204 -0
  58. package/dist/types/components/chat/ChatPageBar.vue.d.ts.map +1 -0
  59. package/dist/types/components/chat/ChatProfileOverview.vue.d.ts +327 -0
  60. package/dist/types/components/chat/ChatProfileOverview.vue.d.ts.map +1 -0
  61. package/dist/types/components/chat/ChatView.vue.d.ts +4 -0
  62. package/dist/types/components/chat/ChatView.vue.d.ts.map +1 -0
  63. package/dist/types/components/chat/PatientReferral.vue.d.ts +33 -0
  64. package/dist/types/components/chat/PatientReferral.vue.d.ts.map +1 -0
  65. package/dist/types/components/chat/chat-bubbles/BubbleOptions.vue.d.ts +53 -0
  66. package/dist/types/components/chat/chat-bubbles/BubbleOptions.vue.d.ts.map +1 -0
  67. package/dist/types/components/chat/chat-bubbles/BubbleVideo.vue.d.ts +103 -0
  68. package/dist/types/components/chat/chat-bubbles/BubbleVideo.vue.d.ts.map +1 -0
  69. package/dist/types/components/chat/chat-bubbles/FileDisplay.vue.d.ts +170 -0
  70. package/dist/types/components/chat/chat-bubbles/FileDisplay.vue.d.ts.map +1 -0
  71. package/dist/types/components/chat/chat-bubbles/ImageGroupDisplay.vue.d.ts +74 -0
  72. package/dist/types/components/chat/chat-bubbles/ImageGroupDisplay.vue.d.ts.map +1 -0
  73. package/dist/types/components/chat/chat-bubbles/RequestCard.vue.d.ts +11449 -0
  74. package/dist/types/components/chat/chat-bubbles/RequestCard.vue.d.ts.map +1 -0
  75. package/dist/types/components/chat/chat-bubbles/VoiceDisplay.vue.d.ts +107 -0
  76. package/dist/types/components/chat/chat-bubbles/VoiceDisplay.vue.d.ts.map +1 -0
  77. package/dist/types/components/chat/chat-bubbles/request-card/ProviderDisplay.vue.d.ts +56 -0
  78. package/dist/types/components/chat/chat-bubbles/request-card/ProviderDisplay.vue.d.ts.map +1 -0
  79. package/dist/types/components/chat/chat-input/AttachementFileDisplay.vue.d.ts +28 -0
  80. package/dist/types/components/chat/chat-input/AttachementFileDisplay.vue.d.ts.map +1 -0
  81. package/dist/types/components/chat/chat-input/InputAttachement.vue.d.ts +72 -0
  82. package/dist/types/components/chat/chat-input/InputAttachement.vue.d.ts.map +1 -0
  83. package/dist/types/components/chat/chat-input/PermissionPopup.vue.d.ts +15 -0
  84. package/dist/types/components/chat/chat-input/PermissionPopup.vue.d.ts.map +1 -0
  85. package/dist/types/components/chat/chat-input/VideoRecordDisplay.vue.d.ts +149 -0
  86. package/dist/types/components/chat/chat-input/VideoRecordDisplay.vue.d.ts.map +1 -0
  87. package/dist/types/components/chat/contact/ChatContactDisplay.vue.d.ts +85 -0
  88. package/dist/types/components/chat/contact/ChatContactDisplay.vue.d.ts.map +1 -0
  89. package/dist/types/components/chat/contact/ChatList.vue.d.ts +3111 -0
  90. package/dist/types/components/chat/contact/ChatList.vue.d.ts.map +1 -0
  91. package/dist/types/components/chat/contact/ChatListSearch.vue.d.ts +24 -0
  92. package/dist/types/components/chat/contact/ChatListSearch.vue.d.ts.map +1 -0
  93. package/dist/types/components/chat/contact/ContactAvatar.vue.d.ts +28 -0
  94. package/dist/types/components/chat/contact/ContactAvatar.vue.d.ts.map +1 -0
  95. package/dist/types/components/chat/medic-features/MedicDisplay.vue.d.ts +61 -0
  96. package/dist/types/components/chat/medic-features/MedicDisplay.vue.d.ts.map +1 -0
  97. package/dist/types/components/chat/medic-features/MedicSelector.vue.d.ts +1113 -0
  98. package/dist/types/components/chat/medic-features/MedicSelector.vue.d.ts.map +1 -0
  99. package/dist/types/components/chat/medic-features/MedicSelectorContent.vue.d.ts +1060 -0
  100. package/dist/types/components/chat/medic-features/MedicSelectorContent.vue.d.ts.map +1 -0
  101. package/dist/types/components/chat/medic-features/PrescribtionDisplay.vue.d.ts +1431 -0
  102. package/dist/types/components/chat/medic-features/PrescribtionDisplay.vue.d.ts.map +1 -0
  103. package/dist/types/components/chat/profile/FileDisplay.vue.d.ts +28 -0
  104. package/dist/types/components/chat/profile/FileDisplay.vue.d.ts.map +1 -0
  105. package/dist/types/components/general/FileFormatDisplay.vue.d.ts +60 -0
  106. package/dist/types/components/general/FileFormatDisplay.vue.d.ts.map +1 -0
  107. package/dist/types/components/general/LoadingStatus.vue.d.ts +59 -0
  108. package/dist/types/components/general/LoadingStatus.vue.d.ts.map +1 -0
  109. package/dist/types/components/general/NoDataDisplay.vue.d.ts +24 -0
  110. package/dist/types/components/general/NoDataDisplay.vue.d.ts.map +1 -0
  111. package/dist/types/components/general/SafeEmojiText.vue.d.ts +24 -0
  112. package/dist/types/components/general/SafeEmojiText.vue.d.ts.map +1 -0
  113. package/dist/types/components/global/BCarousel.vue.d.ts +48 -0
  114. package/dist/types/components/global/BCarousel.vue.d.ts.map +1 -0
  115. package/dist/types/composables/chat/useChatRecording.d.ts +74 -0
  116. package/dist/types/composables/chat/useChatRecording.d.ts.map +1 -0
  117. package/dist/types/composables/useAppPermissions.d.ts +25 -0
  118. package/dist/types/composables/useAppPermissions.d.ts.map +1 -0
  119. package/dist/types/composables/useAppToast.d.ts +6 -0
  120. package/dist/types/composables/useAppToast.d.ts.map +1 -0
  121. package/dist/types/composables/useClickOutside.d.ts +3 -0
  122. package/dist/types/composables/useClickOutside.d.ts.map +1 -0
  123. package/dist/types/composables/useDate.d.ts +24 -0
  124. package/dist/types/composables/useDate.d.ts.map +1 -0
  125. package/dist/types/composables/useDevice.d.ts +32 -0
  126. package/dist/types/composables/useDevice.d.ts.map +1 -0
  127. package/dist/types/composables/useLocale.d.ts +12 -0
  128. package/dist/types/composables/useLocale.d.ts.map +1 -0
  129. package/dist/types/composables/useTheme.d.ts +4 -0
  130. package/dist/types/composables/useTheme.d.ts.map +1 -0
  131. package/dist/types/composables/useValidation.d.ts +20 -0
  132. package/dist/types/composables/useValidation.d.ts.map +1 -0
  133. package/dist/types/composables/useWindowSize.d.ts +5 -0
  134. package/dist/types/composables/useWindowSize.d.ts.map +1 -0
  135. package/dist/types/directives/filePicker.d.ts +4 -0
  136. package/dist/types/directives/filePicker.d.ts.map +1 -0
  137. package/dist/types/directives/imagePicker.d.ts +4 -0
  138. package/dist/types/directives/imagePicker.d.ts.map +1 -0
  139. package/dist/types/directives/loading.d.ts +6 -0
  140. package/dist/types/directives/loading.d.ts.map +1 -0
  141. package/dist/types/index.d.ts +10 -0
  142. package/dist/types/index.d.ts.map +1 -0
  143. package/dist/types/install.d.ts +20 -0
  144. package/dist/types/install.d.ts.map +1 -0
  145. package/dist/types/mock/chat.seed.d.ts +20 -0
  146. package/dist/types/mock/chat.seed.d.ts.map +1 -0
  147. package/dist/types/mock/helpers.d.ts +3 -0
  148. package/dist/types/mock/helpers.d.ts.map +1 -0
  149. package/dist/types/mock/index.d.ts +5 -0
  150. package/dist/types/mock/index.d.ts.map +1 -0
  151. package/dist/types/mock/medication.seed.d.ts +4 -0
  152. package/dist/types/mock/medication.seed.d.ts.map +1 -0
  153. package/dist/types/mock/service.seed.d.ts +13 -0
  154. package/dist/types/mock/service.seed.d.ts.map +1 -0
  155. package/dist/types/nuxt-shims.d.ts +43 -0
  156. package/dist/types/nuxt-shims.d.ts.map +1 -0
  157. package/dist/types/prime-preset.d.ts +72 -0
  158. package/dist/types/prime-preset.d.ts.map +1 -0
  159. package/dist/types/stores/callStore.d.ts +518 -0
  160. package/dist/types/stores/callStore.d.ts.map +1 -0
  161. package/dist/types/stores/chatActionStore.d.ts +11303 -0
  162. package/dist/types/stores/chatActionStore.d.ts.map +1 -0
  163. package/dist/types/stores/chatStore.d.ts +2966 -0
  164. package/dist/types/stores/chatStore.d.ts.map +1 -0
  165. package/dist/types/stores/createStores.d.ts +19290 -0
  166. package/dist/types/stores/createStores.d.ts.map +1 -0
  167. package/dist/types/stores/medicationsStore.d.ts +3542 -0
  168. package/dist/types/stores/medicationsStore.d.ts.map +1 -0
  169. package/dist/types/stores/serviceStore.d.ts +953 -0
  170. package/dist/types/stores/serviceStore.d.ts.map +1 -0
  171. package/dist/types/themes/factory.d.ts +4 -0
  172. package/dist/types/themes/factory.d.ts.map +1 -0
  173. package/dist/types/types/address.d.ts +26 -0
  174. package/dist/types/types/address.d.ts.map +1 -0
  175. package/dist/types/types/calendar.d.ts +88 -0
  176. package/dist/types/types/calendar.d.ts.map +1 -0
  177. package/dist/types/types/call.d.ts +9 -0
  178. package/dist/types/types/call.d.ts.map +1 -0
  179. package/dist/types/types/chat.d.ts +71 -0
  180. package/dist/types/types/chat.d.ts.map +1 -0
  181. package/dist/types/types/clinic.d.ts +7 -0
  182. package/dist/types/types/clinic.d.ts.map +1 -0
  183. package/dist/types/types/components/chat-input.d.ts +4 -0
  184. package/dist/types/types/components/chat-input.d.ts.map +1 -0
  185. package/dist/types/types/components/input.d.ts +13 -0
  186. package/dist/types/types/components/input.d.ts.map +1 -0
  187. package/dist/types/types/components/menu-options.d.ts +7 -0
  188. package/dist/types/types/components/menu-options.d.ts.map +1 -0
  189. package/dist/types/types/components/menu.d.ts +5 -0
  190. package/dist/types/types/components/menu.d.ts.map +1 -0
  191. package/dist/types/types/components/modal.d.ts +17 -0
  192. package/dist/types/types/components/modal.d.ts.map +1 -0
  193. package/dist/types/types/components/nav-item.d.ts +11 -0
  194. package/dist/types/types/components/nav-item.d.ts.map +1 -0
  195. package/dist/types/types/components/nav-sub-item.d.ts +9 -0
  196. package/dist/types/types/components/nav-sub-item.d.ts.map +1 -0
  197. package/dist/types/types/components/popup.d.ts +5 -0
  198. package/dist/types/types/components/popup.d.ts.map +1 -0
  199. package/dist/types/types/components/select.d.ts +8 -0
  200. package/dist/types/types/components/select.d.ts.map +1 -0
  201. package/dist/types/types/components/toast.d.ts +5 -0
  202. package/dist/types/types/components/toast.d.ts.map +1 -0
  203. package/dist/types/types/env/runtimeConfig.d.ts +22 -0
  204. package/dist/types/types/invoice.d.ts +8 -0
  205. package/dist/types/types/invoice.d.ts.map +1 -0
  206. package/dist/types/types/medic.d.ts +6 -0
  207. package/dist/types/types/medic.d.ts.map +1 -0
  208. package/dist/types/types/medication.d.ts +25 -0
  209. package/dist/types/types/medication.d.ts.map +1 -0
  210. package/dist/types/types/notification.d.ts +10 -0
  211. package/dist/types/types/notification.d.ts.map +1 -0
  212. package/dist/types/types/service.d.ts +25 -0
  213. package/dist/types/types/service.d.ts.map +1 -0
  214. package/dist/types/types/story.d.ts +12 -0
  215. package/dist/types/types/story.d.ts.map +1 -0
  216. package/dist/types/types/theme.d.ts +26 -0
  217. package/dist/types/types/theme.d.ts.map +1 -0
  218. package/dist/types/utils/emojiParser.d.ts +2 -0
  219. package/dist/types/utils/emojiParser.d.ts.map +1 -0
  220. package/dist/types/utils/format.d.ts +52 -0
  221. package/dist/types/utils/format.d.ts.map +1 -0
  222. package/package.json +68 -0
@@ -0,0 +1,2477 @@
1
+ import { Menu } from '../../types/components/menu';
2
+ import { ExtendedMessage } from '../../types/chat';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ isActive: {
5
+ type: BooleanConstructor;
6
+ default: boolean;
7
+ };
8
+ }>, {
9
+ isRecording: import('vue').Ref<boolean, boolean>;
10
+ isLocked: import('vue').Ref<boolean, boolean>;
11
+ isPaused: import('vue').Ref<boolean, boolean>;
12
+ formattedTime: import('vue').ComputedRef<string>;
13
+ dragOffset: import('vue').Ref<{
14
+ x: number;
15
+ y: number;
16
+ }, {
17
+ x: number;
18
+ y: number;
19
+ } | {
20
+ x: number;
21
+ y: number;
22
+ }>;
23
+ isDragging: import('vue').Ref<boolean, boolean>;
24
+ lockOpacity: import('vue').ComputedRef<0 | 1>;
25
+ cancelOpacity: import('vue').ComputedRef<number>;
26
+ isLongPress: import('vue').Ref<boolean, boolean>;
27
+ onPointerDown: (event: PointerEvent) => void;
28
+ mediaStream: import('vue').Ref<{
29
+ readonly active: boolean;
30
+ readonly id: string;
31
+ onaddtrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any;
32
+ onremovetrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any;
33
+ addTrack: (track: MediaStreamTrack) => void;
34
+ clone: () => MediaStream;
35
+ getAudioTracks: () => MediaStreamTrack[];
36
+ getTrackById: (trackId: string) => MediaStreamTrack | null;
37
+ getTracks: () => MediaStreamTrack[];
38
+ getVideoTracks: () => MediaStreamTrack[];
39
+ removeTrack: (track: MediaStreamTrack) => void;
40
+ addEventListener: {
41
+ <K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
42
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
43
+ };
44
+ removeEventListener: {
45
+ <K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
46
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
47
+ };
48
+ dispatchEvent: (event: Event) => boolean;
49
+ }, MediaStream | {
50
+ readonly active: boolean;
51
+ readonly id: string;
52
+ onaddtrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any;
53
+ onremovetrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any;
54
+ addTrack: (track: MediaStreamTrack) => void;
55
+ clone: () => MediaStream;
56
+ getAudioTracks: () => MediaStreamTrack[];
57
+ getTrackById: (trackId: string) => MediaStreamTrack | null;
58
+ getTracks: () => MediaStreamTrack[];
59
+ getVideoTracks: () => MediaStreamTrack[];
60
+ removeTrack: (track: MediaStreamTrack) => void;
61
+ addEventListener: {
62
+ <K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
63
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
64
+ };
65
+ removeEventListener: {
66
+ <K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
67
+ (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
68
+ };
69
+ dispatchEvent: (event: Event) => boolean;
70
+ }>;
71
+ toggleCamera: () => Promise<void>;
72
+ togglePause: () => void;
73
+ stopRecording: (triggerSend?: boolean) => void;
74
+ t: import('../../nuxt-shims').I18nT;
75
+ rootElements: import('vue').Ref<HTMLElement, HTMLElement>;
76
+ inputRef: import('vue').Ref<HTMLElement, HTMLElement>;
77
+ menuRef: import('vue').Ref<{
78
+ open: () => void;
79
+ close: () => void;
80
+ }, Menu | {
81
+ open: () => void;
82
+ close: () => void;
83
+ }>;
84
+ messageText: import('vue').Ref<string, string>;
85
+ handlePopupCancel: () => void;
86
+ secondaryMessageIcon: import('vue').ComputedRef<"PhMicrophone" | "PhCamera">;
87
+ inputDisabled: import('vue').ComputedRef<boolean>;
88
+ inputPlaceholder: import('vue').ComputedRef<string>;
89
+ iconClass: import('vue').ComputedRef<"opacity-50 fill-on-surface pointer-events-none" | "fill-on-surface opacity-100 pointer-events-auto">;
90
+ adjustHeight: () => void;
91
+ handleEmojiSelect: (emoji: string) => void;
92
+ handlePointerDown: (event: PointerEvent) => void;
93
+ sendMessage: () => void;
94
+ sendRecording: () => void;
95
+ cancelRecording: () => void;
96
+ toggleSecondaryMessageType: () => void;
97
+ handleEnterKey: (e: KeyboardEvent) => void;
98
+ cancelAction: () => void;
99
+ textMode: import('vue').Ref<"edit" | "normal" | "reply", "edit" | "normal" | "reply">;
100
+ editingMessageData: import('vue').Ref<{
101
+ prevMessage?: {
102
+ id: string;
103
+ conversationId: string;
104
+ date: Date;
105
+ type: import('../../types/chat').MessageType;
106
+ text?: string;
107
+ imageUrl?: string[];
108
+ fileUrl?: string;
109
+ voiceUrl?: string;
110
+ videoUrl?: string;
111
+ isEdited: boolean;
112
+ senderId: string;
113
+ isSent: boolean;
114
+ isRead: boolean;
115
+ repliedTo: /*elided*/ any;
116
+ request?: {
117
+ id: string;
118
+ type: "personal-info" | "add-person";
119
+ request: {
120
+ id: string;
121
+ date: Date;
122
+ status: import('../../types/chat').status;
123
+ } | {
124
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
125
+ provider?: {
126
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
127
+ expertise: string;
128
+ service: {
129
+ id: string;
130
+ icon?: string;
131
+ label: string;
132
+ fellowships: {
133
+ id: string;
134
+ title: string;
135
+ }[];
136
+ expertiseLevel: "speciality" | "sub-speciality";
137
+ price: number;
138
+ };
139
+ clinics: {
140
+ id: string;
141
+ title: number;
142
+ latitude: number;
143
+ longitude: number;
144
+ }[];
145
+ fellowships: {
146
+ id: string;
147
+ title: string;
148
+ }[];
149
+ type: import('../../types/service').InsitutionType;
150
+ illnesses?: {
151
+ [x: string]: unknown;
152
+ id: number | string;
153
+ name: string;
154
+ }[];
155
+ id: string;
156
+ name: string;
157
+ lastName: string;
158
+ isOnline: boolean;
159
+ lastSeen: Date;
160
+ imageUrl: string;
161
+ nationalCode?: string;
162
+ phoneNumber?: string;
163
+ isActive: boolean;
164
+ birthDate: Date;
165
+ lastMessage?: /*elided*/ any;
166
+ unreadCount?: number;
167
+ serviceType?: "video-call" | "voice-call" | "chat";
168
+ userType: import('../../types/chat').UserRoleKey[];
169
+ }[];
170
+ service?: {
171
+ id: string;
172
+ icon?: string;
173
+ label: string;
174
+ fellowships: {
175
+ id: string;
176
+ title: string;
177
+ }[];
178
+ expertiseLevel: "speciality" | "sub-speciality";
179
+ price: number;
180
+ };
181
+ serviceType?: import('../../types/chat').ServicePresence;
182
+ invoice?: {
183
+ [x: string]: unknown;
184
+ id: number | string;
185
+ amount?: number;
186
+ currency?: string;
187
+ status?: string;
188
+ };
189
+ id: string;
190
+ icon?: string;
191
+ label: string;
192
+ fellowships: {
193
+ id: string;
194
+ title: string;
195
+ }[];
196
+ expertiseLevel: "speciality" | "sub-speciality";
197
+ price: number;
198
+ };
199
+ };
200
+ };
201
+ nextMessage?: {
202
+ id: string;
203
+ conversationId: string;
204
+ date: Date;
205
+ type: import('../../types/chat').MessageType;
206
+ text?: string;
207
+ imageUrl?: string[];
208
+ fileUrl?: string;
209
+ voiceUrl?: string;
210
+ videoUrl?: string;
211
+ isEdited: boolean;
212
+ senderId: string;
213
+ isSent: boolean;
214
+ isRead: boolean;
215
+ repliedTo: /*elided*/ any;
216
+ request?: {
217
+ id: string;
218
+ type: "personal-info" | "add-person";
219
+ request: {
220
+ id: string;
221
+ date: Date;
222
+ status: import('../../types/chat').status;
223
+ } | {
224
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
225
+ provider?: {
226
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
227
+ expertise: string;
228
+ service: {
229
+ id: string;
230
+ icon?: string;
231
+ label: string;
232
+ fellowships: {
233
+ id: string;
234
+ title: string;
235
+ }[];
236
+ expertiseLevel: "speciality" | "sub-speciality";
237
+ price: number;
238
+ };
239
+ clinics: {
240
+ id: string;
241
+ title: number;
242
+ latitude: number;
243
+ longitude: number;
244
+ }[];
245
+ fellowships: {
246
+ id: string;
247
+ title: string;
248
+ }[];
249
+ type: import('../../types/service').InsitutionType;
250
+ illnesses?: {
251
+ [x: string]: unknown;
252
+ id: number | string;
253
+ name: string;
254
+ }[];
255
+ id: string;
256
+ name: string;
257
+ lastName: string;
258
+ isOnline: boolean;
259
+ lastSeen: Date;
260
+ imageUrl: string;
261
+ nationalCode?: string;
262
+ phoneNumber?: string;
263
+ isActive: boolean;
264
+ birthDate: Date;
265
+ lastMessage?: /*elided*/ any;
266
+ unreadCount?: number;
267
+ serviceType?: "video-call" | "voice-call" | "chat";
268
+ userType: import('../../types/chat').UserRoleKey[];
269
+ }[];
270
+ service?: {
271
+ id: string;
272
+ icon?: string;
273
+ label: string;
274
+ fellowships: {
275
+ id: string;
276
+ title: string;
277
+ }[];
278
+ expertiseLevel: "speciality" | "sub-speciality";
279
+ price: number;
280
+ };
281
+ serviceType?: import('../../types/chat').ServicePresence;
282
+ invoice?: {
283
+ [x: string]: unknown;
284
+ id: number | string;
285
+ amount?: number;
286
+ currency?: string;
287
+ status?: string;
288
+ };
289
+ id: string;
290
+ icon?: string;
291
+ label: string;
292
+ fellowships: {
293
+ id: string;
294
+ title: string;
295
+ }[];
296
+ expertiseLevel: "speciality" | "sub-speciality";
297
+ price: number;
298
+ };
299
+ };
300
+ };
301
+ isFirstInDate: boolean;
302
+ contact?: {
303
+ id: string;
304
+ name: string;
305
+ lastName: string;
306
+ isOnline: boolean;
307
+ lastSeen: Date;
308
+ imageUrl: string;
309
+ nationalCode?: string;
310
+ phoneNumber?: string;
311
+ isActive: boolean;
312
+ birthDate: Date;
313
+ lastMessage?: {
314
+ id: string;
315
+ conversationId: string;
316
+ date: Date;
317
+ type: import('../../types/chat').MessageType;
318
+ text?: string;
319
+ imageUrl?: string[];
320
+ fileUrl?: string;
321
+ voiceUrl?: string;
322
+ videoUrl?: string;
323
+ isEdited: boolean;
324
+ senderId: string;
325
+ isSent: boolean;
326
+ isRead: boolean;
327
+ repliedTo: /*elided*/ any;
328
+ request?: {
329
+ id: string;
330
+ type: "personal-info" | "add-person";
331
+ request: {
332
+ id: string;
333
+ date: Date;
334
+ status: import('../../types/chat').status;
335
+ } | {
336
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
337
+ provider?: {
338
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
339
+ expertise: string;
340
+ service: {
341
+ id: string;
342
+ icon?: string;
343
+ label: string;
344
+ fellowships: {
345
+ id: string;
346
+ title: string;
347
+ }[];
348
+ expertiseLevel: "speciality" | "sub-speciality";
349
+ price: number;
350
+ };
351
+ clinics: {
352
+ id: string;
353
+ title: number;
354
+ latitude: number;
355
+ longitude: number;
356
+ }[];
357
+ fellowships: {
358
+ id: string;
359
+ title: string;
360
+ }[];
361
+ type: import('../../types/service').InsitutionType;
362
+ illnesses?: {
363
+ [x: string]: unknown;
364
+ id: number | string;
365
+ name: string;
366
+ }[];
367
+ id: string;
368
+ name: string;
369
+ lastName: string;
370
+ isOnline: boolean;
371
+ lastSeen: Date;
372
+ imageUrl: string;
373
+ nationalCode?: string;
374
+ phoneNumber?: string;
375
+ isActive: boolean;
376
+ birthDate: Date;
377
+ lastMessage?: /*elided*/ any;
378
+ unreadCount?: number;
379
+ serviceType?: "video-call" | "voice-call" | "chat";
380
+ userType: import('../../types/chat').UserRoleKey[];
381
+ }[];
382
+ service?: {
383
+ id: string;
384
+ icon?: string;
385
+ label: string;
386
+ fellowships: {
387
+ id: string;
388
+ title: string;
389
+ }[];
390
+ expertiseLevel: "speciality" | "sub-speciality";
391
+ price: number;
392
+ };
393
+ serviceType?: import('../../types/chat').ServicePresence;
394
+ invoice?: {
395
+ [x: string]: unknown;
396
+ id: number | string;
397
+ amount?: number;
398
+ currency?: string;
399
+ status?: string;
400
+ };
401
+ id: string;
402
+ icon?: string;
403
+ label: string;
404
+ fellowships: {
405
+ id: string;
406
+ title: string;
407
+ }[];
408
+ expertiseLevel: "speciality" | "sub-speciality";
409
+ price: number;
410
+ };
411
+ };
412
+ };
413
+ unreadCount?: number;
414
+ serviceType?: "video-call" | "voice-call" | "chat";
415
+ userType: import('../../types/chat').UserRoleKey[];
416
+ };
417
+ id: string;
418
+ conversationId: string;
419
+ date: Date;
420
+ type: import('../../types/chat').MessageType;
421
+ text?: string;
422
+ imageUrl?: string[];
423
+ fileUrl?: string;
424
+ voiceUrl?: string;
425
+ videoUrl?: string;
426
+ isEdited: boolean;
427
+ senderId: string;
428
+ isSent: boolean;
429
+ isRead: boolean;
430
+ repliedTo: {
431
+ id: string;
432
+ conversationId: string;
433
+ date: Date;
434
+ type: import('../../types/chat').MessageType;
435
+ text?: string;
436
+ imageUrl?: string[];
437
+ fileUrl?: string;
438
+ voiceUrl?: string;
439
+ videoUrl?: string;
440
+ isEdited: boolean;
441
+ senderId: string;
442
+ isSent: boolean;
443
+ isRead: boolean;
444
+ repliedTo: /*elided*/ any;
445
+ request?: {
446
+ id: string;
447
+ type: "personal-info" | "add-person";
448
+ request: {
449
+ id: string;
450
+ date: Date;
451
+ status: import('../../types/chat').status;
452
+ } | {
453
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
454
+ provider?: {
455
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
456
+ expertise: string;
457
+ service: {
458
+ id: string;
459
+ icon?: string;
460
+ label: string;
461
+ fellowships: {
462
+ id: string;
463
+ title: string;
464
+ }[];
465
+ expertiseLevel: "speciality" | "sub-speciality";
466
+ price: number;
467
+ };
468
+ clinics: {
469
+ id: string;
470
+ title: number;
471
+ latitude: number;
472
+ longitude: number;
473
+ }[];
474
+ fellowships: {
475
+ id: string;
476
+ title: string;
477
+ }[];
478
+ type: import('../../types/service').InsitutionType;
479
+ illnesses?: {
480
+ [x: string]: unknown;
481
+ id: number | string;
482
+ name: string;
483
+ }[];
484
+ id: string;
485
+ name: string;
486
+ lastName: string;
487
+ isOnline: boolean;
488
+ lastSeen: Date;
489
+ imageUrl: string;
490
+ nationalCode?: string;
491
+ phoneNumber?: string;
492
+ isActive: boolean;
493
+ birthDate: Date;
494
+ lastMessage?: /*elided*/ any;
495
+ unreadCount?: number;
496
+ serviceType?: "video-call" | "voice-call" | "chat";
497
+ userType: import('../../types/chat').UserRoleKey[];
498
+ }[];
499
+ service?: {
500
+ id: string;
501
+ icon?: string;
502
+ label: string;
503
+ fellowships: {
504
+ id: string;
505
+ title: string;
506
+ }[];
507
+ expertiseLevel: "speciality" | "sub-speciality";
508
+ price: number;
509
+ };
510
+ serviceType?: import('../../types/chat').ServicePresence;
511
+ invoice?: {
512
+ [x: string]: unknown;
513
+ id: number | string;
514
+ amount?: number;
515
+ currency?: string;
516
+ status?: string;
517
+ };
518
+ id: string;
519
+ icon?: string;
520
+ label: string;
521
+ fellowships: {
522
+ id: string;
523
+ title: string;
524
+ }[];
525
+ expertiseLevel: "speciality" | "sub-speciality";
526
+ price: number;
527
+ };
528
+ };
529
+ };
530
+ request?: {
531
+ id: string;
532
+ type: "personal-info" | "add-person";
533
+ request: {
534
+ id: string;
535
+ date: Date;
536
+ status: import('../../types/chat').status;
537
+ } | {
538
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
539
+ provider?: {
540
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
541
+ expertise: string;
542
+ service: {
543
+ id: string;
544
+ icon?: string;
545
+ label: string;
546
+ fellowships: {
547
+ id: string;
548
+ title: string;
549
+ }[];
550
+ expertiseLevel: "speciality" | "sub-speciality";
551
+ price: number;
552
+ };
553
+ clinics: {
554
+ id: string;
555
+ title: number;
556
+ latitude: number;
557
+ longitude: number;
558
+ }[];
559
+ fellowships: {
560
+ id: string;
561
+ title: string;
562
+ }[];
563
+ type: import('../../types/service').InsitutionType;
564
+ illnesses?: {
565
+ [x: string]: unknown;
566
+ id: number | string;
567
+ name: string;
568
+ }[];
569
+ id: string;
570
+ name: string;
571
+ lastName: string;
572
+ isOnline: boolean;
573
+ lastSeen: Date;
574
+ imageUrl: string;
575
+ nationalCode?: string;
576
+ phoneNumber?: string;
577
+ isActive: boolean;
578
+ birthDate: Date;
579
+ lastMessage?: {
580
+ id: string;
581
+ conversationId: string;
582
+ date: Date;
583
+ type: import('../../types/chat').MessageType;
584
+ text?: string;
585
+ imageUrl?: string[];
586
+ fileUrl?: string;
587
+ voiceUrl?: string;
588
+ videoUrl?: string;
589
+ isEdited: boolean;
590
+ senderId: string;
591
+ isSent: boolean;
592
+ isRead: boolean;
593
+ repliedTo: /*elided*/ any;
594
+ request?: /*elided*/ any;
595
+ };
596
+ unreadCount?: number;
597
+ serviceType?: "video-call" | "voice-call" | "chat";
598
+ userType: import('../../types/chat').UserRoleKey[];
599
+ }[];
600
+ service?: {
601
+ id: string;
602
+ icon?: string;
603
+ label: string;
604
+ fellowships: {
605
+ id: string;
606
+ title: string;
607
+ }[];
608
+ expertiseLevel: "speciality" | "sub-speciality";
609
+ price: number;
610
+ };
611
+ serviceType?: import('../../types/chat').ServicePresence;
612
+ invoice?: {
613
+ [x: string]: unknown;
614
+ id: number | string;
615
+ amount?: number;
616
+ currency?: string;
617
+ status?: string;
618
+ };
619
+ id: string;
620
+ icon?: string;
621
+ label: string;
622
+ fellowships: {
623
+ id: string;
624
+ title: string;
625
+ }[];
626
+ expertiseLevel: "speciality" | "sub-speciality";
627
+ price: number;
628
+ };
629
+ };
630
+ }, ExtendedMessage | {
631
+ prevMessage?: {
632
+ id: string;
633
+ conversationId: string;
634
+ date: Date;
635
+ type: import('../../types/chat').MessageType;
636
+ text?: string;
637
+ imageUrl?: string[];
638
+ fileUrl?: string;
639
+ voiceUrl?: string;
640
+ videoUrl?: string;
641
+ isEdited: boolean;
642
+ senderId: string;
643
+ isSent: boolean;
644
+ isRead: boolean;
645
+ repliedTo: /*elided*/ any;
646
+ request?: {
647
+ id: string;
648
+ type: "personal-info" | "add-person";
649
+ request: {
650
+ id: string;
651
+ date: Date;
652
+ status: import('../../types/chat').status;
653
+ } | {
654
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
655
+ provider?: {
656
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
657
+ expertise: string;
658
+ service: {
659
+ id: string;
660
+ icon?: string;
661
+ label: string;
662
+ fellowships: {
663
+ id: string;
664
+ title: string;
665
+ }[];
666
+ expertiseLevel: "speciality" | "sub-speciality";
667
+ price: number;
668
+ };
669
+ clinics: {
670
+ id: string;
671
+ title: number;
672
+ latitude: number;
673
+ longitude: number;
674
+ }[];
675
+ fellowships: {
676
+ id: string;
677
+ title: string;
678
+ }[];
679
+ type: import('../../types/service').InsitutionType;
680
+ illnesses?: {
681
+ [x: string]: unknown;
682
+ id: number | string;
683
+ name: string;
684
+ }[];
685
+ id: string;
686
+ name: string;
687
+ lastName: string;
688
+ isOnline: boolean;
689
+ lastSeen: Date;
690
+ imageUrl: string;
691
+ nationalCode?: string;
692
+ phoneNumber?: string;
693
+ isActive: boolean;
694
+ birthDate: Date;
695
+ lastMessage?: /*elided*/ any;
696
+ unreadCount?: number;
697
+ serviceType?: "video-call" | "voice-call" | "chat";
698
+ userType: import('../../types/chat').UserRoleKey[];
699
+ }[];
700
+ service?: {
701
+ id: string;
702
+ icon?: string;
703
+ label: string;
704
+ fellowships: {
705
+ id: string;
706
+ title: string;
707
+ }[];
708
+ expertiseLevel: "speciality" | "sub-speciality";
709
+ price: number;
710
+ };
711
+ serviceType?: import('../../types/chat').ServicePresence;
712
+ invoice?: {
713
+ [x: string]: unknown;
714
+ id: number | string;
715
+ amount?: number;
716
+ currency?: string;
717
+ status?: string;
718
+ };
719
+ id: string;
720
+ icon?: string;
721
+ label: string;
722
+ fellowships: {
723
+ id: string;
724
+ title: string;
725
+ }[];
726
+ expertiseLevel: "speciality" | "sub-speciality";
727
+ price: number;
728
+ };
729
+ };
730
+ };
731
+ nextMessage?: {
732
+ id: string;
733
+ conversationId: string;
734
+ date: Date;
735
+ type: import('../../types/chat').MessageType;
736
+ text?: string;
737
+ imageUrl?: string[];
738
+ fileUrl?: string;
739
+ voiceUrl?: string;
740
+ videoUrl?: string;
741
+ isEdited: boolean;
742
+ senderId: string;
743
+ isSent: boolean;
744
+ isRead: boolean;
745
+ repliedTo: /*elided*/ any;
746
+ request?: {
747
+ id: string;
748
+ type: "personal-info" | "add-person";
749
+ request: {
750
+ id: string;
751
+ date: Date;
752
+ status: import('../../types/chat').status;
753
+ } | {
754
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
755
+ provider?: {
756
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
757
+ expertise: string;
758
+ service: {
759
+ id: string;
760
+ icon?: string;
761
+ label: string;
762
+ fellowships: {
763
+ id: string;
764
+ title: string;
765
+ }[];
766
+ expertiseLevel: "speciality" | "sub-speciality";
767
+ price: number;
768
+ };
769
+ clinics: {
770
+ id: string;
771
+ title: number;
772
+ latitude: number;
773
+ longitude: number;
774
+ }[];
775
+ fellowships: {
776
+ id: string;
777
+ title: string;
778
+ }[];
779
+ type: import('../../types/service').InsitutionType;
780
+ illnesses?: {
781
+ [x: string]: unknown;
782
+ id: number | string;
783
+ name: string;
784
+ }[];
785
+ id: string;
786
+ name: string;
787
+ lastName: string;
788
+ isOnline: boolean;
789
+ lastSeen: Date;
790
+ imageUrl: string;
791
+ nationalCode?: string;
792
+ phoneNumber?: string;
793
+ isActive: boolean;
794
+ birthDate: Date;
795
+ lastMessage?: /*elided*/ any;
796
+ unreadCount?: number;
797
+ serviceType?: "video-call" | "voice-call" | "chat";
798
+ userType: import('../../types/chat').UserRoleKey[];
799
+ }[];
800
+ service?: {
801
+ id: string;
802
+ icon?: string;
803
+ label: string;
804
+ fellowships: {
805
+ id: string;
806
+ title: string;
807
+ }[];
808
+ expertiseLevel: "speciality" | "sub-speciality";
809
+ price: number;
810
+ };
811
+ serviceType?: import('../../types/chat').ServicePresence;
812
+ invoice?: {
813
+ [x: string]: unknown;
814
+ id: number | string;
815
+ amount?: number;
816
+ currency?: string;
817
+ status?: string;
818
+ };
819
+ id: string;
820
+ icon?: string;
821
+ label: string;
822
+ fellowships: {
823
+ id: string;
824
+ title: string;
825
+ }[];
826
+ expertiseLevel: "speciality" | "sub-speciality";
827
+ price: number;
828
+ };
829
+ };
830
+ };
831
+ isFirstInDate: boolean;
832
+ contact?: {
833
+ id: string;
834
+ name: string;
835
+ lastName: string;
836
+ isOnline: boolean;
837
+ lastSeen: Date;
838
+ imageUrl: string;
839
+ nationalCode?: string;
840
+ phoneNumber?: string;
841
+ isActive: boolean;
842
+ birthDate: Date;
843
+ lastMessage?: {
844
+ id: string;
845
+ conversationId: string;
846
+ date: Date;
847
+ type: import('../../types/chat').MessageType;
848
+ text?: string;
849
+ imageUrl?: string[];
850
+ fileUrl?: string;
851
+ voiceUrl?: string;
852
+ videoUrl?: string;
853
+ isEdited: boolean;
854
+ senderId: string;
855
+ isSent: boolean;
856
+ isRead: boolean;
857
+ repliedTo: /*elided*/ any;
858
+ request?: {
859
+ id: string;
860
+ type: "personal-info" | "add-person";
861
+ request: {
862
+ id: string;
863
+ date: Date;
864
+ status: import('../../types/chat').status;
865
+ } | {
866
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
867
+ provider?: {
868
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
869
+ expertise: string;
870
+ service: {
871
+ id: string;
872
+ icon?: string;
873
+ label: string;
874
+ fellowships: {
875
+ id: string;
876
+ title: string;
877
+ }[];
878
+ expertiseLevel: "speciality" | "sub-speciality";
879
+ price: number;
880
+ };
881
+ clinics: {
882
+ id: string;
883
+ title: number;
884
+ latitude: number;
885
+ longitude: number;
886
+ }[];
887
+ fellowships: {
888
+ id: string;
889
+ title: string;
890
+ }[];
891
+ type: import('../../types/service').InsitutionType;
892
+ illnesses?: {
893
+ [x: string]: unknown;
894
+ id: number | string;
895
+ name: string;
896
+ }[];
897
+ id: string;
898
+ name: string;
899
+ lastName: string;
900
+ isOnline: boolean;
901
+ lastSeen: Date;
902
+ imageUrl: string;
903
+ nationalCode?: string;
904
+ phoneNumber?: string;
905
+ isActive: boolean;
906
+ birthDate: Date;
907
+ lastMessage?: /*elided*/ any;
908
+ unreadCount?: number;
909
+ serviceType?: "video-call" | "voice-call" | "chat";
910
+ userType: import('../../types/chat').UserRoleKey[];
911
+ }[];
912
+ service?: {
913
+ id: string;
914
+ icon?: string;
915
+ label: string;
916
+ fellowships: {
917
+ id: string;
918
+ title: string;
919
+ }[];
920
+ expertiseLevel: "speciality" | "sub-speciality";
921
+ price: number;
922
+ };
923
+ serviceType?: import('../../types/chat').ServicePresence;
924
+ invoice?: {
925
+ [x: string]: unknown;
926
+ id: number | string;
927
+ amount?: number;
928
+ currency?: string;
929
+ status?: string;
930
+ };
931
+ id: string;
932
+ icon?: string;
933
+ label: string;
934
+ fellowships: {
935
+ id: string;
936
+ title: string;
937
+ }[];
938
+ expertiseLevel: "speciality" | "sub-speciality";
939
+ price: number;
940
+ };
941
+ };
942
+ };
943
+ unreadCount?: number;
944
+ serviceType?: "video-call" | "voice-call" | "chat";
945
+ userType: import('../../types/chat').UserRoleKey[];
946
+ };
947
+ id: string;
948
+ conversationId: string;
949
+ date: Date;
950
+ type: import('../../types/chat').MessageType;
951
+ text?: string;
952
+ imageUrl?: string[];
953
+ fileUrl?: string;
954
+ voiceUrl?: string;
955
+ videoUrl?: string;
956
+ isEdited: boolean;
957
+ senderId: string;
958
+ isSent: boolean;
959
+ isRead: boolean;
960
+ repliedTo: {
961
+ id: string;
962
+ conversationId: string;
963
+ date: Date;
964
+ type: import('../../types/chat').MessageType;
965
+ text?: string;
966
+ imageUrl?: string[];
967
+ fileUrl?: string;
968
+ voiceUrl?: string;
969
+ videoUrl?: string;
970
+ isEdited: boolean;
971
+ senderId: string;
972
+ isSent: boolean;
973
+ isRead: boolean;
974
+ repliedTo: /*elided*/ any;
975
+ request?: {
976
+ id: string;
977
+ type: "personal-info" | "add-person";
978
+ request: {
979
+ id: string;
980
+ date: Date;
981
+ status: import('../../types/chat').status;
982
+ } | {
983
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
984
+ provider?: {
985
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
986
+ expertise: string;
987
+ service: {
988
+ id: string;
989
+ icon?: string;
990
+ label: string;
991
+ fellowships: {
992
+ id: string;
993
+ title: string;
994
+ }[];
995
+ expertiseLevel: "speciality" | "sub-speciality";
996
+ price: number;
997
+ };
998
+ clinics: {
999
+ id: string;
1000
+ title: number;
1001
+ latitude: number;
1002
+ longitude: number;
1003
+ }[];
1004
+ fellowships: {
1005
+ id: string;
1006
+ title: string;
1007
+ }[];
1008
+ type: import('../../types/service').InsitutionType;
1009
+ illnesses?: {
1010
+ [x: string]: unknown;
1011
+ id: number | string;
1012
+ name: string;
1013
+ }[];
1014
+ id: string;
1015
+ name: string;
1016
+ lastName: string;
1017
+ isOnline: boolean;
1018
+ lastSeen: Date;
1019
+ imageUrl: string;
1020
+ nationalCode?: string;
1021
+ phoneNumber?: string;
1022
+ isActive: boolean;
1023
+ birthDate: Date;
1024
+ lastMessage?: /*elided*/ any;
1025
+ unreadCount?: number;
1026
+ serviceType?: "video-call" | "voice-call" | "chat";
1027
+ userType: import('../../types/chat').UserRoleKey[];
1028
+ }[];
1029
+ service?: {
1030
+ id: string;
1031
+ icon?: string;
1032
+ label: string;
1033
+ fellowships: {
1034
+ id: string;
1035
+ title: string;
1036
+ }[];
1037
+ expertiseLevel: "speciality" | "sub-speciality";
1038
+ price: number;
1039
+ };
1040
+ serviceType?: import('../../types/chat').ServicePresence;
1041
+ invoice?: {
1042
+ [x: string]: unknown;
1043
+ id: number | string;
1044
+ amount?: number;
1045
+ currency?: string;
1046
+ status?: string;
1047
+ };
1048
+ id: string;
1049
+ icon?: string;
1050
+ label: string;
1051
+ fellowships: {
1052
+ id: string;
1053
+ title: string;
1054
+ }[];
1055
+ expertiseLevel: "speciality" | "sub-speciality";
1056
+ price: number;
1057
+ };
1058
+ };
1059
+ };
1060
+ request?: {
1061
+ id: string;
1062
+ type: "personal-info" | "add-person";
1063
+ request: {
1064
+ id: string;
1065
+ date: Date;
1066
+ status: import('../../types/chat').status;
1067
+ } | {
1068
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1069
+ provider?: {
1070
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1071
+ expertise: string;
1072
+ service: {
1073
+ id: string;
1074
+ icon?: string;
1075
+ label: string;
1076
+ fellowships: {
1077
+ id: string;
1078
+ title: string;
1079
+ }[];
1080
+ expertiseLevel: "speciality" | "sub-speciality";
1081
+ price: number;
1082
+ };
1083
+ clinics: {
1084
+ id: string;
1085
+ title: number;
1086
+ latitude: number;
1087
+ longitude: number;
1088
+ }[];
1089
+ fellowships: {
1090
+ id: string;
1091
+ title: string;
1092
+ }[];
1093
+ type: import('../../types/service').InsitutionType;
1094
+ illnesses?: {
1095
+ [x: string]: unknown;
1096
+ id: number | string;
1097
+ name: string;
1098
+ }[];
1099
+ id: string;
1100
+ name: string;
1101
+ lastName: string;
1102
+ isOnline: boolean;
1103
+ lastSeen: Date;
1104
+ imageUrl: string;
1105
+ nationalCode?: string;
1106
+ phoneNumber?: string;
1107
+ isActive: boolean;
1108
+ birthDate: Date;
1109
+ lastMessage?: {
1110
+ id: string;
1111
+ conversationId: string;
1112
+ date: Date;
1113
+ type: import('../../types/chat').MessageType;
1114
+ text?: string;
1115
+ imageUrl?: string[];
1116
+ fileUrl?: string;
1117
+ voiceUrl?: string;
1118
+ videoUrl?: string;
1119
+ isEdited: boolean;
1120
+ senderId: string;
1121
+ isSent: boolean;
1122
+ isRead: boolean;
1123
+ repliedTo: /*elided*/ any;
1124
+ request?: /*elided*/ any;
1125
+ };
1126
+ unreadCount?: number;
1127
+ serviceType?: "video-call" | "voice-call" | "chat";
1128
+ userType: import('../../types/chat').UserRoleKey[];
1129
+ }[];
1130
+ service?: {
1131
+ id: string;
1132
+ icon?: string;
1133
+ label: string;
1134
+ fellowships: {
1135
+ id: string;
1136
+ title: string;
1137
+ }[];
1138
+ expertiseLevel: "speciality" | "sub-speciality";
1139
+ price: number;
1140
+ };
1141
+ serviceType?: import('../../types/chat').ServicePresence;
1142
+ invoice?: {
1143
+ [x: string]: unknown;
1144
+ id: number | string;
1145
+ amount?: number;
1146
+ currency?: string;
1147
+ status?: string;
1148
+ };
1149
+ id: string;
1150
+ icon?: string;
1151
+ label: string;
1152
+ fellowships: {
1153
+ id: string;
1154
+ title: string;
1155
+ }[];
1156
+ expertiseLevel: "speciality" | "sub-speciality";
1157
+ price: number;
1158
+ };
1159
+ };
1160
+ }>;
1161
+ replyingToMessageData: import('vue').Ref<{
1162
+ prevMessage?: {
1163
+ id: string;
1164
+ conversationId: string;
1165
+ date: Date;
1166
+ type: import('../../types/chat').MessageType;
1167
+ text?: string;
1168
+ imageUrl?: string[];
1169
+ fileUrl?: string;
1170
+ voiceUrl?: string;
1171
+ videoUrl?: string;
1172
+ isEdited: boolean;
1173
+ senderId: string;
1174
+ isSent: boolean;
1175
+ isRead: boolean;
1176
+ repliedTo: /*elided*/ any;
1177
+ request?: {
1178
+ id: string;
1179
+ type: "personal-info" | "add-person";
1180
+ request: {
1181
+ id: string;
1182
+ date: Date;
1183
+ status: import('../../types/chat').status;
1184
+ } | {
1185
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1186
+ provider?: {
1187
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1188
+ expertise: string;
1189
+ service: {
1190
+ id: string;
1191
+ icon?: string;
1192
+ label: string;
1193
+ fellowships: {
1194
+ id: string;
1195
+ title: string;
1196
+ }[];
1197
+ expertiseLevel: "speciality" | "sub-speciality";
1198
+ price: number;
1199
+ };
1200
+ clinics: {
1201
+ id: string;
1202
+ title: number;
1203
+ latitude: number;
1204
+ longitude: number;
1205
+ }[];
1206
+ fellowships: {
1207
+ id: string;
1208
+ title: string;
1209
+ }[];
1210
+ type: import('../../types/service').InsitutionType;
1211
+ illnesses?: {
1212
+ [x: string]: unknown;
1213
+ id: number | string;
1214
+ name: string;
1215
+ }[];
1216
+ id: string;
1217
+ name: string;
1218
+ lastName: string;
1219
+ isOnline: boolean;
1220
+ lastSeen: Date;
1221
+ imageUrl: string;
1222
+ nationalCode?: string;
1223
+ phoneNumber?: string;
1224
+ isActive: boolean;
1225
+ birthDate: Date;
1226
+ lastMessage?: /*elided*/ any;
1227
+ unreadCount?: number;
1228
+ serviceType?: "video-call" | "voice-call" | "chat";
1229
+ userType: import('../../types/chat').UserRoleKey[];
1230
+ }[];
1231
+ service?: {
1232
+ id: string;
1233
+ icon?: string;
1234
+ label: string;
1235
+ fellowships: {
1236
+ id: string;
1237
+ title: string;
1238
+ }[];
1239
+ expertiseLevel: "speciality" | "sub-speciality";
1240
+ price: number;
1241
+ };
1242
+ serviceType?: import('../../types/chat').ServicePresence;
1243
+ invoice?: {
1244
+ [x: string]: unknown;
1245
+ id: number | string;
1246
+ amount?: number;
1247
+ currency?: string;
1248
+ status?: string;
1249
+ };
1250
+ id: string;
1251
+ icon?: string;
1252
+ label: string;
1253
+ fellowships: {
1254
+ id: string;
1255
+ title: string;
1256
+ }[];
1257
+ expertiseLevel: "speciality" | "sub-speciality";
1258
+ price: number;
1259
+ };
1260
+ };
1261
+ };
1262
+ nextMessage?: {
1263
+ id: string;
1264
+ conversationId: string;
1265
+ date: Date;
1266
+ type: import('../../types/chat').MessageType;
1267
+ text?: string;
1268
+ imageUrl?: string[];
1269
+ fileUrl?: string;
1270
+ voiceUrl?: string;
1271
+ videoUrl?: string;
1272
+ isEdited: boolean;
1273
+ senderId: string;
1274
+ isSent: boolean;
1275
+ isRead: boolean;
1276
+ repliedTo: /*elided*/ any;
1277
+ request?: {
1278
+ id: string;
1279
+ type: "personal-info" | "add-person";
1280
+ request: {
1281
+ id: string;
1282
+ date: Date;
1283
+ status: import('../../types/chat').status;
1284
+ } | {
1285
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1286
+ provider?: {
1287
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1288
+ expertise: string;
1289
+ service: {
1290
+ id: string;
1291
+ icon?: string;
1292
+ label: string;
1293
+ fellowships: {
1294
+ id: string;
1295
+ title: string;
1296
+ }[];
1297
+ expertiseLevel: "speciality" | "sub-speciality";
1298
+ price: number;
1299
+ };
1300
+ clinics: {
1301
+ id: string;
1302
+ title: number;
1303
+ latitude: number;
1304
+ longitude: number;
1305
+ }[];
1306
+ fellowships: {
1307
+ id: string;
1308
+ title: string;
1309
+ }[];
1310
+ type: import('../../types/service').InsitutionType;
1311
+ illnesses?: {
1312
+ [x: string]: unknown;
1313
+ id: number | string;
1314
+ name: string;
1315
+ }[];
1316
+ id: string;
1317
+ name: string;
1318
+ lastName: string;
1319
+ isOnline: boolean;
1320
+ lastSeen: Date;
1321
+ imageUrl: string;
1322
+ nationalCode?: string;
1323
+ phoneNumber?: string;
1324
+ isActive: boolean;
1325
+ birthDate: Date;
1326
+ lastMessage?: /*elided*/ any;
1327
+ unreadCount?: number;
1328
+ serviceType?: "video-call" | "voice-call" | "chat";
1329
+ userType: import('../../types/chat').UserRoleKey[];
1330
+ }[];
1331
+ service?: {
1332
+ id: string;
1333
+ icon?: string;
1334
+ label: string;
1335
+ fellowships: {
1336
+ id: string;
1337
+ title: string;
1338
+ }[];
1339
+ expertiseLevel: "speciality" | "sub-speciality";
1340
+ price: number;
1341
+ };
1342
+ serviceType?: import('../../types/chat').ServicePresence;
1343
+ invoice?: {
1344
+ [x: string]: unknown;
1345
+ id: number | string;
1346
+ amount?: number;
1347
+ currency?: string;
1348
+ status?: string;
1349
+ };
1350
+ id: string;
1351
+ icon?: string;
1352
+ label: string;
1353
+ fellowships: {
1354
+ id: string;
1355
+ title: string;
1356
+ }[];
1357
+ expertiseLevel: "speciality" | "sub-speciality";
1358
+ price: number;
1359
+ };
1360
+ };
1361
+ };
1362
+ isFirstInDate: boolean;
1363
+ contact?: {
1364
+ id: string;
1365
+ name: string;
1366
+ lastName: string;
1367
+ isOnline: boolean;
1368
+ lastSeen: Date;
1369
+ imageUrl: string;
1370
+ nationalCode?: string;
1371
+ phoneNumber?: string;
1372
+ isActive: boolean;
1373
+ birthDate: Date;
1374
+ lastMessage?: {
1375
+ id: string;
1376
+ conversationId: string;
1377
+ date: Date;
1378
+ type: import('../../types/chat').MessageType;
1379
+ text?: string;
1380
+ imageUrl?: string[];
1381
+ fileUrl?: string;
1382
+ voiceUrl?: string;
1383
+ videoUrl?: string;
1384
+ isEdited: boolean;
1385
+ senderId: string;
1386
+ isSent: boolean;
1387
+ isRead: boolean;
1388
+ repliedTo: /*elided*/ any;
1389
+ request?: {
1390
+ id: string;
1391
+ type: "personal-info" | "add-person";
1392
+ request: {
1393
+ id: string;
1394
+ date: Date;
1395
+ status: import('../../types/chat').status;
1396
+ } | {
1397
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1398
+ provider?: {
1399
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1400
+ expertise: string;
1401
+ service: {
1402
+ id: string;
1403
+ icon?: string;
1404
+ label: string;
1405
+ fellowships: {
1406
+ id: string;
1407
+ title: string;
1408
+ }[];
1409
+ expertiseLevel: "speciality" | "sub-speciality";
1410
+ price: number;
1411
+ };
1412
+ clinics: {
1413
+ id: string;
1414
+ title: number;
1415
+ latitude: number;
1416
+ longitude: number;
1417
+ }[];
1418
+ fellowships: {
1419
+ id: string;
1420
+ title: string;
1421
+ }[];
1422
+ type: import('../../types/service').InsitutionType;
1423
+ illnesses?: {
1424
+ [x: string]: unknown;
1425
+ id: number | string;
1426
+ name: string;
1427
+ }[];
1428
+ id: string;
1429
+ name: string;
1430
+ lastName: string;
1431
+ isOnline: boolean;
1432
+ lastSeen: Date;
1433
+ imageUrl: string;
1434
+ nationalCode?: string;
1435
+ phoneNumber?: string;
1436
+ isActive: boolean;
1437
+ birthDate: Date;
1438
+ lastMessage?: /*elided*/ any;
1439
+ unreadCount?: number;
1440
+ serviceType?: "video-call" | "voice-call" | "chat";
1441
+ userType: import('../../types/chat').UserRoleKey[];
1442
+ }[];
1443
+ service?: {
1444
+ id: string;
1445
+ icon?: string;
1446
+ label: string;
1447
+ fellowships: {
1448
+ id: string;
1449
+ title: string;
1450
+ }[];
1451
+ expertiseLevel: "speciality" | "sub-speciality";
1452
+ price: number;
1453
+ };
1454
+ serviceType?: import('../../types/chat').ServicePresence;
1455
+ invoice?: {
1456
+ [x: string]: unknown;
1457
+ id: number | string;
1458
+ amount?: number;
1459
+ currency?: string;
1460
+ status?: string;
1461
+ };
1462
+ id: string;
1463
+ icon?: string;
1464
+ label: string;
1465
+ fellowships: {
1466
+ id: string;
1467
+ title: string;
1468
+ }[];
1469
+ expertiseLevel: "speciality" | "sub-speciality";
1470
+ price: number;
1471
+ };
1472
+ };
1473
+ };
1474
+ unreadCount?: number;
1475
+ serviceType?: "video-call" | "voice-call" | "chat";
1476
+ userType: import('../../types/chat').UserRoleKey[];
1477
+ };
1478
+ id: string;
1479
+ conversationId: string;
1480
+ date: Date;
1481
+ type: import('../../types/chat').MessageType;
1482
+ text?: string;
1483
+ imageUrl?: string[];
1484
+ fileUrl?: string;
1485
+ voiceUrl?: string;
1486
+ videoUrl?: string;
1487
+ isEdited: boolean;
1488
+ senderId: string;
1489
+ isSent: boolean;
1490
+ isRead: boolean;
1491
+ repliedTo: {
1492
+ id: string;
1493
+ conversationId: string;
1494
+ date: Date;
1495
+ type: import('../../types/chat').MessageType;
1496
+ text?: string;
1497
+ imageUrl?: string[];
1498
+ fileUrl?: string;
1499
+ voiceUrl?: string;
1500
+ videoUrl?: string;
1501
+ isEdited: boolean;
1502
+ senderId: string;
1503
+ isSent: boolean;
1504
+ isRead: boolean;
1505
+ repliedTo: /*elided*/ any;
1506
+ request?: {
1507
+ id: string;
1508
+ type: "personal-info" | "add-person";
1509
+ request: {
1510
+ id: string;
1511
+ date: Date;
1512
+ status: import('../../types/chat').status;
1513
+ } | {
1514
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1515
+ provider?: {
1516
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1517
+ expertise: string;
1518
+ service: {
1519
+ id: string;
1520
+ icon?: string;
1521
+ label: string;
1522
+ fellowships: {
1523
+ id: string;
1524
+ title: string;
1525
+ }[];
1526
+ expertiseLevel: "speciality" | "sub-speciality";
1527
+ price: number;
1528
+ };
1529
+ clinics: {
1530
+ id: string;
1531
+ title: number;
1532
+ latitude: number;
1533
+ longitude: number;
1534
+ }[];
1535
+ fellowships: {
1536
+ id: string;
1537
+ title: string;
1538
+ }[];
1539
+ type: import('../../types/service').InsitutionType;
1540
+ illnesses?: {
1541
+ [x: string]: unknown;
1542
+ id: number | string;
1543
+ name: string;
1544
+ }[];
1545
+ id: string;
1546
+ name: string;
1547
+ lastName: string;
1548
+ isOnline: boolean;
1549
+ lastSeen: Date;
1550
+ imageUrl: string;
1551
+ nationalCode?: string;
1552
+ phoneNumber?: string;
1553
+ isActive: boolean;
1554
+ birthDate: Date;
1555
+ lastMessage?: /*elided*/ any;
1556
+ unreadCount?: number;
1557
+ serviceType?: "video-call" | "voice-call" | "chat";
1558
+ userType: import('../../types/chat').UserRoleKey[];
1559
+ }[];
1560
+ service?: {
1561
+ id: string;
1562
+ icon?: string;
1563
+ label: string;
1564
+ fellowships: {
1565
+ id: string;
1566
+ title: string;
1567
+ }[];
1568
+ expertiseLevel: "speciality" | "sub-speciality";
1569
+ price: number;
1570
+ };
1571
+ serviceType?: import('../../types/chat').ServicePresence;
1572
+ invoice?: {
1573
+ [x: string]: unknown;
1574
+ id: number | string;
1575
+ amount?: number;
1576
+ currency?: string;
1577
+ status?: string;
1578
+ };
1579
+ id: string;
1580
+ icon?: string;
1581
+ label: string;
1582
+ fellowships: {
1583
+ id: string;
1584
+ title: string;
1585
+ }[];
1586
+ expertiseLevel: "speciality" | "sub-speciality";
1587
+ price: number;
1588
+ };
1589
+ };
1590
+ };
1591
+ request?: {
1592
+ id: string;
1593
+ type: "personal-info" | "add-person";
1594
+ request: {
1595
+ id: string;
1596
+ date: Date;
1597
+ status: import('../../types/chat').status;
1598
+ } | {
1599
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1600
+ provider?: {
1601
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1602
+ expertise: string;
1603
+ service: {
1604
+ id: string;
1605
+ icon?: string;
1606
+ label: string;
1607
+ fellowships: {
1608
+ id: string;
1609
+ title: string;
1610
+ }[];
1611
+ expertiseLevel: "speciality" | "sub-speciality";
1612
+ price: number;
1613
+ };
1614
+ clinics: {
1615
+ id: string;
1616
+ title: number;
1617
+ latitude: number;
1618
+ longitude: number;
1619
+ }[];
1620
+ fellowships: {
1621
+ id: string;
1622
+ title: string;
1623
+ }[];
1624
+ type: import('../../types/service').InsitutionType;
1625
+ illnesses?: {
1626
+ [x: string]: unknown;
1627
+ id: number | string;
1628
+ name: string;
1629
+ }[];
1630
+ id: string;
1631
+ name: string;
1632
+ lastName: string;
1633
+ isOnline: boolean;
1634
+ lastSeen: Date;
1635
+ imageUrl: string;
1636
+ nationalCode?: string;
1637
+ phoneNumber?: string;
1638
+ isActive: boolean;
1639
+ birthDate: Date;
1640
+ lastMessage?: {
1641
+ id: string;
1642
+ conversationId: string;
1643
+ date: Date;
1644
+ type: import('../../types/chat').MessageType;
1645
+ text?: string;
1646
+ imageUrl?: string[];
1647
+ fileUrl?: string;
1648
+ voiceUrl?: string;
1649
+ videoUrl?: string;
1650
+ isEdited: boolean;
1651
+ senderId: string;
1652
+ isSent: boolean;
1653
+ isRead: boolean;
1654
+ repliedTo: /*elided*/ any;
1655
+ request?: /*elided*/ any;
1656
+ };
1657
+ unreadCount?: number;
1658
+ serviceType?: "video-call" | "voice-call" | "chat";
1659
+ userType: import('../../types/chat').UserRoleKey[];
1660
+ }[];
1661
+ service?: {
1662
+ id: string;
1663
+ icon?: string;
1664
+ label: string;
1665
+ fellowships: {
1666
+ id: string;
1667
+ title: string;
1668
+ }[];
1669
+ expertiseLevel: "speciality" | "sub-speciality";
1670
+ price: number;
1671
+ };
1672
+ serviceType?: import('../../types/chat').ServicePresence;
1673
+ invoice?: {
1674
+ [x: string]: unknown;
1675
+ id: number | string;
1676
+ amount?: number;
1677
+ currency?: string;
1678
+ status?: string;
1679
+ };
1680
+ id: string;
1681
+ icon?: string;
1682
+ label: string;
1683
+ fellowships: {
1684
+ id: string;
1685
+ title: string;
1686
+ }[];
1687
+ expertiseLevel: "speciality" | "sub-speciality";
1688
+ price: number;
1689
+ };
1690
+ };
1691
+ }, ExtendedMessage | {
1692
+ prevMessage?: {
1693
+ id: string;
1694
+ conversationId: string;
1695
+ date: Date;
1696
+ type: import('../../types/chat').MessageType;
1697
+ text?: string;
1698
+ imageUrl?: string[];
1699
+ fileUrl?: string;
1700
+ voiceUrl?: string;
1701
+ videoUrl?: string;
1702
+ isEdited: boolean;
1703
+ senderId: string;
1704
+ isSent: boolean;
1705
+ isRead: boolean;
1706
+ repliedTo: /*elided*/ any;
1707
+ request?: {
1708
+ id: string;
1709
+ type: "personal-info" | "add-person";
1710
+ request: {
1711
+ id: string;
1712
+ date: Date;
1713
+ status: import('../../types/chat').status;
1714
+ } | {
1715
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1716
+ provider?: {
1717
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1718
+ expertise: string;
1719
+ service: {
1720
+ id: string;
1721
+ icon?: string;
1722
+ label: string;
1723
+ fellowships: {
1724
+ id: string;
1725
+ title: string;
1726
+ }[];
1727
+ expertiseLevel: "speciality" | "sub-speciality";
1728
+ price: number;
1729
+ };
1730
+ clinics: {
1731
+ id: string;
1732
+ title: number;
1733
+ latitude: number;
1734
+ longitude: number;
1735
+ }[];
1736
+ fellowships: {
1737
+ id: string;
1738
+ title: string;
1739
+ }[];
1740
+ type: import('../../types/service').InsitutionType;
1741
+ illnesses?: {
1742
+ [x: string]: unknown;
1743
+ id: number | string;
1744
+ name: string;
1745
+ }[];
1746
+ id: string;
1747
+ name: string;
1748
+ lastName: string;
1749
+ isOnline: boolean;
1750
+ lastSeen: Date;
1751
+ imageUrl: string;
1752
+ nationalCode?: string;
1753
+ phoneNumber?: string;
1754
+ isActive: boolean;
1755
+ birthDate: Date;
1756
+ lastMessage?: /*elided*/ any;
1757
+ unreadCount?: number;
1758
+ serviceType?: "video-call" | "voice-call" | "chat";
1759
+ userType: import('../../types/chat').UserRoleKey[];
1760
+ }[];
1761
+ service?: {
1762
+ id: string;
1763
+ icon?: string;
1764
+ label: string;
1765
+ fellowships: {
1766
+ id: string;
1767
+ title: string;
1768
+ }[];
1769
+ expertiseLevel: "speciality" | "sub-speciality";
1770
+ price: number;
1771
+ };
1772
+ serviceType?: import('../../types/chat').ServicePresence;
1773
+ invoice?: {
1774
+ [x: string]: unknown;
1775
+ id: number | string;
1776
+ amount?: number;
1777
+ currency?: string;
1778
+ status?: string;
1779
+ };
1780
+ id: string;
1781
+ icon?: string;
1782
+ label: string;
1783
+ fellowships: {
1784
+ id: string;
1785
+ title: string;
1786
+ }[];
1787
+ expertiseLevel: "speciality" | "sub-speciality";
1788
+ price: number;
1789
+ };
1790
+ };
1791
+ };
1792
+ nextMessage?: {
1793
+ id: string;
1794
+ conversationId: string;
1795
+ date: Date;
1796
+ type: import('../../types/chat').MessageType;
1797
+ text?: string;
1798
+ imageUrl?: string[];
1799
+ fileUrl?: string;
1800
+ voiceUrl?: string;
1801
+ videoUrl?: string;
1802
+ isEdited: boolean;
1803
+ senderId: string;
1804
+ isSent: boolean;
1805
+ isRead: boolean;
1806
+ repliedTo: /*elided*/ any;
1807
+ request?: {
1808
+ id: string;
1809
+ type: "personal-info" | "add-person";
1810
+ request: {
1811
+ id: string;
1812
+ date: Date;
1813
+ status: import('../../types/chat').status;
1814
+ } | {
1815
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1816
+ provider?: {
1817
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1818
+ expertise: string;
1819
+ service: {
1820
+ id: string;
1821
+ icon?: string;
1822
+ label: string;
1823
+ fellowships: {
1824
+ id: string;
1825
+ title: string;
1826
+ }[];
1827
+ expertiseLevel: "speciality" | "sub-speciality";
1828
+ price: number;
1829
+ };
1830
+ clinics: {
1831
+ id: string;
1832
+ title: number;
1833
+ latitude: number;
1834
+ longitude: number;
1835
+ }[];
1836
+ fellowships: {
1837
+ id: string;
1838
+ title: string;
1839
+ }[];
1840
+ type: import('../../types/service').InsitutionType;
1841
+ illnesses?: {
1842
+ [x: string]: unknown;
1843
+ id: number | string;
1844
+ name: string;
1845
+ }[];
1846
+ id: string;
1847
+ name: string;
1848
+ lastName: string;
1849
+ isOnline: boolean;
1850
+ lastSeen: Date;
1851
+ imageUrl: string;
1852
+ nationalCode?: string;
1853
+ phoneNumber?: string;
1854
+ isActive: boolean;
1855
+ birthDate: Date;
1856
+ lastMessage?: /*elided*/ any;
1857
+ unreadCount?: number;
1858
+ serviceType?: "video-call" | "voice-call" | "chat";
1859
+ userType: import('../../types/chat').UserRoleKey[];
1860
+ }[];
1861
+ service?: {
1862
+ id: string;
1863
+ icon?: string;
1864
+ label: string;
1865
+ fellowships: {
1866
+ id: string;
1867
+ title: string;
1868
+ }[];
1869
+ expertiseLevel: "speciality" | "sub-speciality";
1870
+ price: number;
1871
+ };
1872
+ serviceType?: import('../../types/chat').ServicePresence;
1873
+ invoice?: {
1874
+ [x: string]: unknown;
1875
+ id: number | string;
1876
+ amount?: number;
1877
+ currency?: string;
1878
+ status?: string;
1879
+ };
1880
+ id: string;
1881
+ icon?: string;
1882
+ label: string;
1883
+ fellowships: {
1884
+ id: string;
1885
+ title: string;
1886
+ }[];
1887
+ expertiseLevel: "speciality" | "sub-speciality";
1888
+ price: number;
1889
+ };
1890
+ };
1891
+ };
1892
+ isFirstInDate: boolean;
1893
+ contact?: {
1894
+ id: string;
1895
+ name: string;
1896
+ lastName: string;
1897
+ isOnline: boolean;
1898
+ lastSeen: Date;
1899
+ imageUrl: string;
1900
+ nationalCode?: string;
1901
+ phoneNumber?: string;
1902
+ isActive: boolean;
1903
+ birthDate: Date;
1904
+ lastMessage?: {
1905
+ id: string;
1906
+ conversationId: string;
1907
+ date: Date;
1908
+ type: import('../../types/chat').MessageType;
1909
+ text?: string;
1910
+ imageUrl?: string[];
1911
+ fileUrl?: string;
1912
+ voiceUrl?: string;
1913
+ videoUrl?: string;
1914
+ isEdited: boolean;
1915
+ senderId: string;
1916
+ isSent: boolean;
1917
+ isRead: boolean;
1918
+ repliedTo: /*elided*/ any;
1919
+ request?: {
1920
+ id: string;
1921
+ type: "personal-info" | "add-person";
1922
+ request: {
1923
+ id: string;
1924
+ date: Date;
1925
+ status: import('../../types/chat').status;
1926
+ } | {
1927
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
1928
+ provider?: {
1929
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
1930
+ expertise: string;
1931
+ service: {
1932
+ id: string;
1933
+ icon?: string;
1934
+ label: string;
1935
+ fellowships: {
1936
+ id: string;
1937
+ title: string;
1938
+ }[];
1939
+ expertiseLevel: "speciality" | "sub-speciality";
1940
+ price: number;
1941
+ };
1942
+ clinics: {
1943
+ id: string;
1944
+ title: number;
1945
+ latitude: number;
1946
+ longitude: number;
1947
+ }[];
1948
+ fellowships: {
1949
+ id: string;
1950
+ title: string;
1951
+ }[];
1952
+ type: import('../../types/service').InsitutionType;
1953
+ illnesses?: {
1954
+ [x: string]: unknown;
1955
+ id: number | string;
1956
+ name: string;
1957
+ }[];
1958
+ id: string;
1959
+ name: string;
1960
+ lastName: string;
1961
+ isOnline: boolean;
1962
+ lastSeen: Date;
1963
+ imageUrl: string;
1964
+ nationalCode?: string;
1965
+ phoneNumber?: string;
1966
+ isActive: boolean;
1967
+ birthDate: Date;
1968
+ lastMessage?: /*elided*/ any;
1969
+ unreadCount?: number;
1970
+ serviceType?: "video-call" | "voice-call" | "chat";
1971
+ userType: import('../../types/chat').UserRoleKey[];
1972
+ }[];
1973
+ service?: {
1974
+ id: string;
1975
+ icon?: string;
1976
+ label: string;
1977
+ fellowships: {
1978
+ id: string;
1979
+ title: string;
1980
+ }[];
1981
+ expertiseLevel: "speciality" | "sub-speciality";
1982
+ price: number;
1983
+ };
1984
+ serviceType?: import('../../types/chat').ServicePresence;
1985
+ invoice?: {
1986
+ [x: string]: unknown;
1987
+ id: number | string;
1988
+ amount?: number;
1989
+ currency?: string;
1990
+ status?: string;
1991
+ };
1992
+ id: string;
1993
+ icon?: string;
1994
+ label: string;
1995
+ fellowships: {
1996
+ id: string;
1997
+ title: string;
1998
+ }[];
1999
+ expertiseLevel: "speciality" | "sub-speciality";
2000
+ price: number;
2001
+ };
2002
+ };
2003
+ };
2004
+ unreadCount?: number;
2005
+ serviceType?: "video-call" | "voice-call" | "chat";
2006
+ userType: import('../../types/chat').UserRoleKey[];
2007
+ };
2008
+ id: string;
2009
+ conversationId: string;
2010
+ date: Date;
2011
+ type: import('../../types/chat').MessageType;
2012
+ text?: string;
2013
+ imageUrl?: string[];
2014
+ fileUrl?: string;
2015
+ voiceUrl?: string;
2016
+ videoUrl?: string;
2017
+ isEdited: boolean;
2018
+ senderId: string;
2019
+ isSent: boolean;
2020
+ isRead: boolean;
2021
+ repliedTo: {
2022
+ id: string;
2023
+ conversationId: string;
2024
+ date: Date;
2025
+ type: import('../../types/chat').MessageType;
2026
+ text?: string;
2027
+ imageUrl?: string[];
2028
+ fileUrl?: string;
2029
+ voiceUrl?: string;
2030
+ videoUrl?: string;
2031
+ isEdited: boolean;
2032
+ senderId: string;
2033
+ isSent: boolean;
2034
+ isRead: boolean;
2035
+ repliedTo: /*elided*/ any;
2036
+ request?: {
2037
+ id: string;
2038
+ type: "personal-info" | "add-person";
2039
+ request: {
2040
+ id: string;
2041
+ date: Date;
2042
+ status: import('../../types/chat').status;
2043
+ } | {
2044
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
2045
+ provider?: {
2046
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
2047
+ expertise: string;
2048
+ service: {
2049
+ id: string;
2050
+ icon?: string;
2051
+ label: string;
2052
+ fellowships: {
2053
+ id: string;
2054
+ title: string;
2055
+ }[];
2056
+ expertiseLevel: "speciality" | "sub-speciality";
2057
+ price: number;
2058
+ };
2059
+ clinics: {
2060
+ id: string;
2061
+ title: number;
2062
+ latitude: number;
2063
+ longitude: number;
2064
+ }[];
2065
+ fellowships: {
2066
+ id: string;
2067
+ title: string;
2068
+ }[];
2069
+ type: import('../../types/service').InsitutionType;
2070
+ illnesses?: {
2071
+ [x: string]: unknown;
2072
+ id: number | string;
2073
+ name: string;
2074
+ }[];
2075
+ id: string;
2076
+ name: string;
2077
+ lastName: string;
2078
+ isOnline: boolean;
2079
+ lastSeen: Date;
2080
+ imageUrl: string;
2081
+ nationalCode?: string;
2082
+ phoneNumber?: string;
2083
+ isActive: boolean;
2084
+ birthDate: Date;
2085
+ lastMessage?: /*elided*/ any;
2086
+ unreadCount?: number;
2087
+ serviceType?: "video-call" | "voice-call" | "chat";
2088
+ userType: import('../../types/chat').UserRoleKey[];
2089
+ }[];
2090
+ service?: {
2091
+ id: string;
2092
+ icon?: string;
2093
+ label: string;
2094
+ fellowships: {
2095
+ id: string;
2096
+ title: string;
2097
+ }[];
2098
+ expertiseLevel: "speciality" | "sub-speciality";
2099
+ price: number;
2100
+ };
2101
+ serviceType?: import('../../types/chat').ServicePresence;
2102
+ invoice?: {
2103
+ [x: string]: unknown;
2104
+ id: number | string;
2105
+ amount?: number;
2106
+ currency?: string;
2107
+ status?: string;
2108
+ };
2109
+ id: string;
2110
+ icon?: string;
2111
+ label: string;
2112
+ fellowships: {
2113
+ id: string;
2114
+ title: string;
2115
+ }[];
2116
+ expertiseLevel: "speciality" | "sub-speciality";
2117
+ price: number;
2118
+ };
2119
+ };
2120
+ };
2121
+ request?: {
2122
+ id: string;
2123
+ type: "personal-info" | "add-person";
2124
+ request: {
2125
+ id: string;
2126
+ date: Date;
2127
+ status: import('../../types/chat').status;
2128
+ } | {
2129
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
2130
+ provider?: {
2131
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
2132
+ expertise: string;
2133
+ service: {
2134
+ id: string;
2135
+ icon?: string;
2136
+ label: string;
2137
+ fellowships: {
2138
+ id: string;
2139
+ title: string;
2140
+ }[];
2141
+ expertiseLevel: "speciality" | "sub-speciality";
2142
+ price: number;
2143
+ };
2144
+ clinics: {
2145
+ id: string;
2146
+ title: number;
2147
+ latitude: number;
2148
+ longitude: number;
2149
+ }[];
2150
+ fellowships: {
2151
+ id: string;
2152
+ title: string;
2153
+ }[];
2154
+ type: import('../../types/service').InsitutionType;
2155
+ illnesses?: {
2156
+ [x: string]: unknown;
2157
+ id: number | string;
2158
+ name: string;
2159
+ }[];
2160
+ id: string;
2161
+ name: string;
2162
+ lastName: string;
2163
+ isOnline: boolean;
2164
+ lastSeen: Date;
2165
+ imageUrl: string;
2166
+ nationalCode?: string;
2167
+ phoneNumber?: string;
2168
+ isActive: boolean;
2169
+ birthDate: Date;
2170
+ lastMessage?: {
2171
+ id: string;
2172
+ conversationId: string;
2173
+ date: Date;
2174
+ type: import('../../types/chat').MessageType;
2175
+ text?: string;
2176
+ imageUrl?: string[];
2177
+ fileUrl?: string;
2178
+ voiceUrl?: string;
2179
+ videoUrl?: string;
2180
+ isEdited: boolean;
2181
+ senderId: string;
2182
+ isSent: boolean;
2183
+ isRead: boolean;
2184
+ repliedTo: /*elided*/ any;
2185
+ request?: /*elided*/ any;
2186
+ };
2187
+ unreadCount?: number;
2188
+ serviceType?: "video-call" | "voice-call" | "chat";
2189
+ userType: import('../../types/chat').UserRoleKey[];
2190
+ }[];
2191
+ service?: {
2192
+ id: string;
2193
+ icon?: string;
2194
+ label: string;
2195
+ fellowships: {
2196
+ id: string;
2197
+ title: string;
2198
+ }[];
2199
+ expertiseLevel: "speciality" | "sub-speciality";
2200
+ price: number;
2201
+ };
2202
+ serviceType?: import('../../types/chat').ServicePresence;
2203
+ invoice?: {
2204
+ [x: string]: unknown;
2205
+ id: number | string;
2206
+ amount?: number;
2207
+ currency?: string;
2208
+ status?: string;
2209
+ };
2210
+ id: string;
2211
+ icon?: string;
2212
+ label: string;
2213
+ fellowships: {
2214
+ id: string;
2215
+ title: string;
2216
+ }[];
2217
+ expertiseLevel: "speciality" | "sub-speciality";
2218
+ price: number;
2219
+ };
2220
+ };
2221
+ }>;
2222
+ displayedActionText: import('vue').ComputedRef<string>;
2223
+ displayActionName: import('vue').ComputedRef<string>;
2224
+ handleAttachments: (payloads: any[]) => void;
2225
+ showMobileEmojiPicker: import('vue').Ref<boolean, boolean>;
2226
+ onInputFocus: () => void;
2227
+ handleContentInput: () => void;
2228
+ handleFlipCamera: () => void;
2229
+ videoDisplayRef: import('vue').Ref<any, any>;
2230
+ currentRecordingSeconds: import('vue').ComputedRef<number>;
2231
+ saveCursorPosition: () => void;
2232
+ toggleMobileEmoji: () => void;
2233
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("send" | "edit")[], "send" | "edit", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
2234
+ isActive: {
2235
+ type: BooleanConstructor;
2236
+ default: boolean;
2237
+ };
2238
+ }>> & Readonly<{
2239
+ onSend?: (...args: any[]) => any;
2240
+ onEdit?: (...args: any[]) => any;
2241
+ }>, {
2242
+ isActive: boolean;
2243
+ }, {}, {
2244
+ InputAttachement: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2245
+ initialCaption: {
2246
+ type: StringConstructor;
2247
+ default: string;
2248
+ };
2249
+ }>, {
2250
+ sendMessages: () => void;
2251
+ t: import('../../nuxt-shims').I18nT;
2252
+ attachementMenu: import('vue').Ref<{
2253
+ open: () => void;
2254
+ close: () => void;
2255
+ }, Menu | {
2256
+ open: () => void;
2257
+ close: () => void;
2258
+ }>;
2259
+ resetSelections: () => void;
2260
+ handleMediaSelected: (pathOrArray: any, file?: File) => void;
2261
+ handleFilesSelected: (files: any[]) => void;
2262
+ closePopup: () => void;
2263
+ selectedMedia: import('vue').Ref<any[], any[]>;
2264
+ selectedFiles: import('vue').Ref<any[], any[]>;
2265
+ popupMode: import('vue').Ref<"file" | "single-image" | "multi-image", "file" | "single-image" | "multi-image">;
2266
+ caption: import('vue').Ref<string, string>;
2267
+ popup: import('vue').Ref<{
2268
+ open: () => void;
2269
+ close: () => void;
2270
+ }, import('../../types/components/popup').Popup | {
2271
+ open: () => void;
2272
+ close: () => void;
2273
+ }>;
2274
+ popupTitle: import('vue').ComputedRef<string>;
2275
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "send-attachments"[], "send-attachments", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
2276
+ initialCaption: {
2277
+ type: StringConstructor;
2278
+ default: string;
2279
+ };
2280
+ }>> & Readonly<{
2281
+ "onSend-attachments"?: (...args: any[]) => any;
2282
+ }>, {
2283
+ initialCaption: string;
2284
+ }, {}, {
2285
+ AttachementFileDisplay: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2286
+ file: {
2287
+ type: import('vue').PropType<{
2288
+ name: string;
2289
+ size: number;
2290
+ format: string;
2291
+ path: string;
2292
+ }>;
2293
+ required: true;
2294
+ };
2295
+ }>, {
2296
+ formattedSize: import('vue').ComputedRef<string>;
2297
+ fileExt: import('vue').ComputedRef<string>;
2298
+ fileName: import('vue').ComputedRef<string>;
2299
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
2300
+ file: {
2301
+ type: import('vue').PropType<{
2302
+ name: string;
2303
+ size: number;
2304
+ format: string;
2305
+ path: string;
2306
+ }>;
2307
+ required: true;
2308
+ };
2309
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2310
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2311
+ SafeEmojiText: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2312
+ text: {
2313
+ type: StringConstructor;
2314
+ default: string;
2315
+ };
2316
+ truncate: {
2317
+ type: BooleanConstructor;
2318
+ default: boolean;
2319
+ };
2320
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
2321
+ text: {
2322
+ type: StringConstructor;
2323
+ default: string;
2324
+ };
2325
+ truncate: {
2326
+ type: BooleanConstructor;
2327
+ default: boolean;
2328
+ };
2329
+ }>> & Readonly<{}>, {
2330
+ text: string;
2331
+ truncate: boolean;
2332
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2333
+ VideoRecordDisplay: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2334
+ stream: {
2335
+ type: import('vue').PropType<MediaStream | null>;
2336
+ default: any;
2337
+ };
2338
+ isPaused: {
2339
+ type: BooleanConstructor;
2340
+ default: boolean;
2341
+ };
2342
+ recordingTime: {
2343
+ type: NumberConstructor;
2344
+ default: number;
2345
+ };
2346
+ }>, {
2347
+ mobileOptions: import('vue').ComputedRef<{
2348
+ icon: string;
2349
+ key: string;
2350
+ disabled: boolean;
2351
+ }[]>;
2352
+ isOpen: import('vue').Ref<boolean, boolean>;
2353
+ handleOption: (key: string) => Promise<void>;
2354
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "flip-camera"[], "flip-camera", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
2355
+ stream: {
2356
+ type: import('vue').PropType<MediaStream | null>;
2357
+ default: any;
2358
+ };
2359
+ isPaused: {
2360
+ type: BooleanConstructor;
2361
+ default: boolean;
2362
+ };
2363
+ recordingTime: {
2364
+ type: NumberConstructor;
2365
+ default: number;
2366
+ };
2367
+ }>> & Readonly<{
2368
+ "onFlip-camera"?: (...args: any[]) => any;
2369
+ }>, {
2370
+ stream: MediaStream;
2371
+ isPaused: boolean;
2372
+ recordingTime: number;
2373
+ }, {}, {
2374
+ BubbleVideo: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2375
+ videoUrl: {
2376
+ type: StringConstructor;
2377
+ default: string;
2378
+ };
2379
+ thumbnail: {
2380
+ type: StringConstructor;
2381
+ default: string;
2382
+ };
2383
+ mode: {
2384
+ type: () => "playback" | "recording";
2385
+ default: string;
2386
+ };
2387
+ stream: {
2388
+ type: import('vue').PropType<MediaStream | null>;
2389
+ default: any;
2390
+ };
2391
+ messageId: {
2392
+ type: StringConstructor;
2393
+ required: false;
2394
+ };
2395
+ isSent: {
2396
+ type: BooleanConstructor;
2397
+ default: boolean;
2398
+ };
2399
+ isPaused: {
2400
+ type: BooleanConstructor;
2401
+ default: boolean;
2402
+ };
2403
+ recordingTime: {
2404
+ type: NumberConstructor;
2405
+ default: number;
2406
+ };
2407
+ maxDuration: {
2408
+ type: NumberConstructor;
2409
+ default: number;
2410
+ };
2411
+ }>, {
2412
+ videoRef: import('vue').Ref<HTMLVideoElement, HTMLVideoElement>;
2413
+ isPlaying: import('vue').Ref<boolean, boolean>;
2414
+ isLoaded: import('vue').Ref<boolean, boolean>;
2415
+ circumference: number;
2416
+ dashOffset: import('vue').ComputedRef<number>;
2417
+ isUploading: import('vue').ComputedRef<{
2418
+ progress: number;
2419
+ uploaded: number;
2420
+ total: number;
2421
+ }>;
2422
+ togglePlay: () => void;
2423
+ handleTimeUpdate: () => void;
2424
+ handleEnded: () => void;
2425
+ handlePlay: () => void;
2426
+ handlePause: () => void;
2427
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
2428
+ videoUrl: {
2429
+ type: StringConstructor;
2430
+ default: string;
2431
+ };
2432
+ thumbnail: {
2433
+ type: StringConstructor;
2434
+ default: string;
2435
+ };
2436
+ mode: {
2437
+ type: () => "playback" | "recording";
2438
+ default: string;
2439
+ };
2440
+ stream: {
2441
+ type: import('vue').PropType<MediaStream | null>;
2442
+ default: any;
2443
+ };
2444
+ messageId: {
2445
+ type: StringConstructor;
2446
+ required: false;
2447
+ };
2448
+ isSent: {
2449
+ type: BooleanConstructor;
2450
+ default: boolean;
2451
+ };
2452
+ isPaused: {
2453
+ type: BooleanConstructor;
2454
+ default: boolean;
2455
+ };
2456
+ recordingTime: {
2457
+ type: NumberConstructor;
2458
+ default: number;
2459
+ };
2460
+ maxDuration: {
2461
+ type: NumberConstructor;
2462
+ default: number;
2463
+ };
2464
+ }>> & Readonly<{}>, {
2465
+ videoUrl: string;
2466
+ isSent: boolean;
2467
+ stream: MediaStream;
2468
+ mode: "playback" | "recording";
2469
+ thumbnail: string;
2470
+ isPaused: boolean;
2471
+ recordingTime: number;
2472
+ maxDuration: number;
2473
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2474
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2475
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2476
+ export default _default;
2477
+ //# sourceMappingURL=ChatInput.vue.d.ts.map