@azure/communication-react 1.0.0-alpha-20211130.12.0 → 1.0.0-alpha

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 (116) hide show
  1. package/dist/communication-react.d.ts +214 -0
  2. package/dist/dist-cjs/communication-react/index.js +1254 -236
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.d.ts.map +1 -1
  6. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +6 -3
  7. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  8. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +1 -1
  9. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  10. package/dist/dist-esm/react-components/src/components/ControlBarButton.d.ts.map +1 -1
  11. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +10 -16
  12. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  13. package/dist/dist-esm/react-components/src/components/MessageThread.js +1 -1
  14. package/dist/dist-esm/react-components/src/components/ScreenShareButton.d.ts.map +1 -1
  15. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +18 -2
  16. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  17. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts.map +1 -1
  18. package/dist/dist-esm/react-components/src/components/VideoGallery.js +6 -3
  19. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  20. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.d.ts +0 -4
  21. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.d.ts.map +1 -1
  22. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +8 -10
  23. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.d.ts +4 -0
  25. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.d.ts.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +8 -16
  27. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  28. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts.map +1 -1
  29. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +3 -5
  30. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  31. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts.map +1 -1
  32. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +18 -15
  33. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  34. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.d.ts +1 -5
  35. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.d.ts.map +1 -1
  36. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +0 -12
  37. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  38. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +7 -0
  39. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts.map +1 -1
  40. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts.map +1 -1
  42. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +14 -7
  43. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  44. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/ChatButton.d.ts +7 -0
  45. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/ChatButton.d.ts.map +1 -0
  46. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/ChatButton.js +16 -0
  47. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/ChatButton.js.map +1 -0
  48. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingCallControlBar.d.ts +19 -0
  49. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingCallControlBar.d.ts.map +1 -0
  50. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingCallControlBar.js +38 -0
  51. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingCallControlBar.js.map +1 -0
  52. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingComposite.d.ts +37 -0
  53. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingComposite.d.ts.map +1 -0
  54. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingComposite.js +59 -0
  55. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingComposite.js.map +1 -0
  56. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/PeopleButton.d.ts +7 -0
  57. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/PeopleButton.d.ts.map +1 -0
  58. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/PeopleButton.js +16 -0
  59. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/PeopleButton.js.map +1 -0
  60. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/SidePane.d.ts +25 -0
  61. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/SidePane.d.ts.map +1 -0
  62. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/SidePane.js +76 -0
  63. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/SidePane.js.map +1 -0
  64. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/AzureCommunicationMeetingAdapter.d.ts +129 -0
  65. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/AzureCommunicationMeetingAdapter.d.ts.map +1 -0
  66. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/AzureCommunicationMeetingAdapter.js +385 -0
  67. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/AzureCommunicationMeetingAdapter.js.map +1 -0
  68. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingAdapter.d.ts +73 -0
  69. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingAdapter.d.ts.map +1 -0
  70. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingAdapter.js +4 -0
  71. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingAdapter.js.map +1 -0
  72. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingBackedCallAdapter.d.ts +40 -0
  73. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingBackedCallAdapter.d.ts.map +1 -0
  74. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingBackedCallAdapter.js +100 -0
  75. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingBackedCallAdapter.js.map +1 -0
  76. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingBackedChatAdapter.d.ts +30 -0
  77. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingBackedChatAdapter.d.ts.map +1 -0
  78. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingBackedChatAdapter.js +79 -0
  79. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingBackedChatAdapter.js.map +1 -0
  80. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/index.d.ts +10 -0
  81. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/index.d.ts.map +1 -0
  82. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/index.js +5 -0
  83. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/index.js.map +1 -0
  84. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingAdapterState.d.ts +50 -0
  85. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingAdapterState.d.ts.map +1 -0
  86. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingAdapterState.js +50 -0
  87. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingAdapterState.js.map +1 -0
  88. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingCompositePage.d.ts +21 -0
  89. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingCompositePage.d.ts.map +1 -0
  90. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingCompositePage.js +41 -0
  91. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingCompositePage.js.map +1 -0
  92. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingEndReason.d.ts +8 -0
  93. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingEndReason.d.ts.map +1 -0
  94. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingEndReason.js +4 -0
  95. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingEndReason.js.map +1 -0
  96. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingParticipants.d.ts +35 -0
  97. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingParticipants.d.ts.map +1 -0
  98. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingParticipants.js +51 -0
  99. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingParticipants.js.map +1 -0
  100. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingState.d.ts +42 -0
  101. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingState.d.ts.map +1 -0
  102. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingState.js +72 -0
  103. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingState.js.map +1 -0
  104. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/MeetingCompositeStyles.d.ts +6 -0
  105. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/MeetingCompositeStyles.d.ts.map +1 -0
  106. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/MeetingCompositeStyles.js +17 -0
  107. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/MeetingCompositeStyles.js.map +1 -0
  108. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/SidePane.styles.d.ts +38 -0
  109. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/SidePane.styles.d.ts.map +1 -0
  110. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/SidePane.styles.js +63 -0
  111. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/SidePane.styles.js.map +1 -0
  112. package/dist/dist-esm/react-composites/src/composites/index.d.ts +1 -0
  113. package/dist/dist-esm/react-composites/src/composites/index.d.ts.map +1 -1
  114. package/dist/dist-esm/react-composites/src/composites/index.js +1 -0
  115. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  116. package/package.json +7 -7
