mediasfu-angular 2.2.2 → 2.2.3

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 (192) hide show
  1. package/README.md +153 -54
  2. package/USAGE_COOKBOOK.md +202 -0
  3. package/dist/LICENSE +21 -0
  4. package/dist/README.md +153 -54
  5. package/dist/fesm2022/mediasfu-angular.mjs +21817 -12635
  6. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  7. package/dist/lib/@types/types.d.ts +22 -1
  8. package/dist/lib/@types/ui-overrides.types.d.ts +4 -0
  9. package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +1024 -997
  10. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +2052 -1001
  11. package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +1527 -997
  12. package/dist/lib/components/breakout-components/room-list/room-list.component.d.ts +5 -1
  13. package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +988 -988
  14. package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +20 -6
  15. package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +17 -7
  16. package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +509 -1
  17. package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +3 -0
  18. package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +1 -1
  19. package/dist/lib/components/display-components/control-buttons-component/control-buttons-component.component.d.ts +34 -2
  20. package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +19 -0
  21. package/dist/lib/components/display-components/control-widgets/control-icon-badge-widget.component.d.ts +13 -0
  22. package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +1 -0
  23. package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +2 -2
  24. package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +2 -2
  25. package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +2 -0
  26. package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +5 -3
  27. package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +530 -2
  28. package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +41 -1
  29. package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +2029 -5
  30. package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +506 -1
  31. package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +497 -497
  32. package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +18 -11
  33. package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +11 -3
  34. package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +1026 -999
  35. package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +9 -3
  36. package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +511 -1
  37. package/dist/lib/components/display-components/pagination/pagination.component.d.ts +34 -1
  38. package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +507 -1
  39. package/dist/lib/components/display-components/subtitle-overlay/subtitle-overlay.component.d.ts +6 -0
  40. package/dist/lib/components/display-components/video-card/video-card.component.d.ts +10 -6
  41. package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +1010 -1009
  42. package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +999 -999
  43. package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +999 -999
  44. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +2296 -29308
  45. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +467 -4156
  46. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +553 -23371
  47. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +1269 -61673
  48. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +501 -26250
  49. package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +4 -1
  50. package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +3 -1
  51. package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +10 -1
  52. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +518 -507
  53. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +4 -1
  54. package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +3 -3
  55. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +1004 -1004
  56. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +4 -0
  57. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +989 -989
  58. package/dist/lib/components/panelists-components/panelists-modal/panelists-modal.component.d.ts +73 -0
  59. package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +1004 -1004
  60. package/dist/lib/components/permissions-components/permissions-modal/permissions-modal.component.d.ts +89 -0
  61. package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +989 -989
  62. package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +990 -989
  63. package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +1004 -1004
  64. package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +987 -987
  65. package/dist/lib/components/translation-components/translation-settings-modal/translation-settings-modal.component.d.ts +124 -0
  66. package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +989 -989
  67. package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +2062 -1000
  68. package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +3 -15
  69. package/dist/lib/consumers/auto-adjust.service.d.ts +0 -11
  70. package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +0 -7
  71. package/dist/lib/consumers/change-vids.service.d.ts +1 -1
  72. package/dist/lib/consumers/check-permission.service.d.ts +4 -1
  73. package/dist/lib/consumers/check-screen-share.service.d.ts +0 -18
  74. package/dist/lib/consumers/compare-active-names.service.d.ts +0 -16
  75. package/dist/lib/consumers/compare-screen-states.service.d.ts +0 -18
  76. package/dist/lib/consumers/connect-ips.service.d.ts +2 -25
  77. package/dist/lib/consumers/connect-local-ips.service.d.ts +1 -28
  78. package/dist/lib/consumers/disp-streams.service.d.ts +1 -110
  79. package/dist/lib/consumers/generate-page-content.service.d.ts +0 -17
  80. package/dist/lib/consumers/get-estimate.service.d.ts +0 -21
  81. package/dist/lib/consumers/mix-streams.service.d.ts +0 -19
  82. package/dist/lib/consumers/on-screen-changes.service.d.ts +1 -21
  83. package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +1 -14
  84. package/dist/lib/consumers/process-consumer-transports.service.d.ts +3 -57
  85. package/dist/lib/consumers/re-update-inter.service.d.ts +1 -39
  86. package/dist/lib/consumers/reorder-streams.service.d.ts +1 -35
  87. package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +2 -13
  88. package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +1 -13
  89. package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +1 -8
  90. package/dist/lib/consumers/translation-consumer-switch.service.d.ts +68 -0
  91. package/dist/lib/consumers/trigger.service.d.ts +0 -79
  92. package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +0 -24
  93. package/dist/lib/directives/with-override.directive.d.ts +2 -2
  94. package/dist/lib/methods/background-methods/launch-background.service.d.ts +2 -5
  95. package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +2 -5
  96. package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +2 -5
  97. package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +1 -1
  98. package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +2 -5
  99. package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +2 -0
  100. package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +2 -5
  101. package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +2 -5
  102. package/dist/lib/methods/message-methods/launch-messages.service.d.ts +2 -5
  103. package/dist/lib/methods/panelists-methods/add-panelist.service.d.ts +19 -0
  104. package/dist/lib/methods/panelists-methods/focus-panelists.service.d.ts +19 -0
  105. package/dist/lib/methods/panelists-methods/remove-panelist.service.d.ts +17 -0
  106. package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +2 -5
  107. package/dist/lib/methods/permissions-methods/bulk-update-participant-permissions.service.d.ts +20 -0
  108. package/dist/lib/methods/permissions-methods/update-participant-permission.service.d.ts +19 -0
  109. package/dist/lib/methods/permissions-methods/update-permission-config.service.d.ts +29 -0
  110. package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +1 -1
  111. package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +1 -1
  112. package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +1 -1
  113. package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +1 -1
  114. package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +1 -12
  115. package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +1 -11
  116. package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +0 -94
  117. package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +1 -20
  118. package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +1 -12
  119. package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +0 -66
  120. package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +1 -33
  121. package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +1 -17
  122. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +1 -92
  123. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +1 -42
  124. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +1 -94
  125. package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +2 -5
  126. package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +2 -5
  127. package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +1 -1
  128. package/dist/lib/methods/stream-methods/click-chat.service.d.ts +1 -1
  129. package/dist/lib/methods/utils/get-modal-position.util.d.ts +0 -3
  130. package/dist/lib/methods/utils/initial-values.util.d.ts +18 -1
  131. package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +8 -0
  132. package/dist/lib/methods/utils/producer/a-params.service.d.ts +2 -8
  133. package/dist/lib/methods/utils/producer/h-params.service.d.ts +2 -8
  134. package/dist/lib/methods/utils/producer/screen-params.service.d.ts +2 -8
  135. package/dist/lib/methods/utils/producer/v-params.service.d.ts +2 -8
  136. package/dist/lib/methods/utils/sound-player.service.d.ts +1 -1
  137. package/dist/lib/methods/utils/translation-languages.util.d.ts +341 -0
  138. package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +2 -5
  139. package/dist/lib/modern/display-components/modern-alert.component.d.ts +40 -0
  140. package/dist/lib/modern/display-components/modern-loading-modal.component.d.ts +37 -0
  141. package/dist/lib/modern/display-components/modern-meeting-progress-timer.component.d.ts +40 -0
  142. package/dist/lib/modern/display-components/modern-mini-card.component.d.ts +1064 -0
  143. package/dist/lib/modern/display-components/modern-pagination.component.d.ts +91 -0
  144. package/dist/lib/modern/display-components/modern-participants-counter-badge.component.d.ts +16 -0
  145. package/dist/lib/modern/modal-components/modern-co-host-modal.component.d.ts +63 -0
  146. package/dist/lib/modern/modal-components/modern-confirm-exit-modal.component.d.ts +42 -0
  147. package/dist/lib/modern/modal-components/modern-confirm-here-modal.component.d.ts +39 -0
  148. package/dist/lib/modern/modal-components/modern-display-settings-modal.component.d.ts +59 -0
  149. package/dist/lib/modern/modal-components/modern-event-settings-modal.component.d.ts +80 -0
  150. package/dist/lib/modern/modal-components/modern-media-settings-modal.component.d.ts +72 -0
  151. package/dist/lib/modern/modal-components/modern-menu-modal.component.d.ts +48 -0
  152. package/dist/lib/modern/modal-components/modern-messages-modal.component.d.ts +58 -0
  153. package/dist/lib/modern/modal-components/modern-participants-modal.component.d.ts +49 -0
  154. package/dist/lib/modern/modal-components/modern-poll-modal.component.d.ts +54 -0
  155. package/dist/lib/modern/modal-components/modern-recording-modal.component.d.ts +39 -0
  156. package/dist/lib/modern/modal-components/modern-requests-modal.component.d.ts +61 -0
  157. package/dist/lib/modern/modal-components/modern-share-event-modal.component.d.ts +39 -0
  158. package/dist/lib/modern/modal-components/modern-waiting-room-modal.component.d.ts +55 -0
  159. package/dist/lib/modern/primitives/modern-button.component.d.ts +10 -0
  160. package/dist/lib/modern/primitives/modern-entry-shell.component.d.ts +6 -0
  161. package/dist/lib/modern/primitives/modern-field.component.d.ts +32 -0
  162. package/dist/lib/modern/primitives/modern-sidebar-panel.component.d.ts +24 -0
  163. package/dist/lib/modern/primitives/modern-surface.component.d.ts +7 -0
  164. package/dist/lib/modern/utils/render-mode.utils.d.ts +3 -0
  165. package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +0 -9
  166. package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +0 -19
  167. package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +5 -62
  168. package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +0 -18
  169. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +3 -106
  170. package/dist/lib/producers/producer-emits/join-room.service.d.ts +0 -18
  171. package/dist/lib/producers/socket-receive-methods/added-as-panelist.service.d.ts +15 -0
  172. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +1 -90
  173. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +1 -88
  174. package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +1 -66
  175. package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +1 -1
  176. package/dist/lib/producers/socket-receive-methods/panelist-focus-changed.service.d.ts +25 -0
  177. package/dist/lib/producers/socket-receive-methods/panelists-updated.service.d.ts +19 -0
  178. package/dist/lib/producers/socket-receive-methods/permission-config-updated.service.d.ts +15 -0
  179. package/dist/lib/producers/socket-receive-methods/permission-updated.service.d.ts +17 -0
  180. package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +1 -1
  181. package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +0 -80
  182. package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +1 -1
  183. package/dist/lib/producers/socket-receive-methods/receive-control-media.service.d.ts +21 -0
  184. package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +1 -5
  185. package/dist/lib/producers/socket-receive-methods/removed-from-panelists.service.d.ts +15 -0
  186. package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +1 -1
  187. package/dist/lib/producers/socket-receive-methods/translation-receive-methods.service.d.ts +20 -0
  188. package/dist/lib/services/live-subtitle.service.d.ts +15 -0
  189. package/dist/lib/sockets/socket-manager.service.d.ts +1 -2
  190. package/dist/public-api.d.ts +42 -1
  191. package/package.json +106 -95
  192. package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +0 -177
