@azure/communication-react 1.3.3-alpha-202209210019.0 → 1.3.3-alpha-202210060021.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 (113) hide show
  1. package/dist/communication-react.d.ts +131 -13
  2. package/dist/dist-cjs/communication-react/index.js +528 -272
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/identifier.d.ts +5 -0
  5. package/dist/dist-esm/acs-ui-common/src/identifier.js +10 -0
  6. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +5 -8
  13. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +3 -3
  14. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  15. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -1
  16. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  17. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +21 -1
  18. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  19. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -1
  20. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  21. package/dist/dist-esm/communication-react/src/index.d.ts +2 -1
  22. package/dist/dist-esm/communication-react/src/index.js +2 -0
  23. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/CameraButton.js +3 -3
  25. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.d.ts +53 -0
  27. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js +22 -0
  28. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js.map +1 -0
  29. package/dist/dist-esm/react-components/src/components/DevicesButton.js +4 -2
  30. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  31. package/dist/dist-esm/react-components/src/components/DomainPermissions.js +9 -9
  32. package/dist/dist-esm/react-components/src/components/DomainPermissions.js.map +1 -1
  33. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.d.ts +4 -4
  34. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  35. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/HoldButton.js +3 -3
  37. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  38. package/dist/dist-esm/react-components/src/components/MessageThread.js +2 -6
  39. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  40. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +3 -3
  41. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  42. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +2 -2
  43. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  44. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +3 -3
  45. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  46. package/dist/dist-esm/react-components/src/components/VideoGallery.js +13 -4
  47. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/index.d.ts +4 -0
  49. package/dist/dist-esm/react-components/src/components/index.js +2 -0
  50. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  51. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js +5 -1
  52. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +2 -2
  54. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +6 -8
  55. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +9 -9
  57. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +5 -0
  58. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +15 -2
  59. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -1
  60. package/dist/dist-esm/react-components/src/theming/icons.d.ts +3 -1
  61. package/dist/dist-esm/react-components/src/theming/icons.js +24 -2
  62. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  63. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +27 -0
  64. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +29 -3
  65. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  66. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +8 -0
  67. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  68. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +3 -3
  69. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +10 -9
  70. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +15 -4
  72. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -0
  74. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +27 -17
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  76. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +2 -1
  77. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -1
  78. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.d.ts +13 -0
  79. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js +46 -0
  80. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js.map +1 -0
  81. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.d.ts +13 -0
  82. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js +49 -0
  83. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js.map +1 -0
  84. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +50 -28
  85. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  86. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +10 -1
  87. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  88. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -0
  89. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  90. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +2 -0
  91. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +13 -2
  92. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  93. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +6 -0
  94. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +8 -2
  95. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  96. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +2 -1
  97. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  98. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +3 -3
  99. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +9 -3
  100. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  101. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +13 -0
  102. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  103. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +3 -3
  104. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +11 -2
  105. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  106. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +4 -4
  107. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  108. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.d.ts +2 -5
  109. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +26 -12
  110. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  111. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +3 -1
  112. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -0
  113. package/package.json +11 -11
@@ -50,6 +50,8 @@ import { IButtonStyles } from '@fluentui/react';
50
50
  import { IContextualMenuItem } from '@fluentui/react';
51
51
  import { IContextualMenuItemStyles } from '@fluentui/react';
52
52
  import { IContextualMenuStyles } from '@fluentui/react';
53
+ import { IDropdownOption } from '@fluentui/react';
54
+ import { IDropdownStyles } from '@fluentui/react';
53
55
  import { IMessageBarProps } from '@fluentui/react';
54
56
  import { IncomingCall } from '@azure/communication-calling';
55
57
  import { IPersonaStyleProps } from '@fluentui/react';
@@ -184,13 +186,6 @@ export declare interface AdapterState<TState> {
184
186
  getState(): TState;
185
187
  }
186
188
 
187
- /**
188
- * handler type for addParticipant
189
- *
190
- * @beta
191
- */
192
- export declare type AddParticipantHandler = ((participant: CommunicationUserIdentifier) => Promise<void>) & ((participant: PhoneNumberIdentifier, options: AddPhoneNumberOptions) => Promise<void>);
193
-
194
189
  /**
195
190
  * Compare if 2 react components are exact equal, result type will be true/false
196
191
  *
@@ -375,7 +370,6 @@ export declare interface CallAdapter extends AdapterState<CallAdapterState>, Dis
375
370
  */
376
371
  export declare type CallAdapterCallEndedEvent = {
377
372
  callId?: string;
378
- callEndReason?: CallEndReason;
379
373
  };
380
374
 
381
375
  /**
@@ -436,6 +430,12 @@ export declare interface CallAdapterCallManagement {
436
430
  * @public
437
431
  */
438
432
  startCall(participants: string[], options?: StartCallOptions): Call | undefined;