@@ -227,6 +227,20 @@ export declare type AzureCommunicationChatAdapterArgs = {
227
227
  threadId: string;
228
228
  };
229
229
 
230
+ /**
231
+ * Arguments for {@link createAzureCommunicationMeetingAdapter}
232
+ *
233
+ * @beta
234
+ */
235
+ export declare type AzureCommunicationMeetingAdapterArgs = {
236
+ endpoint: string;
237
+ userId: CommunicationUserIdentifier;
238
+ displayName: string;
239
+ credential: CommunicationTokenCredential;
240
+ chatThreadId: string;
241
+ callLocator: TeamsMeetingLinkLocator | GroupCallLocator;
242
+ };
243
+
230
244
  /**
231
245
  * Properties common to all composites exported from this library.
232
246
  *
@@ -1573,6 +1587,13 @@ export declare type ChatCompositeOptions = {
1573
1587
  * @defaultValue true
1574
1588
  */
1575
1589
  errorBar?: boolean;
1590
+ /**
1591
+ * Show or hide the participant pane. This feature is in beta and not supported on mobile or narrow screen views.
1592
+ * @defaultValue false
1593
+ *
1594
+ * @beta
1595
+ */
1596
+ participantPane?: boolean;
1576
1597
  /**
1577
1598
  * Show or hide the topic at the top of the chat. Hidden if set to `false`
1578
1599
  * @defaultValue true
@@ -2354,6 +2375,14 @@ export declare const createAzureCommunicationChatAdapter: ({ endpoint: endpointU
2354
2375
  */
2355
2376
  export declare const createAzureCommunicationChatAdapterFromClient: (chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient) => Promise<ChatAdapter>;
2356
2377
 