@@ -1,9 +1,6 @@
1
+ import type { LaunchSettingsOptions } from 'mediasfu-shared';
1
2
  import * as i0 from "@angular/core";
2
- export interface LaunchSettingsOptions {
3
- updateIsSettingsModalVisible: (isVisible: boolean) => void;
4
- isSettingsModalVisible: boolean;
5
- }
6
- export type LaunchSettingsType = (options: LaunchSettingsOptions) => void;
3
+ export type { LaunchSettingsOptions, LaunchSettingsType } from 'mediasfu-shared';
7
4
  /**
8
5
  * Toggles the visibility state of the settings modal.
9
6
  *
@@ -80,7 +80,7 @@ export declare class ModifySettings {
80
80
  *
81
81
  * @throws Will show an alert if any setting is set to "approval" in demo mode (room name starts with "d").
82
82
  */
83
- modifySettings: ({ showAlert, roomName, audioSet, videoSet, screenshareSet, chatSet, socket, updateAudioSetting, updateVideoSetting, updateScreenshareSetting, updateChatSetting, updateIsSettingsModalVisible, }: ModifySettingsOptions) => Promise<void>;
83
+ modifySettings: ({ roomName, audioSet, videoSet, screenshareSet, chatSet, socket, updateAudioSetting, updateVideoSetting, updateScreenshareSetting, updateChatSetting, updateIsSettingsModalVisible, }: ModifySettingsOptions) => Promise<void>;
84
84
  static ɵfac: i0.ɵɵFactoryDeclaration<ModifySettings, never>;