433
+ /**
434
+ * Start the call.
435
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
436
+ * @beta
437
+ */
438
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;
439
439
  /**
440
440
  * Start sharing the screen during a call.
441
441
  *
@@ -456,6 +456,12 @@ export declare interface CallAdapterCallManagement {
456
456
  * @public
457
457
  */
458
458
  removeParticipant(userId: string): Promise<void>;
459
+ /**
460
+ * Remove a participant from the call.
461
+ * @param participant - {@link @azure/communication-common#CommunicationIdentifier} of the participant to be removed
462
+ * @beta
463
+ */
464
+ removeParticipant(participant: CommunicationIdentifier): Promise<void>;
459
465
  /**
460
466
  * Create the html view for a stream.
461
467
  *
@@ -969,6 +975,11 @@ export declare type CallCompositeOptions = {
969
975
  * @defaultValue true
970
976
  */
971
977
  callControls?: boolean | CallControlOptions;
978
+ /**
979
+ * Device permission restrictions for your call.
980
+ * Require device permissions to be set or have them as optional or not required to start a call
981
+ */
982
+ devicePermissions?: DevicePermissionRestrictions;
972
983
  /**
973
984
  * Callback you may provide to supply users with further steps to troubleshoot why they have been
974
985
  * unable to grant your site the required permissions for the call.
@@ -1325,6 +1336,14 @@ export declare interface CallCompositeStrings {
1325
1336
  * More details text of the page shown to the user when the user attempts to join a room to which they are not invited.
1326
1337
  */
1327
1338
  deniedPermissionToRoomDetails?: string;
1339
+ /**
1340
+ * Control bar People button ToolTipContent
1341
+ */
1342
+ peopleButtonTooltipOpen: string;
1343
+ /**
1344
+ * Control bar People button ToolTipContent
1345
+ */
1346
+ peopleButtonTooltipClose: string;
1328
1347
  }
1329
1348
 
1330
1349
  /**
@@ -1465,7 +1484,7 @@ export declare type CallErrors = {
1465
1484
  *
1466
1485
  * @public
1467
1486
  */
1468
- export declare type CallErrorTarget = 'Call.addParticipant' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.muteIncomingAudio' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.startAudio' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.stopAudio' | 'Call.stopVideo' | 'Call.unmute' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.unmuteIncomingAudio' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.getEnvironmentInfo' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject';
1487
+ export declare type CallErrorTarget = 'Call.addParticipant' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.dispose' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.muteIncomingAudio' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.startAudio' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.stopAudio' | 'Call.stopVideo' | 'Call.unmute' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.unmuteIncomingAudio' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.createTeamsCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.getEnvironmentInfo' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject';
1469
1488
 
1470
1489
  /**
1471
1490
  * Callback for {@link CallAdapterSubscribers} 'callIdChanged' event.
@@ -1506,10 +1525,12 @@ export declare type CallingHandlers = {
1506
1525
  onToggleScreenShare: () => Promise<void>;
1507
1526
  onHangUp: () => Promise<void>;
1508
1527
  onToggleHold: () => Promise<void>;
1509
- onAddParticipant: AddParticipantHandler;
1528
+ onAddParticipant(participant: CommunicationUserIdentifier): Promise<void>;
1529
+ onAddParticipant(participant: PhoneNumberIdentifier, options: AddPhoneNumberOptions): Promise<void>;
1510
1530
  onCreateLocalStreamView: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
1511
1531
  onCreateRemoteStreamView: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
1512
- onRemoveParticipant: (userId: string) => Promise<void>;
1532
+ onRemoveParticipant(userId: string): Promise<void>;
1533
+ onRemoveParticipant(participant: CommunicationIdentifier): Promise<void>;
1513
1534
  onDisposeRemoteStreamView: (userId: string) => Promise<void>;
1514
1535
  onDisposeLocalStreamView: () => Promise<void>;
1515
1536
  onSendDtmfTone: (dtmfTone: DtmfTone_2) => Promise<void>;
@@ -1704,6 +1725,12 @@ export declare interface CallWithChatAdapterManagement {
1704
1725
  * @public
1705
1726
  */
1706
1727
  removeParticipant(userId: string): Promise<void>;
1728
+ /**
1729
+ * Remove a participant from the call.
1730
+ * @param participant - {@link @azure/communication-common#CommunicationIdentifier} of the participant to be removed
1731
+ * @beta
1732
+ */
1733
+ removeParticipant(participant: CommunicationIdentifier): Promise<void>;
1707
1734
  /**
1708
1735
  * Join the call with microphone initially on/off.
1709
1736
  *
@@ -1758,6 +1785,12 @@ export declare interface CallWithChatAdapterManagement {
1758
1785
  * @public
1759
1786
  */
1760
1787
  startCall(participants: string[], options?: StartCallOptions): Call | undefined;