2378
+ /**
2379
+ * Create a meeting adapter backed by Azure Communication services
2380
+ * to plug into the Meeting Composite.
2381
+ *
2382
+ * @beta
2383
+ */
2384
+ export declare const createAzureCommunicationMeetingAdapter: ({ userId, displayName, credential, endpoint, chatThreadId, callLocator }: AzureCommunicationMeetingAdapterArgs) => Promise<MeetingAdapter>;
2385
+
2357
2386
  /**
2358
2387
  * Create the default implementation of {@link CallingHandlers}.
2359
2388
  *
@@ -3307,6 +3336,191 @@ export declare interface MediaDiagnosticsState {
3307
3336
  latest: LatestMediaDiagnostics;
3308
3337
  }
3309
3338
 
3339
+ /**
3340
+ * Meeting Composite Adapter interface.
3341
+ * @beta
3342
+ */
3343
+ export declare interface MeetingAdapter extends MeetingAdapterMeetingManagement, AdapterState<MeetingAdapterState>, Disposable, MeetingAdapterSubscriptions {
3344
+ }
3345
+
3346
+ /**
3347
+ * State from the backend services that drives Meeting Composite.
3348
+ *
3349
+ * @beta
3350
+ */
3351
+ export declare interface MeetingAdapterClientState extends Pick<CallAdapterClientState, 'devices' | 'isTeamsCall'> {
3352
+ /** ID of the meeting participant using this Meeting Adapter. */
3353
+ userId: CommunicationIdentifierKind;
3354
+ /** Display name of the meeting participant using this Meeting Adapter. */
3355
+ displayName: string | undefined;
3356
+ /** State of the current Meeting. */
3357
+ meeting: MeetingState | undefined;
3358
+ }
3359
+
3360
+ /**
3361
+ * Functionality for managing the current meeting.
3362
+ * @beta
3363
+ */
3364
+ export declare interface MeetingAdapterMeetingManagement extends Pick<CallAdapterCallManagement, 'startCamera' | 'stopCamera' | 'mute' | 'unmute' | 'startScreenShare' | 'stopScreenShare' | 'createStreamView' | 'disposeStreamView'>, Pick<CallAdapterDeviceManagement, 'setCamera' | 'setMicrophone' | 'setSpeaker' | 'askDevicePermission' | 'queryCameras' | 'queryMicrophones' | 'querySpeakers'>, Pick<ChatAdapterThreadManagement, 'fetchInitialData' | 'sendMessage' | 'sendReadReceipt' | 'sendTypingIndicator' | 'loadPreviousChatMessages' | 'updateMessage' | 'deleteMessage'> {
3365
+ /**
3366
+ * Join an existing Meeting
3367
+ * @returns The underlying Call object of the meeting.
3368
+ */
3369
+ joinMeeting(microphoneOn?: boolean): Call | undefined;
3370
+ /**
3371
+ * Leave the current Meeting
3372
+ */
3373
+ leaveMeeting(): Promise<void>;
3374
+ /**
3375
+ * Start a new Meeting
3376
+ * @param participants - Array of participant IDs. These represent the participants to initialize the meeting with.
3377
+ * @returns The underlying Call object of the meeting.
3378
+ */
3379
+ startMeeting(participants: string[]): Call | undefined;
3380
+ /**
3381
+ * Remove a participant from a Meeting
3382
+ * @param userId - UserId of the participant to remove.
3383
+ */
3384
+ removeParticipant(userId: string): Promise<void>;
3385
+ }
3386
+
3387
+ /**
3388
+ * Meeting State is a combination of Stateful Chat and Stateful Calling clients with some
3389
+ * state specific to meetings only.
3390
+ * Stateful items like Participants that apply to both calling and chat are intelligently
3391
+ * combined into one to suit the purpose of a Meeting.
3392
+ *
3393
+ * @beta
3394
+ */
3395
+ export declare interface MeetingAdapterState extends MeetingAdapterUiState, MeetingAdapterClientState {
3396
+ }
3397
+
3398
+ /**
3399
+ * Meeting events that can be subscribed to.
3400
+ * @beta
3401
+ */
3402
+ export declare interface MeetingAdapterSubscriptions {
3403
+ on(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;
3404
+ on(event: 'participantsLeft', listener: ParticipantsLeftListener): void;
3405
+ on(event: 'meetingEnded', listener: CallEndedListener): void;
3406
+ on(event: 'error', listener: (e: Error) => void): void;
3407
+ off(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;
3408
+ off(event: 'participantsLeft', listener: ParticipantsLeftListener): void;
3409
+ off(event: 'meetingEnded', listener: CallEndedListener): void;
3410
+ off(event: 'error', listener: (e: Error) => void): void;
3411
+ on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;
3412
+ on(event: 'callIdChanged', listener: CallIdChangedListener): void;
3413
+ on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;
3414
+ on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;
3415
+ on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;
3416
+ off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;
3417
+ off(event: 'callIdChanged', listener: CallIdChangedListener): void;
3418
+ off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;
3419
+ off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;
3420
+ off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;
3421
+ on(event: 'messageReceived', listener: MessageReceivedListener): void;
3422
+ on(event: 'messageSent', listener: MessageSentListener): void;
3423
+ on(event: 'messageRead', listener: MessageReadListener): void;
3424
+ off(event: 'messageReceived', listener: MessageReceivedListener): void;
3425
+ off(event: 'messageSent', listener: MessageSentListener): void;
3426
+ off(event: 'messageRead', listener: MessageReadListener): void;
3427
+ }
3428
+
3429
+ /**
3430
+ * UI state pertaining to the Meeting Composite.
3431
+ *
3432
+ * @beta
3433
+ */
3434
+ export declare interface MeetingAdapterUiState extends Pick<CallAdapterUiState, 'isLocalPreviewMicrophoneEnabled'> {
3435
+ /** Current page in the meeting composite. */
3436
+ page: MeetingCompositePage;
3437
+ }
3438
+
3439
+ /**
3440
+ * Meeting Composite brings together key components to provide a full meeting experience out of the box.
3441
+ *
3442
+ * @beta
3443
+ */
3444
+ export declare const MeetingComposite: (props: MeetingCompositeProps) => JSX.Element;
3445
+
3446
+ /**
3447
+ * Page state the Meeting composite could be in.
3448
+ *
3449
+ * @beta
3450
+ */
3451
+ export declare type MeetingCompositePage = 'accessDeniedTeamsMeeting' | 'configuration' | 'joinMeetingFailedDueToNoNetwork' | 'leftMeeting' | 'lobby' | 'meeting' | 'removedFromMeeting';
3452
+
3453
+ /**
3454
+ * Props required for the {@link MeetingComposite}
3455
+ *
3456
+ * @beta
3457
+ */
3458
+ export declare interface MeetingCompositeProps extends BaseCompositeProps<CallCompositeIcons & ChatCompositeIcons> {
3459
+ meetingAdapter: MeetingAdapter;
3460
+ /**
3461
+ * Fluent theme for the composite.
3462
+ *
3463
+ * Defaults to a light theme if undefined.
3464
+ */
3465
+ fluentTheme?: PartialTheme | Theme;
3466
+ /**
3467
+ * Optimizes the composite form factor for either desktop or mobile.
3468
+ * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.
3469
+ * @defaultValue 'desktop'
3470
+ * @beta
3471
+ */
3472
+ formFactor?: 'desktop' | 'mobile';
3473
+ /**
3474
+ * URL that can be used to copy a meeting invite to the Users clipboard.
3475
+ */
3476
+ meetingInvitationURL?: string;
3477
+ }
3478
+
3479
+ /**
3480
+ * Describes the reason the meeting ended.
3481
+ *
3482
+ * @beta
3483
+ */
3484
+ export declare type MeetingEndReason = CallEndReason;
3485
+
3486
+ /**
3487
+ * Events fired off by the Meeting Adapter
3488
+ * @beta
3489
+ */
3490
+ export declare type MeetingEvent = 'participantsJoined' | 'participantsLeft' | 'meetingEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'messageReceived' | 'messageSent' | 'messageRead' | 'error';
3491
+
3492
+ /**
3493
+ * Participants of a Meeting.
3494
+ *
3495
+ * @beta
3496
+ */
3497
+ export declare interface MeetingParticipant extends Pick<RemoteParticipantState, 'displayName' | 'state' | 'videoStreams' | 'isMuted' | 'isSpeaking'> {
3498
+ /** ID of the meeting participant. */
3499
+ id: CommunicationUserKind | PhoneNumberKind | MicrosoftTeamsUserKind | UnknownIdentifierKind;
3500
+ /** Describes the reason the meeting ended for this participant. */
3501
+ meetingEndReason?: MeetingEndReason;
3502
+ }
3503
+
3504
+ /**
3505
+ * State of a single Meeting.
3506
+ *
3507
+ * @beta
3508
+ */
3509
+ export declare interface MeetingState extends Pick<CallState, 'callerInfo' | 'state' | 'isMuted' | 'isScreenSharingOn' | 'localVideoStreams' | 'transcription' | 'recording' | 'screenShareRemoteParticipant' | 'startTime' | 'endTime' | 'diagnostics' | 'dominantSpeakers'>, Pick<ChatThreadClientState, 'chatMessages' | 'threadId' | 'properties' | 'readReceipts' | 'typingIndicators' | 'latestReadTime'> {
3510
+ /** Current Meeting ID. */
3511
+ id: string;
3512
+ /** Active participants in the current meeting. */
3513
+ participants: {
3514
+ [key: string]: MeetingParticipant;
3515
+ };
3516
+ /** Participants who have left the current meeting. */
3517
+ participantsEnded: {
3518
+ [keys: string]: MeetingParticipant;
3519
+ };
3520
+ /** Reason the current meeting has ended. */
3521
+ meetingEndReason?: MeetingEndReason;
3522
+ }
3523
+
3310
3524
  /**
3311
3525
  * Discriminated union of all messages.
3312
3526
  *