85
85
  static ɵprov: i0.ɵɵInjectableDeclaration<ModifySettings>;
86
86
  }
@@ -52,7 +52,7 @@ export declare class ClickChat {
52
52
  *
53
53
  * @returns {Promise<void>} A promise that resolves when the operation is complete.
54
54
  */
55
- clickChat({ isMessagesModalVisible, updateIsMessagesModalVisible, chatSetting, islevel, showAlert, }: ClickChatOptions): Promise<void>;
55
+ clickChat(options: ClickChatOptions): Promise<void>;
56
56
  static ɵfac: i0.ɵɵFactoryDeclaration<ClickChat, never>;
57
57
  static ɵprov: i0.ɵɵInjectableDeclaration<ClickChat>;
58
58
  }
@@ -1,6 +1,3 @@
1
- /**
2
- * Defines the style object for positioning the modal.
3
- */
4
1
  import { ModalPositionStyle } from '../../@types/types';
5
2
  export interface GetModalPositionOptions {
6
3
  position: string;
@@ -7,6 +7,7 @@ type Device = types.Device;
7
7
  import { AParamsType, CoHostResponsibility, EventType, HParamsType, Participant, Poll, ScreenParamsType, Stream, VidCons, VParamsType, ConsumeSocket, MeetingRoomParams, UserRecordingParams, ScreenState, AudioDecibels, CustomMediaComponent, GridSizes, Message, WaitingRoomParticipant, Request, BreakoutParticipant, WhiteboardUser, Shape, ResponseJoinRoom, ComponentSizes, Transport as TransportType } from '../../@types/types';
8
8
  import { Socket } from 'socket.io-client';
9
9
  import { SelfieSegmentation } from '@mediapipe/selfie_segmentation';
10
+ import { TranslationRoomConfig } from '../../producers/socket-receive-methods/translation-receive-methods.service';
10
11
  export interface InitialValuesStateType {
11
12
  roomName: string;
12
13
  member: string;
@@ -219,6 +220,20 @@ export interface InitialValuesStateType {
219
220
  videoSetting: string;
220
221
  screenshareSetting: string;
221
222
  chatSetting: string;
223
+ translationSupported: boolean;
224
+ translationConfig: TranslationRoomConfig | null;
225
+ mySpokenLanguage: string;
226
+ mySpokenLanguageEnabled: boolean;
227
+ myDefaultOutputLanguage: string | null;
228
+ myDefaultListenLanguage: string | null;
229
+ listenPreferences: Map<string, string>;
230
+ translationProducerMap: Record<string, Record<string, string>>;
231
+ availableTranslationChannels: Map<string, {
232
+ languages: string[];
233
+ originalProducerId: string;
234
+ }>;
235
+ canUsePersonalTranslation: boolean;
236
+ personalTranslationUsername?: string;
222
237
  displayOption: string;
223
238
  autoWave: boolean;
224
239
  forceFullDisplay: boolean;
@@ -235,13 +250,15 @@ export interface InitialValuesStateType {
235
250
  totalReqWait: number;
236
251
  alertVisible: boolean;
237
252
  alertMessage: string;
238
- alertType: 'success' | 'danger';
253
+ alertType: 'success' | 'danger' | 'info' | 'warning';
254
+ alertPosition: 'top' | 'bottom' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center';
239
255
  alertDuration: number;
240
256
  progressTimerVisible: boolean;
241
257
  progressTimerValue: number;
242
258
  isMenuModalVisible: boolean;
243
259
  isRecordingModalVisible: boolean;
244
260
  isSettingsModalVisible: boolean;
261
+ isTranslationSettingsModalVisible: boolean;
245
262
  isRequestsModalVisible: boolean;
246
263
  isWaitingModalVisible: boolean;
247
264
  isCoHostModalVisible: boolean;
@@ -93,11 +93,19 @@ export declare class MiniAudioPlayer implements OnInit, OnDestroy {
93
93
  autoWaveCheck: boolean;
94
94
  private previousShowWaveModal;
95
95
  private previousIsMuted;
96
+ private previousMiniAudioProps;
97
+ private audioStateRetryTimer;
96
98
  private injectorCache;
97
99
  private cachedMiniAudioProps;
98
100
  constructor(injector: Injector, injectedStream: MediaStream | null, consumer: Consumer, injectedRemoteProducerId: string, injectedParameters: MiniAudioPlayerParameters, injectedMiniAudioComponent: any, injectedMiniAudioProps: Record<string, any>);
99
101
  ngOnInit(): void;
100
102
  ngOnDestroy(): void;
103
+ private clearAudioStateRetryTimer;
104
+ private getParticipantForProducer;
105
+ private isTranslationAudio;
106
+ private isTranslationSuppressingOriginal;
107
+ private syncAudioElementState;
108
+ private scheduleAudioStateSync;
101
109
  setupAudioProcessing(): void;
102
110
  createInjector(inputs: any): Injector;
103
111
  getMiniAudioProps(): any;
@@ -1,11 +1,6 @@
1
- import { types } from 'mediasoup-client';
1
+ import type { AParamsType as SharedAParamsType } from 'mediasfu-shared';
2
2
  import * as i0 from "@angular/core";
3
- type ProducerCodecOptions = types.ProducerCodecOptions;
4
- type RtpEncodingParameters = types.RtpEncodingParameters;
5
- export type AParamsType = {
6
- encodings: RtpEncodingParameters[];
7
- codecOptions?: ProducerCodecOptions;
8
- };
3
+ export type AParamsType = SharedAParamsType;
9
4
  /**
10
5
  * The `AParams` service provides the encoding parameters for audio production in a media session using the Mediasoup library.
11
6
  * It includes a default configuration for RTP encoding parameters, which can be used when creating audio producers.
@@ -48,4 +43,3 @@ export declare class AParams {
48
43
  static ɵfac: i0.ɵɵFactoryDeclaration<AParams, never>;
49
44
  static ɵprov: i0.ɵɵInjectableDeclaration<AParams>;
50
45
  }
51
- export {};
@@ -1,11 +1,6 @@
1
- import { types } from 'mediasoup-client';
1
+ import type { HParamsType as SharedHParamsType } from 'mediasfu-shared';
2
2
  import * as i0 from "@angular/core";
3
- type ProducerCodecOptions = types.ProducerCodecOptions;
4
- type RtpEncodingParameters = types.RtpEncodingParameters;
5
- export type HParamsType = {
6
- encodings: RtpEncodingParameters[];
7
- codecOptions?: ProducerCodecOptions;
8
- };
3
+ export type HParamsType = SharedHParamsType;
9
4
  /**
10
5
  * The `HParams` service provides encoding parameters for video production in a media session using the Mediasoup library.
11
6
  * It includes a default configuration for RTP encoding parameters designed for handling high-quality video streams.
@@ -61,4 +56,3 @@ export declare class HParams {
61
56
  static ɵfac: i0.ɵɵFactoryDeclaration<HParams, never>;
62
57
  static ɵprov: i0.ɵɵInjectableDeclaration<HParams>;
63
58
  }
64
- export {};
@@ -1,11 +1,6 @@
1
- import { types } from 'mediasoup-client';
1
+ import type { ScreenParamsType as SharedScreenParamsType } from 'mediasfu-shared';
2
2
  import * as i0 from "@angular/core";
3
- type ProducerCodecOptions = types.ProducerCodecOptions;
4
- type RtpEncodingParameters = types.RtpEncodingParameters;
5
- export type ScreenParamsType = {
6
- encodings: RtpEncodingParameters[];
7
- codecOptions?: ProducerCodecOptions;
8
- };
3
+ export type ScreenParamsType = SharedScreenParamsType;
9
4
  /**
10
5
  * The `ScreenParams` service provides encoding parameters specifically for screen sharing in a media session using the Mediasoup library.
11
6
  * It includes a default configuration for RTP encoding parameters optimized for high-quality screen sharing.
@@ -48,4 +43,3 @@ export declare class ScreenParams {
48
43
  static ɵfac: i0.ɵɵFactoryDeclaration<ScreenParams, never>;
49
44
  static ɵprov: i0.ɵɵInjectableDeclaration<ScreenParams>;
50
45
  }
51
- export {};
@@ -1,11 +1,6 @@
1
- import { types } from 'mediasoup-client';
1
+ import type { VParamsType as SharedVParamsType } from 'mediasfu-shared';
2
2
  import * as i0 from "@angular/core";
3
- type ProducerCodecOptions = types.ProducerCodecOptions;
4
- type RtpEncodingParameters = types.RtpEncodingParameters;
5
- export type VParamsType = {
6
- encodings: RtpEncodingParameters[];
7
- codecOptions?: ProducerCodecOptions;
8
- };
3
+ export type VParamsType = SharedVParamsType;
9
4
  /**
10
5
  * The `VParams` service provides encoding parameters for video in a media session using the Mediasoup library.
11
6
  * It includes a default configuration for RTP encoding parameters optimized for video streaming.
@@ -61,4 +56,3 @@ export declare class VParams {
61
56
  static ɵfac: i0.ɵɵFactoryDeclaration<VParams, never>;
62
57
  static ɵprov: i0.ɵɵInjectableDeclaration<VParams>;
63
58
  }
64
- export {};
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export interface SoundPlayerOptions {
4
4
  soundUrl: string;
5
5
  }
6
- export type SoundPlayerType = (options: SoundPlayerOptions) => void;
6
+ export type SoundPlayerType = (options: SoundPlayerOptions) => void | Promise<void>;
7
7
  /**
8
8
  * SoundPlayer service for playing a sound from a provided URL.
9
9
  *
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Central Language Definitions for Translation Pipeline (Frontend)
3
+ *
4
+ * This module provides a single source of truth for all supported languages,
5
+ * language codes, and voice configurations across the frontend application.
6
+ *
7
+ * Language Code Standards:
8
+ * - ISO 639-1: 2-letter codes (e.g., 'en', 'es') - PRIMARY STANDARD
9
+ * - ISO 639-2: 3-letter codes (e.g., 'eng', 'spa') - for extended languages
10
+ * - BCP 47: Language tags with regions (e.g., 'en-US', 'pt-BR')
11
+ */
12
+ export type VoiceGender = 'male' | 'female' | 'neutral';
13
+ export type TTSSupport = 'excellent' | 'good' | 'moderate' | 'limited' | 'unknown' | 'n/a';
14
+ export type LanguageRegion = 'global' | 'europe' | 'asia' | 'south-asia' | 'mena' | 'africa' | 'caucasus' | 'central-asia' | 'constructed' | 'special' | 'other';
15
+ export interface LanguageMetadata {
16
+ name: string;
17
+ nativeName: string;
18
+ region: LanguageRegion;
19
+ ttsSupport: TTSSupport;
20
+ }
21
+ export interface LanguageOption {
22
+ code: string;
23
+ name: string;
24
+ nativeName: string;
25
+ ttsSupport: TTSSupport;
26
+ region: LanguageRegion;
27
+ }
28
+ export interface VoiceOption {
29
+ id: string;
30
+ name: string;
31
+ gender: VoiceGender;
32
+ provider: string;
33
+ language: string;
34
+ style?: string;
35
+ }
36
+ export interface VoiceSelectionPreference {
37
+ gender: VoiceGender;
38
+ voiceId?: string;
39
+ style?: string;
40
+ }
41
+ /**
42
+ * Voice configuration for translation
43
+ * Used in translation:subscribe and per-language voice settings
44
+ */
45
+ export interface TranslationVoiceConfig {
46
+ voiceGender?: VoiceGender;
47
+ voiceId?: string;
48
+ voiceClone?: {
49
+ provider: 'elevenlabs' | 'playht' | 'coqui';
50
+ voiceId: string;
51
+ stability?: number;
52
+ similarity?: number;
53
+ };
54
+ sttNickName?: string;
55
+ llmNickName?: string;
56
+ ttsNickName?: string;
57
+ sttParams?: Record<string, string | number | boolean>;
58
+ llmParams?: Record<string, string | number | boolean>;
59
+ ttsParams?: Record<string, string | number | boolean>;
60
+ }
61
+ /**
62
+ * Language entry with voice config override
63
+ */
64
+ export interface TranslationLanguageEntry {
65
+ code: string;
66
+ nickname?: string;
67
+ voiceConfig?: TranslationVoiceConfig;
68
+ }
69
+ /**
70
+ * Complete list of supported language codes (ISO 639-1 primarily)
71
+ */
72
+ export declare const SUPPORTED_LANGUAGE_CODES: string[];
73
+ /**
74
+ * Language metadata with display names and additional info
75
+ */
76
+ export declare const LANGUAGE_METADATA: Record<string, LanguageMetadata>;
77
+ export declare const VOICE_GENDERS: Record<string, VoiceGender>;
78
+ /**
79
+ * Default voice gender per language
80
+ */
81
+ export declare const DEFAULT_VOICE_GENDERS: Record<string, VoiceGender>;
82
+ /**
83
+ * Azure Neural Voice mappings by language and gender
84
+ */
85
+ export declare const AZURE_NEURAL_VOICES: Record<string, {
86
+ male: string[];
87
+ female: string[];
88
+ }>;
89
+ /**
90
+ * Google Cloud TTS voice mappings
91
+ */
92
+ export declare const GOOGLE_VOICES: Record<string, {
93
+ male: string[];
94
+ female: string[];
95
+ }>;
96
+ /**
97
+ * AWS Polly voice mappings
98
+ */
99
+ export declare const AWS_POLLY_VOICES: Record<string, {
100
+ male: string[];
101
+ female: string[];
102
+ neural?: {
103
+ male: string[];
104
+ female: string[];
105
+ };
106
+ }>;
107
+ /**
108
+ * Deepgram Aura voice mappings (multilingual)
109
+ */
110
+ export interface DeepgramVoice {
111
+ id: string;
112
+ name: string;
113
+ }
114
+ export declare const DEEPGRAM_VOICES: {
115
+ premade: {
116
+ male: DeepgramVoice[];
117
+ female: DeepgramVoice[];
118
+ };
119
+ };
120
+ /**
121
+ * OpenAI TTS voice mappings (multilingual)
122
+ */
123
+ export interface OpenAIVoice {
124
+ id: string;
125
+ name: string;
126
+ }
127
+ export declare const OPENAI_VOICES: {
128
+ premade: {
129
+ male: OpenAIVoice[];
130
+ female: OpenAIVoice[];
131
+ };
132
+ };
133
+ /**
134
+ * ElevenLabs pre-made voices (multilingual)
135
+ */
136
+ export interface ElevenLabsVoice {
137
+ id: string;
138
+ name: string;
139
+ }
140
+ export declare const ELEVENLABS_VOICES: {
141
+ premade: {
142
+ male: ElevenLabsVoice[];
143
+ female: ElevenLabsVoice[];
144
+ };
145
+ };
146
+ /**
147
+ * Cartesia Sonic voice mappings
148
+ */
149
+ export interface CartesiaVoice {
150
+ id: string;
151
+ name: string;
152
+ }
153
+ export declare const CARTESIA_VOICES: {
154
+ premade: {
155
+ male: CartesiaVoice[];
156
+ female: CartesiaVoice[];
157
+ };
158
+ };
159
+ /**
160
+ * Rime AI TTS voice mappings
161
+ * Documentation: https://rime.ai/docs/voices
162
+ */
163
+ export interface RimeVoice {
164
+ id: string;
165
+ name: string;
166
+ }
167
+ export declare const RIME_VOICES: {
168
+ premade: {
169
+ male: RimeVoice[];
170
+ female: RimeVoice[];
171
+ };
172
+ };
173
+ /**
174
+ * Kokoro TTS voice mappings (via Hugging Face)
175
+ * Open-source multilingual TTS
176
+ */
177
+ export interface KokoroVoice {
178
+ id: string;
179
+ name: string;
180
+ }
181
+ export declare const KOKORO_VOICES: {
182
+ premade: {
183
+ male: KokoroVoice[];
184
+ female: KokoroVoice[];
185
+ };
186
+ };
187
+ /**
188
+ * Google Gemini TTS voice mappings
189
+ */
190
+ export interface GeminiVoice {
191
+ id: string;
192
+ name: string;
193
+ }
194
+ export declare const GEMINI_VOICES: {
195
+ premade: {
196
+ male: GeminiVoice[];
197
+ female: GeminiVoice[];
198
+ };
199
+ };
200
+ /**
201
+ * Supported TTS providers
202
+ */
203
+ export type TTSProvider = 'deepgram' | 'openai' | 'azure' | 'google' | 'aws' | 'elevenlabs' | 'playht' | 'cartesia' | 'rime' | 'kokoro' | 'gemini' | 'assemblyai';
204
+ export declare const TTS_PROVIDERS: Record<TTSProvider, {
205
+ name: string;
206
+ supportsSSML: boolean;
207
+ multilingual?: boolean;
208
+ isDefault?: boolean;
209
+ }>;
210
+ /**
211
+ * Check if a language code is supported
212
+ */
213
+ export declare function isLanguageSupported(code: string): boolean;
214
+ /**
215
+ * Validate a language code format
216
+ */
217
+ export declare function isValidLanguageCode(code: string): boolean;
218
+ /**
219
+ * Normalize a language code to ISO 639-1 (2-letter) format
220
+ */
221
+ export declare function normalizeLanguageCode(code: string): string;
222
+ /**
223
+ * Get language display name
224
+ */
225
+ export declare function getLanguageName(code: string, displayLocale?: string): string;
226
+ /**
227
+ * Get native language name
228
+ */
229
+ export declare function getLanguageNativeName(code: string): string;
230
+ /**
231
+ * Quality levels for TTS support (ordered from best to worst)
232
+ */
233
+ export declare const QUALITY_LEVELS: TTSSupport[];
234
+ /**
235
+ * Minimum quality level for languages to be shown in UI
236
+ * Languages with ttsSupport below this level will be filtered out
237
+ * 'good' = only show 'excellent' and 'good' languages
238
+ */
239
+ export declare const MIN_QUALITY_LEVEL: TTSSupport;
240
+ /**
241
+ * Check if a quality level meets the minimum threshold
242
+ */
243
+ export declare function meetsQualityThreshold(quality: TTSSupport, minQuality?: TTSSupport): boolean;
244
+ /**
245
+ * Get all supported languages as array of objects
246
+ * @param displayLocale - Locale for display names
247
+ * @param filterByQuality - Whether to filter by MIN_QUALITY_LEVEL (default: true)
248
+ */
249
+ export declare function getSupportedLanguages(displayLocale?: string, filterByQuality?: boolean): LanguageOption[];
250
+ /**
251
+ * Get all languages without quality filtering (for admin/debug purposes)
252
+ */
253
+ export declare function getAllLanguages(displayLocale?: string): LanguageOption[];
254
+ /**
255
+ * Get languages by region (quality-filtered)
256
+ */
257
+ export declare function getLanguagesByRegion(region: LanguageRegion): LanguageOption[];
258
+ /**
259
+ * Get languages with good TTS support
260
+ * Note: getSupportedLanguages() already filters by quality, this is for explicit filtering
261
+ */
262
+ export declare function getLanguagesWithGoodTTS(): LanguageOption[];
263
+ /**
264
+ * Get default voice for a language and gender
265
+ * Supports multiple TTS providers - defaults to Deepgram
266
+ */
267
+ export declare function getDefaultVoice(langCode: string, gender?: VoiceGender, provider?: TTSProvider | string): string | null;
268
+ /**
269
+ * Get all available voices for a language
270
+ * Supports multiple TTS providers - defaults to Deepgram
271
+ */
272
+ export declare function getAvailableVoices(langCode: string, provider?: TTSProvider | string): {
273
+ male: (string | ElevenLabsVoice | DeepgramVoice | OpenAIVoice | CartesiaVoice | RimeVoice | KokoroVoice | GeminiVoice)[];
274
+ female: (string | ElevenLabsVoice | DeepgramVoice | OpenAIVoice | CartesiaVoice | RimeVoice | KokoroVoice | GeminiVoice)[];
275
+ };
276
+ /**
277
+ * Get the default voice gender for a language
278
+ */
279
+ export declare function getDefaultVoiceGender(langCode: string): VoiceGender;
280
+ /**
281
+ * Format voice option for display in dropdown
282
+ */
283
+ export declare function formatVoiceOption(voiceId: string): VoiceOption;
284
+ /**
285
+ * Clear voice cache (clears local static cache)
286
+ */
287
+ export declare function clearVoiceCache(provider?: string | null): void;
288
+ /**
289
+ * Set cache TTL
290
+ */
291
+ export declare function setVoiceCacheTTL(ttlMs: number): void;
292
+ /**
293
+ * Result from socket voice fetch
294
+ */
295
+ export interface SocketVoiceResponse {
296
+ provider: string;
297
+ language: string;
298
+ voices: {
299
+ male: VoiceOption[];
300
+ female: VoiceOption[];
301
+ };
302
+ providers?: Record<string, unknown>;
303
+ error?: string;
304
+ }
305
+ /**
306
+ * Fetch voices via socket connection (keeps API keys server-side)
307
+ *
308
+ * This is the ONLY method for frontend voice fetching as it:
309
+ * - Keeps TTS API keys on the server (security)
310
+ * - Uses cached results from server
311
+ * - Falls back to static lists if fetch fails
312
+ *
313
+ * The backend will use the room's/user's configured TTS credentials to fetch voices.
314
+ *
315
+ * @example
316
+ * ```typescript
317
+ * // In your React component
318
+ * const voices = await fetchVoicesViaSocket(socket, 'elevenlabs', 'en');
319
+ * console.log(voices.voices.male, voices.voices.female);
320
+ * ```
321
+ *
322
+ * @param socket - Socket.io socket instance
323
+ * @param provider - TTS provider name (e.g., 'deepgram', 'elevenlabs', 'openai')
324
+ * @param language - Language code (optional, default 'en')
325
+ * @returns Promise with voices
326
+ */
327
+ export declare function fetchVoicesViaSocket(socket: {
328
+ emit: (event: string, data: unknown, callback?: (response: SocketVoiceResponse) => void) => void;
329
+ }, provider?: TTSProvider | string, language?: string): Promise<SocketVoiceResponse>;
330
+ /**
331
+ * Fetch supported languages via socket
332
+ *
333
+ * @param socket - Socket.io socket instance
334
+ * @param displayLocale - Locale for display names (default 'en')
335
+ * @returns Promise with language options
336
+ */
337
+ export declare function fetchLanguagesViaSocket(socket: {
338
+ emit: (event: string, data: unknown, callback?: (response: {
339
+ languages: LanguageOption[];
340
+ }) => void) => void;
341
+ }, displayLocale?: string): Promise<LanguageOption[]>;
@@ -1,9 +1,6 @@
1
+ import type { LaunchWaitingOptions } from 'mediasfu-shared';
1
2
  import * as i0 from "@angular/core";
2
- export interface LaunchWaitingOptions {
3
- updateIsWaitingModalVisible: (visible: boolean) => void;
4
- isWaitingModalVisible: boolean;
5
- }
6
- export type LaunchWaitingType = (options: LaunchWaitingOptions) => void;
3
+ export type { LaunchWaitingOptions, LaunchWaitingType } from 'mediasfu-shared';
7
4
  /**
8
5
  * Service to toggle the visibility of a waiting modal.
9
6
  *
@@ -0,0 +1,40 @@
1
+ import { OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
2
+ import { type AlertPosition, type AlertTone } from '../../components/display-components/alert-component/alert.component.component';
3
+ import * as i0 from "@angular/core";
4
+ export interface ModernAlertComponentOptions {
5
+ visible: boolean;
6
+ message: string;
7
+ type: AlertTone;
8
+ duration?: number;
9
+ onHide?: () => void;
10
+ textColor?: string;
11
+ position?: AlertPosition;
12
+ isDarkMode?: boolean;
13
+ alertStyle?: Partial<CSSStyleDeclaration>;
14
+ customTemplate?: TemplateRef<any>;
15
+ }
16
+ export declare class ModernAlertComponent implements OnChanges, OnDestroy {
17
+ visible: boolean;
18
+ message: string;
19
+ type: AlertTone;
20
+ duration: number;
21
+ textColor: string;
22
+ position: AlertPosition;
23
+ isDarkMode?: boolean;
24
+ onHide?: () => void;
25
+ alertStyle?: Partial<CSSStyleDeclaration>;
26
+ customTemplate?: TemplateRef<any>;
27
+ alertType: AlertTone;
28
+ private hideTimeout?;
29
+ ngOnChanges(changes: SimpleChanges): void;
30
+ ngOnDestroy(): void;
31
+ handlePress(): void;
32
+ get alertLabel(): string;
33
+ get alertMeta(): string;
34
+ get alertIcon(): string;
35
+ get alertRole(): 'alert' | 'status';
36
+ get shellStyle(): Record<string, string>;
37
+ get resolvedIsDarkMode(): boolean;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModernAlertComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModernAlertComponent, "app-modern-alert-component", never, { "visible": { "alias": "visible"; "required": false; }; "message": { "alias": "message"; "required": false; }; "type": { "alias": "type"; "required": false; }; "duration": { "alias": "duration"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "position": { "alias": "position"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "onHide": { "alias": "onHide"; "required": false; }; "alertStyle": { "alias": "alertStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; }, {}, never, never, true, never>;
40
+ }
@@ -0,0 +1,37 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export interface ModernLoadingModalOptions {
4
+ isVisible: boolean;
5
+ backgroundColor?: string;
6
+ displayColor?: string;
7
+ isDarkMode?: boolean;
8
+ loadingText?: string;
9
+ showSpinner?: boolean;
10
+ overlayStyle?: Partial<CSSStyleDeclaration>;
11
+ contentStyle?: Partial<CSSStyleDeclaration>;
12
+ spinnerStyle?: Partial<CSSStyleDeclaration>;
13
+ textStyle?: Partial<CSSStyleDeclaration>;
14
+ customTemplate?: TemplateRef<any>;
15
+ }
16
+ type StyleMap = Record<string, string | number | null | undefined>;
17
+ export declare class ModernLoadingModalComponent {
18
+ isVisible: boolean;
19
+ backgroundColor?: string;
20
+ displayColor?: string;
21
+ isDarkMode?: boolean;
22
+ loadingText: string;
23
+ showSpinner: boolean;
24
+ overlayStyle?: Partial<CSSStyleDeclaration>;
25
+ contentStyle?: Partial<CSSStyleDeclaration>;
26
+ spinnerStyle?: Partial<CSSStyleDeclaration>;
27
+ textStyle?: Partial<CSSStyleDeclaration>;
28
+ customTemplate?: TemplateRef<any>;
29
+ get modalContainerStyle(): StyleMap;
30
+ get modalContentStyle(): StyleMap;
31
+ get spinnerContainerStyle(): StyleMap;
32
+ get loadingTextStyle(): StyleMap;
33
+ get resolvedIsDarkMode(): boolean;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModernLoadingModalComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModernLoadingModalComponent, "app-modern-loading-modal", never, { "isVisible": { "alias": "isVisible"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "displayColor": { "alias": "displayColor"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "showSpinner": { "alias": "showSpinner"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "spinnerStyle": { "alias": "spinnerStyle"; "required": false; }; "textStyle": { "alias": "textStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; }, {}, never, never, true, never>;
36
+ }
37
+ export {};
@@ -0,0 +1,40 @@
1
+ import * as i0 from "@angular/core";
2
+ export interface ModernMeetingProgressTimerOptions {
3
+ meetingProgressTime: string;
4
+ initialBackgroundColor?: string;
5
+ position?: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
6
+ textStyle?: {
7
+ [key: string]: string | number;
8
+ };
9
+ showTimer?: boolean;
10
+ }
11
+ export type ModernMeetingProgressTimerType = (options: ModernMeetingProgressTimerOptions) => HTMLElement;
12
+ export declare class ModernMeetingProgressTimerComponent {
13
+ meetingProgressTime: string;
14
+ initialBackgroundColor: string;
15
+ position: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
16
+ textStyle: {
17
+ [key: string]: string | number;
18
+ };
19
+ showTimer: boolean;
20
+ readonly faClock: import("@fortawesome/fontawesome-common-types").IconDefinition;
21
+ get positionStyle(): {
22
+ [key: string]: string;
23
+ };
24
+ get badgeStyle(): {
25
+ [key: string]: string;
26
+ };
27
+ get iconToneClass(): string;
28
+ get badgeTitle(): string;
29
+ get ariaLabel(): string;
30
+ isRecordingState(): boolean;
31
+ private get resolvedTone();
32
+ private getAccentColor;
33
+ private getResolvedBackground;
34
+ private isCustomBackground;
35
+ private parseTimeInSeconds;
36
+ private normalizeColor;
37
+ private withAlpha;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModernMeetingProgressTimerComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModernMeetingProgressTimerComponent, "app-modern-meeting-progress-timer", never, { "meetingProgressTime": { "alias": "meetingProgressTime"; "required": false; }; "initialBackgroundColor": { "alias": "initialBackgroundColor"; "required": false; }; "position": { "alias": "position"; "required": false; }; "textStyle": { "alias": "textStyle"; "required": false; }; "showTimer": { "alias": "showTimer"; "required": false; }; }, {}, never, never, true, never>;
40
+ }