1788
+ /**
1789
+ * Start the call.
1790
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
1791
+ * @beta
1792
+ */
1793
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;
1761
1794
  /**
1762
1795
  * Start sharing the screen during a call.
1763
1796
  *
@@ -2154,6 +2187,11 @@ export declare type CallWithChatCompositeOptions = {
2154
2187
  * @beta
2155
2188
  */
2156
2189
  fileSharing?: FileSharingOptions;
2190
+ /**
2191
+ * Device permission restrictions for your call.
2192
+ * Require device permissions to be set or have them as optional or not required to start a call
2193
+ */
2194
+ devicePermissions?: DevicePermissionRestrictions;
2157
2195
  /**
2158
2196
  * Callback you may provide to supply users with further steps to troubleshoot why they have been
2159
2197
  * unable to grant your site the required permissions for the call.
@@ -4034,7 +4072,9 @@ export declare const DEFAULT_COMPONENT_ICONS: {
4034
4072
  SendBoxSendHovered: JSX.Element;
4035
4073
  VideoTileMicOff: JSX.Element;
4036
4074
  BackSpace: JSX.Element;
4037
- iconBackdrop: JSX.Element;
4075
+ DomainPermissionsSparkle: JSX.Element;
4076
+ DomainPermissionCamera: JSX.Element;
4077
+ DomainPermissionMic: JSX.Element;
4038
4078
  UnsupportedBrowserWarning: JSX.Element;
4039
4079
  };
4040
4080
 
@@ -4124,7 +4164,9 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
4124
4164
  HoldCallButton: JSX.Element;
4125
4165
  ResumeCall: JSX.Element;
4126
4166
  BackSpace: JSX.Element;
4127
- iconBackdrop: JSX.Element;
4167
+ DomainPermissionsSparkle: JSX.Element;
4168
+ DomainPermissionCamera: JSX.Element;
4169
+ DomainPermissionMic: JSX.Element;
4128
4170
  UnsupportedBrowserWarning: JSX.Element;
4129
4171
  };
4130
4172
 
@@ -4183,6 +4225,82 @@ export declare type DeviceManagerState = {
4183
4225
  unparentedViews: LocalVideoStreamState[];
4184
4226
  };
4185
4227
 
4228
+ /**
4229
+ * A dropdown to trigger device permission prompt
4230
+ *
4231
+ * @internal
4232
+ */
4233
+ export declare const _DevicePermissionDropdown: (props: _DevicePermissionDropdownProps) => JSX.Element;
4234
+
4235
+ /**
4236
+ * Props for {@link _DevicePermissionDropdown}.
4237
+ *
4238
+ * @internal
4239
+ */
4240
+ export declare interface _DevicePermissionDropdownProps {
4241
+ /**
4242
+ * icon shown in dropdown placeholder
4243
+ */
4244
+ icon?: JSX.Element;
4245
+ /**
4246
+ * Dropdown content
4247
+ */
4248
+ options?: IDropdownOption[];
4249
+ /**
4250
+ * Function that gets triggered when action button is clicked
4251
+ */
4252
+ onClickActionButton?: () => Promise<void>;
4253
+ /**
4254
+ * Strings for devicepermissiondropdown
4255
+ */
4256
+ strings?: _DevicePermissionDropdownStrings;
4257
+ /**
4258
+ * Styles for devicepermissiondropdown
4259
+ */
4260
+ styles?: Partial<IDropdownStyles>;
4261
+ }
4262
+
4263
+ /**
4264
+ * Strings of {@link DevicePermissionDropdown} that can be overridden.
4265
+ *
4266
+ * @internal
4267
+ */
4268
+ export declare interface _DevicePermissionDropdownStrings {
4269
+ /**
4270
+ * dropdown label
4271
+ */
4272
+ label?: string;
4273
+ /**
4274
+ * dropdown placeholder
4275
+ */
4276
+ placeHolderText: string;
4277
+ /** string for action button */
4278
+ actionButtonContent?: string;
4279
+ }
4280
+
4281
+ /**
4282
+ * Device Permission restrictions.
4283
+ * Be able to start a call depending on camera and microphone permission options.
4284
+ *
4285
+ * @beta
4286
+ */
4287
+ export declare interface DevicePermissionRestrictions {
4288
+ /**
4289
+ * Camera Permission prompts for your call.
4290
+ * 'required' - requires the permission to be allowed before permitting the user join the call.
4291
+ * 'optional' - permission can be disallowed and the user is still permitted to join the call.
4292
+ * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
4293
+ */
4294
+ camera: 'required' | 'optional' | 'doNotPrompt';
4295
+ /**
4296
+ * Microphone permission prompts for your call.
4297
+ * 'required' - requires the permission to be allowed before permitting the user join the call.
4298
+ * 'optional' - permission can be disallowed and the user is still permitted to join the call.
4299
+ * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
4300
+ */
4301
+ microphone: 'required' | 'optional' | 'doNotPrompt';
4302
+ }
4303
+
4186
4304
  /**
4187
4305
  * A button to open a menu that controls device options.
4188
4306
  *