@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,1113 @@
1
+ import { PropType } from 'vue';
2
+ import { Popup } from '../../../types/components/popup';
3
+ import { Menu } from '../../../types/components/menu';
4
+ import { MenuOption } from '../../../types/components/menu-options';
5
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
6
+ mode: {
7
+ type: PropType<"medic" | "options">;
8
+ default: string;
9
+ };
10
+ options: {
11
+ type: PropType<MenuOption[]>;
12
+ default: () => any[];
13
+ };
14
+ }>, {
15
+ isMobile: import('vue').ComputedRef<boolean>;
16
+ handleMobileClick: () => void;
17
+ displayOptions: import('vue').ComputedRef<MenuOption[]>;
18
+ popupRef: import('vue').Ref<{
19
+ open: () => void;
20
+ close: () => void;
21
+ }, Popup | {
22
+ open: () => void;
23
+ close: () => void;
24
+ }>;
25
+ menuRef: import('vue').Ref<{
26
+ open: () => void;
27
+ close: () => void;
28
+ }, Menu | {
29
+ open: () => void;
30
+ close: () => void;
31
+ }>;
32
+ closeAll: () => void;
33
+ t: import('../../../nuxt-shims').I18nT;
34
+ internalMenuMode: import('vue').Ref<"medic" | "options", "medic" | "options">;
35
+ handleSelect: (key: string) => void;
36
+ resetMenuMode: () => void;
37
+ handleMenuState: (isOpen: boolean) => void;
38
+ isMenuOpenned: import('vue').Ref<boolean, boolean>;
39
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "select"[], "select", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
40
+ mode: {
41
+ type: PropType<"medic" | "options">;
42
+ default: string;
43
+ };
44
+ options: {
45
+ type: PropType<MenuOption[]>;
46
+ default: () => any[];
47
+ };
48
+ }>> & Readonly<{
49
+ onSelect?: (...args: any[]) => any;
50
+ }>, {
51
+ options: MenuOption[];
52
+ mode: "medic" | "options";
53
+ }, {}, {
54
+ MedicSelectorContent: import('vue').DefineComponent<{}, {
55
+ t: import('../../../nuxt-shims').I18nT;
56
+ isLoading: any;
57
+ isLoadingServices: any;
58
+ filterProps: (type: string) => {
59
+ color: string;
60
+ icon: string;
61
+ };
62
+ toggleSelect: (medic: import('../../../types/service').Provider) => void;
63
+ selectMedic: () => void;
64
+ selectedExpertiseLabel: any;
65
+ filters: any;
66
+ searchText: any;
67
+ setFilter: (type: string) => void;
68
+ close: () => void;
69
+ providers: any;
70
+ buttonProps: any;
71
+ serviceStore: import('pinia').Store<"service", Pick<{
72
+ isLoading: import('vue').Ref<boolean, boolean>;
73
+ isLoadingServices: import('vue').Ref<boolean, boolean>;
74
+ currentResultPage: import('vue').Ref<number, number>;
75
+ searchText: import('vue').Ref<string, string>;
76
+ selectedServiceId: import('vue').Ref<string, string>;
77
+ providersPerPage: import('vue').Ref<number, number>;
78
+ hasProviderNextPage: import('vue').Ref<boolean, boolean>;
79
+ services: import('vue').Ref<{
80
+ id: string;
81
+ icon?: string;
82
+ label: string;
83
+ fellowships: {
84
+ id: string;
85
+ title: string;
86
+ }[];
87
+ expertiseLevel: "speciality" | "sub-speciality";
88
+ price: number;
89
+ }[], import('../../../types/service').Service[] | {
90
+ id: string;
91
+ icon?: string;
92
+ label: string;
93
+ fellowships: {
94
+ id: string;
95
+ title: string;
96
+ }[];
97
+ expertiseLevel: "speciality" | "sub-speciality";
98
+ price: number;
99
+ }[]>;
100
+ providers: import('vue').Ref<{
101
+ expertise: string;
102
+ service: {
103
+ id: string;
104
+ icon?: string;
105
+ label: string;
106
+ fellowships: {
107
+ id: string;
108
+ title: string;
109
+ }[];
110
+ expertiseLevel: "speciality" | "sub-speciality";
111
+ price: number;
112
+ };
113
+ clinics: {
114
+ id: string;
115
+ title: number;
116
+ latitude: number;
117
+ longitude: number;
118
+ }[];
119
+ fellowships: {
120
+ id: string;
121
+ title: string;
122
+ }[];
123
+ type: import('../../../types/service').InsitutionType;
124
+ illnesses?: {
125
+ [x: string]: unknown;
126
+ id: number | string;
127
+ name: string;
128
+ }[];
129
+ id: string;
130
+ name: string;
131
+ lastName: string;
132
+ isOnline: boolean;
133
+ lastSeen: Date;
134
+ imageUrl: string;
135
+ nationalCode?: string;
136
+ phoneNumber?: string;
137
+ isActive: boolean;
138
+ birthDate: Date;
139
+ lastMessage?: {
140
+ id: string;
141
+ conversationId: string;
142
+ date: Date;
143
+ type: import('../../../types/chat').MessageType;
144
+ text?: string;
145
+ imageUrl?: string[];
146
+ fileUrl?: string;
147
+ voiceUrl?: string;
148
+ videoUrl?: string;
149
+ isEdited: boolean;
150
+ senderId: string;
151
+ isSent: boolean;
152
+ isRead: boolean;
153
+ repliedTo: /*elided*/ any;
154
+ request?: {
155
+ id: string;
156
+ type: "personal-info" | "add-person";
157
+ request: {
158
+ id: string;
159
+ date: Date;
160
+ status: import('../../../types/chat').status;
161
+ } | {
162
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
163
+ provider?: {
164
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
165
+ expertise: string;
166
+ service: {
167
+ id: string;
168
+ icon?: string;
169
+ label: string;
170
+ fellowships: {
171
+ id: string;
172
+ title: string;
173
+ }[];
174
+ expertiseLevel: "speciality" | "sub-speciality";
175
+ price: number;
176
+ };
177
+ clinics: {
178
+ id: string;
179
+ title: number;
180
+ latitude: number;
181
+ longitude: number;
182
+ }[];
183
+ fellowships: {
184
+ id: string;
185
+ title: string;
186
+ }[];
187
+ type: import('../../../types/service').InsitutionType;
188
+ illnesses?: {
189
+ [x: string]: unknown;
190
+ id: number | string;
191
+ name: string;
192
+ }[];
193
+ id: string;
194
+ name: string;
195
+ lastName: string;
196
+ isOnline: boolean;
197
+ lastSeen: Date;
198
+ imageUrl: string;
199
+ nationalCode?: string;
200
+ phoneNumber?: string;
201
+ isActive: boolean;
202
+ birthDate: Date;
203
+ lastMessage?: /*elided*/ any;
204
+ unreadCount?: number;
205
+ serviceType?: "video-call" | "voice-call" | "chat";
206
+ userType: import('../../../types/chat').UserRoleKey[];
207
+ }[];
208
+ service?: {
209
+ id: string;
210
+ icon?: string;
211
+ label: string;
212
+ fellowships: {
213
+ id: string;
214
+ title: string;
215
+ }[];
216
+ expertiseLevel: "speciality" | "sub-speciality";
217
+ price: number;
218
+ };
219
+ serviceType?: import('../../../types/chat').ServicePresence;
220
+ invoice?: {
221
+ [x: string]: unknown;
222
+ id: number | string;
223
+ amount?: number;
224
+ currency?: string;
225
+ status?: string;
226
+ };
227
+ id: string;
228
+ icon?: string;
229
+ label: string;
230
+ fellowships: {
231
+ id: string;
232
+ title: string;
233
+ }[];
234
+ expertiseLevel: "speciality" | "sub-speciality";
235
+ price: number;
236
+ };
237
+ };
238
+ };
239
+ unreadCount?: number;
240
+ serviceType?: "video-call" | "voice-call" | "chat";
241
+ userType: import('../../../types/chat').UserRoleKey[];
242
+ }[], import('../../../types/service').Provider[] | {
243
+ expertise: string;
244
+ service: {
245
+ id: string;
246
+ icon?: string;
247
+ label: string;
248
+ fellowships: {
249
+ id: string;
250
+ title: string;
251
+ }[];
252
+ expertiseLevel: "speciality" | "sub-speciality";
253
+ price: number;
254
+ };
255
+ clinics: {
256
+ id: string;
257
+ title: number;
258
+ latitude: number;
259
+ longitude: number;
260
+ }[];
261
+ fellowships: {
262
+ id: string;
263
+ title: string;
264
+ }[];
265
+ type: import('../../../types/service').InsitutionType;
266
+ illnesses?: {
267
+ [x: string]: unknown;
268
+ id: number | string;
269
+ name: string;
270
+ }[];
271
+ id: string;
272
+ name: string;
273
+ lastName: string;
274
+ isOnline: boolean;
275
+ lastSeen: Date;
276
+ imageUrl: string;
277
+ nationalCode?: string;
278
+ phoneNumber?: string;
279
+ isActive: boolean;
280
+ birthDate: Date;
281
+ lastMessage?: {
282
+ id: string;
283
+ conversationId: string;
284
+ date: Date;
285
+ type: import('../../../types/chat').MessageType;
286
+ text?: string;
287
+ imageUrl?: string[];
288
+ fileUrl?: string;
289
+ voiceUrl?: string;
290
+ videoUrl?: string;
291
+ isEdited: boolean;
292
+ senderId: string;
293
+ isSent: boolean;
294
+ isRead: boolean;
295
+ repliedTo: /*elided*/ any;
296
+ request?: {
297
+ id: string;
298
+ type: "personal-info" | "add-person";
299
+ request: {
300
+ id: string;
301
+ date: Date;
302
+ status: import('../../../types/chat').status;
303
+ } | {
304
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
305
+ provider?: {
306
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
307
+ expertise: string;
308
+ service: {
309
+ id: string;
310
+ icon?: string;
311
+ label: string;
312
+ fellowships: {
313
+ id: string;
314
+ title: string;
315
+ }[];
316
+ expertiseLevel: "speciality" | "sub-speciality";
317
+ price: number;
318
+ };
319
+ clinics: {
320
+ id: string;
321
+ title: number;
322
+ latitude: number;
323
+ longitude: number;
324
+ }[];
325
+ fellowships: {
326
+ id: string;
327
+ title: string;
328
+ }[];
329
+ type: import('../../../types/service').InsitutionType;
330
+ illnesses?: {
331
+ [x: string]: unknown;
332
+ id: number | string;
333
+ name: string;
334
+ }[];
335
+ id: string;
336
+ name: string;
337
+ lastName: string;
338
+ isOnline: boolean;
339
+ lastSeen: Date;
340
+ imageUrl: string;
341
+ nationalCode?: string;
342
+ phoneNumber?: string;
343
+ isActive: boolean;
344
+ birthDate: Date;
345
+ lastMessage?: /*elided*/ any;
346
+ unreadCount?: number;
347
+ serviceType?: "video-call" | "voice-call" | "chat";
348
+ userType: import('../../../types/chat').UserRoleKey[];
349
+ }[];
350
+ service?: {
351
+ id: string;
352
+ icon?: string;
353
+ label: string;
354
+ fellowships: {
355
+ id: string;
356
+ title: string;
357
+ }[];
358
+ expertiseLevel: "speciality" | "sub-speciality";
359
+ price: number;
360
+ };
361
+ serviceType?: import('../../../types/chat').ServicePresence;
362
+ invoice?: {
363
+ [x: string]: unknown;
364
+ id: number | string;
365
+ amount?: number;
366
+ currency?: string;
367
+ status?: string;
368
+ };
369
+ id: string;
370
+ icon?: string;
371
+ label: string;
372
+ fellowships: {
373
+ id: string;
374
+ title: string;
375
+ }[];
376
+ expertiseLevel: "speciality" | "sub-speciality";
377
+ price: number;
378
+ };
379
+ };
380
+ };
381
+ unreadCount?: number;
382
+ serviceType?: "video-call" | "voice-call" | "chat";
383
+ userType: import('../../../types/chat').UserRoleKey[];
384
+ }[]>;
385
+ fetchServices: () => Promise<void>;
386
+ fetchProviders: (isLoadMore?: boolean, serviceId?: string, searchString?: string) => Promise<void>;
387
+ resetProviderData: () => void;
388
+ }, "isLoading" | "isLoadingServices" | "currentResultPage" | "searchText" | "selectedServiceId" | "providersPerPage" | "hasProviderNextPage" | "services" | "providers">, Pick<{
389
+ isLoading: import('vue').Ref<boolean, boolean>;
390
+ isLoadingServices: import('vue').Ref<boolean, boolean>;
391
+ currentResultPage: import('vue').Ref<number, number>;
392
+ searchText: import('vue').Ref<string, string>;
393
+ selectedServiceId: import('vue').Ref<string, string>;
394
+ providersPerPage: import('vue').Ref<number, number>;
395
+ hasProviderNextPage: import('vue').Ref<boolean, boolean>;
396
+ services: import('vue').Ref<{
397
+ id: string;
398
+ icon?: string;
399
+ label: string;
400
+ fellowships: {
401
+ id: string;
402
+ title: string;
403
+ }[];
404
+ expertiseLevel: "speciality" | "sub-speciality";
405
+ price: number;
406
+ }[], import('../../../types/service').Service[] | {
407
+ id: string;
408
+ icon?: string;
409
+ label: string;
410
+ fellowships: {
411
+ id: string;
412
+ title: string;
413
+ }[];
414
+ expertiseLevel: "speciality" | "sub-speciality";
415
+ price: number;
416
+ }[]>;
417
+ providers: import('vue').Ref<{
418
+ expertise: string;
419
+ service: {
420
+ id: string;
421
+ icon?: string;
422
+ label: string;
423
+ fellowships: {
424
+ id: string;
425
+ title: string;
426
+ }[];
427
+ expertiseLevel: "speciality" | "sub-speciality";
428
+ price: number;
429
+ };
430
+ clinics: {
431
+ id: string;
432
+ title: number;
433
+ latitude: number;
434
+ longitude: number;
435
+ }[];
436
+ fellowships: {
437
+ id: string;
438
+ title: string;
439
+ }[];
440
+ type: import('../../../types/service').InsitutionType;
441
+ illnesses?: {
442
+ [x: string]: unknown;
443
+ id: number | string;
444
+ name: string;
445
+ }[];
446
+ id: string;
447
+ name: string;
448
+ lastName: string;
449
+ isOnline: boolean;
450
+ lastSeen: Date;
451
+ imageUrl: string;
452
+ nationalCode?: string;
453
+ phoneNumber?: string;
454
+ isActive: boolean;
455
+ birthDate: Date;
456
+ lastMessage?: {
457
+ id: string;
458
+ conversationId: string;
459
+ date: Date;
460
+ type: import('../../../types/chat').MessageType;
461
+ text?: string;
462
+ imageUrl?: string[];
463
+ fileUrl?: string;
464
+ voiceUrl?: string;
465
+ videoUrl?: string;
466
+ isEdited: boolean;
467
+ senderId: string;
468
+ isSent: boolean;
469
+ isRead: boolean;
470
+ repliedTo: /*elided*/ any;
471
+ request?: {
472
+ id: string;
473
+ type: "personal-info" | "add-person";
474
+ request: {
475
+ id: string;
476
+ date: Date;
477
+ status: import('../../../types/chat').status;
478
+ } | {
479
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
480
+ provider?: {
481
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
482
+ expertise: string;
483
+ service: {
484
+ id: string;
485
+ icon?: string;
486
+ label: string;
487
+ fellowships: {
488
+ id: string;
489
+ title: string;
490
+ }[];
491
+ expertiseLevel: "speciality" | "sub-speciality";
492
+ price: number;
493
+ };
494
+ clinics: {
495
+ id: string;
496
+ title: number;
497
+ latitude: number;
498
+ longitude: number;
499
+ }[];
500
+ fellowships: {
501
+ id: string;
502
+ title: string;
503
+ }[];
504
+ type: import('../../../types/service').InsitutionType;
505
+ illnesses?: {
506
+ [x: string]: unknown;
507
+ id: number | string;
508
+ name: string;
509
+ }[];
510
+ id: string;
511
+ name: string;
512
+ lastName: string;
513
+ isOnline: boolean;
514
+ lastSeen: Date;
515
+ imageUrl: string;
516
+ nationalCode?: string;
517
+ phoneNumber?: string;
518
+ isActive: boolean;
519
+ birthDate: Date;
520
+ lastMessage?: /*elided*/ any;
521
+ unreadCount?: number;
522
+ serviceType?: "video-call" | "voice-call" | "chat";
523
+ userType: import('../../../types/chat').UserRoleKey[];
524
+ }[];
525
+ service?: {
526
+ id: string;
527
+ icon?: string;
528
+ label: string;
529
+ fellowships: {
530
+ id: string;
531
+ title: string;
532
+ }[];
533
+ expertiseLevel: "speciality" | "sub-speciality";
534
+ price: number;
535
+ };
536
+ serviceType?: import('../../../types/chat').ServicePresence;
537
+ invoice?: {
538
+ [x: string]: unknown;
539
+ id: number | string;
540
+ amount?: number;
541
+ currency?: string;
542
+ status?: string;
543
+ };
544
+ id: string;
545
+ icon?: string;
546
+ label: string;
547
+ fellowships: {
548
+ id: string;
549
+ title: string;
550
+ }[];
551
+ expertiseLevel: "speciality" | "sub-speciality";
552
+ price: number;
553
+ };
554
+ };
555
+ };
556
+ unreadCount?: number;
557
+ serviceType?: "video-call" | "voice-call" | "chat";
558
+ userType: import('../../../types/chat').UserRoleKey[];
559
+ }[], import('../../../types/service').Provider[] | {
560
+ expertise: string;
561
+ service: {
562
+ id: string;
563
+ icon?: string;
564
+ label: string;
565
+ fellowships: {
566
+ id: string;
567
+ title: string;
568
+ }[];
569
+ expertiseLevel: "speciality" | "sub-speciality";
570
+ price: number;
571
+ };
572
+ clinics: {
573
+ id: string;
574
+ title: number;
575
+ latitude: number;
576
+ longitude: number;
577
+ }[];
578
+ fellowships: {
579
+ id: string;
580
+ title: string;
581
+ }[];
582
+ type: import('../../../types/service').InsitutionType;
583
+ illnesses?: {
584
+ [x: string]: unknown;
585
+ id: number | string;
586
+ name: string;
587
+ }[];
588
+ id: string;
589
+ name: string;
590
+ lastName: string;
591
+ isOnline: boolean;
592
+ lastSeen: Date;
593
+ imageUrl: string;
594
+ nationalCode?: string;
595
+ phoneNumber?: string;
596
+ isActive: boolean;
597
+ birthDate: Date;
598
+ lastMessage?: {
599
+ id: string;
600
+ conversationId: string;
601
+ date: Date;
602
+ type: import('../../../types/chat').MessageType;
603
+ text?: string;
604
+ imageUrl?: string[];
605
+ fileUrl?: string;
606
+ voiceUrl?: string;
607
+ videoUrl?: string;
608
+ isEdited: boolean;
609
+ senderId: string;
610
+ isSent: boolean;
611
+ isRead: boolean;
612
+ repliedTo: /*elided*/ any;
613
+ request?: {
614
+ id: string;
615
+ type: "personal-info" | "add-person";
616
+ request: {
617
+ id: string;
618
+ date: Date;
619
+ status: import('../../../types/chat').status;
620
+ } | {
621
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
622
+ provider?: {
623
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
624
+ expertise: string;
625
+ service: {
626
+ id: string;
627
+ icon?: string;
628
+ label: string;
629
+ fellowships: {
630
+ id: string;
631
+ title: string;
632
+ }[];
633
+ expertiseLevel: "speciality" | "sub-speciality";
634
+ price: number;
635
+ };
636
+ clinics: {
637
+ id: string;
638
+ title: number;
639
+ latitude: number;
640
+ longitude: number;
641
+ }[];
642
+ fellowships: {
643
+ id: string;
644
+ title: string;
645
+ }[];
646
+ type: import('../../../types/service').InsitutionType;
647
+ illnesses?: {
648
+ [x: string]: unknown;
649
+ id: number | string;
650
+ name: string;
651
+ }[];
652
+ id: string;
653
+ name: string;
654
+ lastName: string;
655
+ isOnline: boolean;
656
+ lastSeen: Date;
657
+ imageUrl: string;
658
+ nationalCode?: string;
659
+ phoneNumber?: string;
660
+ isActive: boolean;
661
+ birthDate: Date;
662
+ lastMessage?: /*elided*/ any;
663
+ unreadCount?: number;
664
+ serviceType?: "video-call" | "voice-call" | "chat";
665
+ userType: import('../../../types/chat').UserRoleKey[];
666
+ }[];
667
+ service?: {
668
+ id: string;
669
+ icon?: string;
670
+ label: string;
671
+ fellowships: {
672
+ id: string;
673
+ title: string;
674
+ }[];
675
+ expertiseLevel: "speciality" | "sub-speciality";
676
+ price: number;
677
+ };
678
+ serviceType?: import('../../../types/chat').ServicePresence;
679
+ invoice?: {
680
+ [x: string]: unknown;
681
+ id: number | string;
682
+ amount?: number;
683
+ currency?: string;
684
+ status?: string;
685
+ };
686
+ id: string;
687
+ icon?: string;
688
+ label: string;
689
+ fellowships: {
690
+ id: string;
691
+ title: string;
692
+ }[];
693
+ expertiseLevel: "speciality" | "sub-speciality";
694
+ price: number;
695
+ };
696
+ };
697
+ };
698
+ unreadCount?: number;
699
+ serviceType?: "video-call" | "voice-call" | "chat";
700
+ userType: import('../../../types/chat').UserRoleKey[];
701
+ }[]>;
702
+ fetchServices: () => Promise<void>;
703
+ fetchProviders: (isLoadMore?: boolean, serviceId?: string, searchString?: string) => Promise<void>;
704
+ resetProviderData: () => void;
705
+ }, never>, Pick<{
706
+ isLoading: import('vue').Ref<boolean, boolean>;
707
+ isLoadingServices: import('vue').Ref<boolean, boolean>;
708
+ currentResultPage: import('vue').Ref<number, number>;
709
+ searchText: import('vue').Ref<string, string>;
710
+ selectedServiceId: import('vue').Ref<string, string>;
711
+ providersPerPage: import('vue').Ref<number, number>;
712
+ hasProviderNextPage: import('vue').Ref<boolean, boolean>;
713
+ services: import('vue').Ref<{
714
+ id: string;
715
+ icon?: string;
716
+ label: string;
717
+ fellowships: {
718
+ id: string;
719
+ title: string;
720
+ }[];
721
+ expertiseLevel: "speciality" | "sub-speciality";
722
+ price: number;
723
+ }[], import('../../../types/service').Service[] | {
724
+ id: string;
725
+ icon?: string;
726
+ label: string;
727
+ fellowships: {
728
+ id: string;
729
+ title: string;
730
+ }[];
731
+ expertiseLevel: "speciality" | "sub-speciality";
732
+ price: number;
733
+ }[]>;
734
+ providers: import('vue').Ref<{
735
+ expertise: string;
736
+ service: {
737
+ id: string;
738
+ icon?: string;
739
+ label: string;
740
+ fellowships: {
741
+ id: string;
742
+ title: string;
743
+ }[];
744
+ expertiseLevel: "speciality" | "sub-speciality";
745
+ price: number;
746
+ };
747
+ clinics: {
748
+ id: string;
749
+ title: number;
750
+ latitude: number;
751
+ longitude: number;
752
+ }[];
753
+ fellowships: {
754
+ id: string;
755
+ title: string;
756
+ }[];
757
+ type: import('../../../types/service').InsitutionType;
758
+ illnesses?: {
759
+ [x: string]: unknown;
760
+ id: number | string;
761
+ name: string;
762
+ }[];
763
+ id: string;
764
+ name: string;
765
+ lastName: string;
766
+ isOnline: boolean;
767
+ lastSeen: Date;
768
+ imageUrl: string;
769
+ nationalCode?: string;
770
+ phoneNumber?: string;
771
+ isActive: boolean;
772
+ birthDate: Date;
773
+ lastMessage?: {
774
+ id: string;
775
+ conversationId: string;
776
+ date: Date;
777
+ type: import('../../../types/chat').MessageType;
778
+ text?: string;
779
+ imageUrl?: string[];
780
+ fileUrl?: string;
781
+ voiceUrl?: string;
782
+ videoUrl?: string;
783
+ isEdited: boolean;
784
+ senderId: string;
785
+ isSent: boolean;
786
+ isRead: boolean;
787
+ repliedTo: /*elided*/ any;
788
+ request?: {
789
+ id: string;
790
+ type: "personal-info" | "add-person";
791
+ request: {
792
+ id: string;
793
+ date: Date;
794
+ status: import('../../../types/chat').status;
795
+ } | {
796
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
797
+ provider?: {
798
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
799
+ expertise: string;
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
+ clinics: {
812
+ id: string;
813
+ title: number;
814
+ latitude: number;
815
+ longitude: number;
816
+ }[];
817
+ fellowships: {
818
+ id: string;
819
+ title: string;
820
+ }[];
821
+ type: import('../../../types/service').InsitutionType;
822
+ illnesses?: {
823
+ [x: string]: unknown;
824
+ id: number | string;
825
+ name: string;
826
+ }[];
827
+ id: string;
828
+ name: string;
829
+ lastName: string;
830
+ isOnline: boolean;
831
+ lastSeen: Date;
832
+ imageUrl: string;
833
+ nationalCode?: string;
834
+ phoneNumber?: string;
835
+ isActive: boolean;
836
+ birthDate: Date;
837
+ lastMessage?: /*elided*/ any;
838
+ unreadCount?: number;
839
+ serviceType?: "video-call" | "voice-call" | "chat";
840
+ userType: import('../../../types/chat').UserRoleKey[];
841
+ }[];
842
+ service?: {
843
+ id: string;
844
+ icon?: string;
845
+ label: string;
846
+ fellowships: {
847
+ id: string;
848
+ title: string;
849
+ }[];
850
+ expertiseLevel: "speciality" | "sub-speciality";
851
+ price: number;
852
+ };
853
+ serviceType?: import('../../../types/chat').ServicePresence;
854
+ invoice?: {
855
+ [x: string]: unknown;
856
+ id: number | string;
857
+ amount?: number;
858
+ currency?: string;
859
+ status?: string;
860
+ };
861
+ id: string;
862
+ icon?: string;
863
+ label: string;
864
+ fellowships: {
865
+ id: string;
866
+ title: string;
867
+ }[];
868
+ expertiseLevel: "speciality" | "sub-speciality";
869
+ price: number;
870
+ };
871
+ };
872
+ };
873
+ unreadCount?: number;
874
+ serviceType?: "video-call" | "voice-call" | "chat";
875
+ userType: import('../../../types/chat').UserRoleKey[];
876
+ }[], import('../../../types/service').Provider[] | {
877
+ expertise: string;
878
+ service: {
879
+ id: string;
880
+ icon?: string;
881
+ label: string;
882
+ fellowships: {
883
+ id: string;
884
+ title: string;
885
+ }[];
886
+ expertiseLevel: "speciality" | "sub-speciality";
887
+ price: number;
888
+ };
889
+ clinics: {
890
+ id: string;
891
+ title: number;
892
+ latitude: number;
893
+ longitude: number;
894
+ }[];
895
+ fellowships: {
896
+ id: string;
897
+ title: string;
898
+ }[];
899
+ type: import('../../../types/service').InsitutionType;
900
+ illnesses?: {
901
+ [x: string]: unknown;
902
+ id: number | string;
903
+ name: string;
904
+ }[];
905
+ id: string;
906
+ name: string;
907
+ lastName: string;
908
+ isOnline: boolean;
909
+ lastSeen: Date;
910
+ imageUrl: string;
911
+ nationalCode?: string;
912
+ phoneNumber?: string;
913
+ isActive: boolean;
914
+ birthDate: Date;
915
+ lastMessage?: {
916
+ id: string;
917
+ conversationId: string;
918
+ date: Date;
919
+ type: import('../../../types/chat').MessageType;
920
+ text?: string;
921
+ imageUrl?: string[];
922
+ fileUrl?: string;
923
+ voiceUrl?: string;
924
+ videoUrl?: string;
925
+ isEdited: boolean;
926
+ senderId: string;
927
+ isSent: boolean;
928
+ isRead: boolean;
929
+ repliedTo: /*elided*/ any;
930
+ request?: {
931
+ id: string;
932
+ type: "personal-info" | "add-person";
933
+ request: {
934
+ id: string;
935
+ date: Date;
936
+ status: import('../../../types/chat').status;
937
+ } | {
938
+ status?: "searching" | "pending" | "approved" | "payment" | "rejected" | "expired";
939
+ provider?: {
940
+ status: "pending" | "approved" | "payment" | "rejected" | "expired";
941
+ expertise: string;
942
+ service: {
943
+ id: string;
944
+ icon?: string;
945
+ label: string;
946
+ fellowships: {
947
+ id: string;
948
+ title: string;
949
+ }[];
950
+ expertiseLevel: "speciality" | "sub-speciality";
951
+ price: number;
952
+ };
953
+ clinics: {
954
+ id: string;
955
+ title: number;
956
+ latitude: number;
957
+ longitude: number;
958
+ }[];
959
+ fellowships: {
960
+ id: string;
961
+ title: string;
962
+ }[];
963
+ type: import('../../../types/service').InsitutionType;
964
+ illnesses?: {
965
+ [x: string]: unknown;
966
+ id: number | string;
967
+ name: string;
968
+ }[];
969
+ id: string;
970
+ name: string;
971
+ lastName: string;
972
+ isOnline: boolean;
973
+ lastSeen: Date;
974
+ imageUrl: string;
975
+ nationalCode?: string;
976
+ phoneNumber?: string;
977
+ isActive: boolean;
978
+ birthDate: Date;
979
+ lastMessage?: /*elided*/ any;
980
+ unreadCount?: number;
981
+ serviceType?: "video-call" | "voice-call" | "chat";
982
+ userType: import('../../../types/chat').UserRoleKey[];
983
+ }[];
984
+ service?: {
985
+ id: string;
986
+ icon?: string;
987
+ label: string;
988
+ fellowships: {
989
+ id: string;
990
+ title: string;
991
+ }[];
992
+ expertiseLevel: "speciality" | "sub-speciality";
993
+ price: number;
994
+ };
995
+ serviceType?: import('../../../types/chat').ServicePresence;
996
+ invoice?: {
997
+ [x: string]: unknown;
998
+ id: number | string;
999
+ amount?: number;
1000
+ currency?: string;
1001
+ status?: string;
1002
+ };
1003
+ id: string;
1004
+ icon?: string;
1005
+ label: string;
1006
+ fellowships: {
1007
+ id: string;
1008
+ title: string;
1009
+ }[];
1010
+ expertiseLevel: "speciality" | "sub-speciality";
1011
+ price: number;
1012
+ };
1013
+ };
1014
+ };
1015
+ unreadCount?: number;
1016
+ serviceType?: "video-call" | "voice-call" | "chat";
1017
+ userType: import('../../../types/chat').UserRoleKey[];
1018
+ }[]>;
1019
+ fetchServices: () => Promise<void>;
1020
+ fetchProviders: (isLoadMore?: boolean, serviceId?: string, searchString?: string) => Promise<void>;
1021
+ resetProviderData: () => void;
1022
+ }, "fetchServices" | "fetchProviders" | "resetProviderData">>;
1023
+ serviceOptions: any;
1024
+ autoSelect: any;
1025
+ field: any;
1026
+ NoProviderImage: string;
1027
+ isSelected: (id: string) => any;
1028
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "close"[], "close", import('vue').PublicProps, Readonly<{}> & Readonly<{
1029
+ onClose?: (...args: any[]) => any;
1030
+ }>, {}, {}, {
1031
+ MedicDisplay: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
1032
+ medic: {
1033
+ type: PropType<import('../../../types/service').Provider>;
1034
+ required: true;
1035
+ };
1036
+ isSelected: {
1037
+ type: BooleanConstructor;
1038
+ default: boolean;
1039
+ };
1040
+ loading: {
1041
+ type: BooleanConstructor;
1042
+ default: boolean;
1043
+ };
1044
+ }>, {
1045
+ fellowshipString: import('vue').ComputedRef<string>;
1046
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
1047
+ medic: {
1048
+ type: PropType<import('../../../types/service').Provider>;
1049
+ required: true;
1050
+ };
1051
+ isSelected: {
1052
+ type: BooleanConstructor;
1053
+ default: boolean;
1054
+ };
1055
+ loading: {
1056
+ type: BooleanConstructor;
1057
+ default: boolean;
1058
+ };
1059
+ }>> & Readonly<{}>, {
1060
+ loading: boolean;
1061
+ isSelected: boolean;
1062
+ }, {}, {
1063
+ ContactAvatar: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
1064
+ contact: {
1065
+ type: PropType<import('../../../types/chat').Contact>;
1066
+ required: true;
1067
+ };
1068
+ showOnline: {
1069
+ type: BooleanConstructor;
1070
+ default: boolean;
1071
+ };
1072
+ }>, {
1073
+ hasImage: any;
1074
+ initials: any;
1075
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
1076
+ contact: {
1077
+ type: PropType<import('../../../types/chat').Contact>;
1078
+ required: true;
1079
+ };
1080
+ showOnline: {
1081
+ type: BooleanConstructor;
1082
+ default: boolean;
1083
+ };
1084
+ }>> & Readonly<{}>, {
1085
+ showOnline: boolean;
1086
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1087
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1088
+ NoDataDisplay: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
1089
+ imagePath: {
1090
+ type: StringConstructor;
1091
+ default: string;
1092
+ };
1093
+ title: {
1094
+ type: StringConstructor;
1095
+ default: string;
1096
+ };
1097
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
1098
+ imagePath: {
1099
+ type: StringConstructor;
1100
+ default: string;
1101
+ };
1102
+ title: {
1103
+ type: StringConstructor;
1104
+ default: string;
1105
+ };
1106
+ }>> & Readonly<{}>, {
1107
+ title: string;
1108
+ imagePath: string;
1109
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1110
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1111
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1112
+ export default _default;
1113
+ //# sourceMappingURL=MedicSelector.vue.d.ts.map