@microsoft/teams-js 2.31.0-beta.1 → 2.31.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. package/README.md +4 -4
  2. package/dist/esm/packages/teams-js/dts/internal/appHelpers.d.ts +11 -1
  3. package/dist/esm/packages/teams-js/dts/internal/appIdValidation.d.ts +10 -0
  4. package/dist/esm/packages/teams-js/dts/internal/handlers.d.ts +11 -1
  5. package/dist/esm/packages/teams-js/dts/internal/hostToAppTelemetry.d.ts +51 -0
  6. package/dist/esm/packages/teams-js/dts/internal/interfaces.d.ts +11 -0
  7. package/dist/esm/packages/teams-js/dts/internal/messageObjects.d.ts +5 -0
  8. package/dist/esm/packages/teams-js/dts/internal/pagesHelpers.d.ts +24 -0
  9. package/dist/esm/packages/teams-js/dts/internal/profileUtil.d.ts +23 -1
  10. package/dist/esm/packages/teams-js/dts/internal/uint8array-extras/uint8array-extras.d.ts +6 -0
  11. package/dist/esm/packages/teams-js/dts/internal/utils.d.ts +20 -1
  12. package/dist/esm/packages/teams-js/dts/internal/videoEffectsUtils.d.ts +2 -2
  13. package/dist/esm/packages/teams-js/dts/internal/visualMediaHelpers.d.ts +14 -0
  14. package/dist/esm/packages/teams-js/dts/internal/webStorageHelpers.d.ts +4 -0
  15. package/dist/esm/packages/teams-js/dts/private/appEntity.d.ts +61 -61
  16. package/dist/esm/packages/teams-js/dts/private/conversations.d.ts +48 -48
  17. package/dist/esm/packages/teams-js/dts/private/copilot/copilot.d.ts +2 -0
  18. package/dist/esm/packages/teams-js/dts/private/copilot/eligibility.d.ts +29 -0
  19. package/dist/esm/packages/teams-js/dts/private/externalAppAuthentication.d.ts +355 -349
  20. package/dist/esm/packages/teams-js/dts/private/externalAppAuthenticationForCEA.d.ts +70 -68
  21. package/dist/esm/packages/teams-js/dts/private/externalAppCardActions.d.ts +104 -105
  22. package/dist/esm/packages/teams-js/dts/private/externalAppCardActionsForCEA.d.ts +41 -42
  23. package/dist/esm/packages/teams-js/dts/private/externalAppCommands.d.ts +113 -114
  24. package/dist/esm/packages/teams-js/dts/private/files.d.ts +590 -582
  25. package/dist/esm/packages/teams-js/dts/private/hostEntity/hostEntity.d.ts +42 -0
  26. package/dist/esm/packages/teams-js/dts/private/hostEntity/tab.d.ts +134 -0
  27. package/dist/esm/packages/teams-js/dts/private/index.d.ts +19 -18
  28. package/dist/esm/packages/teams-js/dts/private/logs.d.ts +31 -25
  29. package/dist/esm/packages/teams-js/dts/private/meetingRoom.d.ts +147 -142
  30. package/dist/esm/packages/teams-js/dts/private/messageChannels/dataLayer.d.ts +39 -0
  31. package/dist/esm/packages/teams-js/dts/private/messageChannels/messageChannels.d.ts +28 -0
  32. package/dist/esm/packages/teams-js/dts/private/messageChannels/telemetry.d.ts +39 -0
  33. package/dist/esm/packages/teams-js/dts/private/notifications.d.ts +31 -25
  34. package/dist/esm/packages/teams-js/dts/private/otherAppStateChange.d.ts +69 -70
  35. package/dist/esm/packages/teams-js/dts/private/remoteCamera.d.ts +219 -214
  36. package/dist/esm/packages/teams-js/dts/private/teams/fullTrust/fullTrust.d.ts +31 -0
  37. package/dist/esm/packages/teams-js/dts/private/teams/fullTrust/joinedTeams.d.ts +30 -0
  38. package/dist/esm/packages/teams-js/dts/private/teams/teams.d.ts +63 -0
  39. package/dist/esm/packages/teams-js/dts/private/videoEffectsEx.d.ts +192 -186
  40. package/dist/esm/packages/teams-js/dts/public/app/app.d.ts +21 -2
  41. package/dist/esm/packages/teams-js/dts/public/app/lifecycle.d.ts +3 -2
  42. package/dist/esm/packages/teams-js/dts/public/appInitialization.d.ts +1 -1
  43. package/dist/esm/packages/teams-js/dts/public/authentication.d.ts +6 -0
  44. package/dist/esm/packages/teams-js/dts/public/barCode.d.ts +2 -1
  45. package/dist/esm/packages/teams-js/dts/public/calendar.d.ts +1 -0
  46. package/dist/esm/packages/teams-js/dts/public/call.d.ts +1 -0
  47. package/dist/esm/packages/teams-js/dts/public/chat.d.ts +4 -0
  48. package/dist/esm/packages/teams-js/dts/public/clipboard.d.ts +1 -0
  49. package/dist/esm/packages/teams-js/dts/public/dialog/adaptiveCard/adaptiveCard.d.ts +0 -4
  50. package/dist/esm/packages/teams-js/dts/public/dialog/adaptiveCard/bot.d.ts +3 -2
  51. package/dist/esm/packages/teams-js/dts/public/dialog/dialog.d.ts +0 -13
  52. package/dist/esm/packages/teams-js/dts/public/dialog/update.d.ts +2 -1
  53. package/dist/esm/packages/teams-js/dts/public/dialog/url/bot.d.ts +3 -2
  54. package/dist/esm/packages/teams-js/dts/public/dialog/url/parentCommunication.d.ts +2 -1
  55. package/dist/esm/packages/teams-js/dts/public/geoLocation/geoLocation.d.ts +3 -2
  56. package/dist/esm/packages/teams-js/dts/public/geoLocation/map.d.ts +6 -0
  57. package/dist/esm/packages/teams-js/dts/public/index.d.ts +9 -9
  58. package/dist/esm/packages/teams-js/dts/public/interfaces.d.ts +11 -0
  59. package/dist/esm/packages/teams-js/dts/public/liveShareHost.d.ts +1 -0
  60. package/dist/esm/packages/teams-js/dts/public/location.d.ts +4 -3
  61. package/dist/esm/packages/teams-js/dts/public/mail.d.ts +1 -0
  62. package/dist/esm/packages/teams-js/dts/public/marketplace.d.ts +1 -0
  63. package/dist/esm/packages/teams-js/dts/public/media.d.ts +0 -3
  64. package/dist/esm/packages/teams-js/dts/public/meeting/appShareButton.d.ts +51 -0
  65. package/dist/esm/packages/teams-js/dts/public/meeting/meeting.d.ts +854 -0
  66. package/dist/esm/packages/teams-js/dts/public/menus.d.ts +1 -0
  67. package/dist/esm/packages/teams-js/dts/public/monetization.d.ts +8 -0
  68. package/dist/esm/packages/teams-js/dts/public/navigation.d.ts +2 -1
  69. package/dist/esm/packages/teams-js/dts/public/nestedAppAuth.d.ts +1 -0
  70. package/dist/esm/packages/teams-js/dts/public/pages/appButton.d.ts +30 -0
  71. package/dist/esm/packages/teams-js/dts/public/pages/backStack.d.ts +44 -0
  72. package/dist/esm/packages/teams-js/dts/public/pages/config.d.ts +123 -0
  73. package/dist/esm/packages/teams-js/dts/public/pages/currentApp.d.ts +46 -0
  74. package/dist/esm/packages/teams-js/dts/public/pages/fullTrust.d.ts +33 -0
  75. package/dist/esm/packages/teams-js/dts/public/pages/pages.d.ts +253 -0
  76. package/dist/esm/packages/teams-js/dts/public/pages/tabs.d.ts +32 -0
  77. package/dist/esm/packages/teams-js/dts/public/profile.d.ts +81 -103
  78. package/dist/esm/packages/teams-js/dts/public/runtime.d.ts +3 -0
  79. package/dist/esm/packages/teams-js/dts/public/search.d.ts +9 -0
  80. package/dist/esm/packages/teams-js/dts/public/secondaryBrowser.d.ts +1 -0
  81. package/dist/esm/packages/teams-js/dts/public/settings.d.ts +4 -3
  82. package/dist/esm/packages/teams-js/dts/public/sharing/history.d.ts +47 -0
  83. package/dist/esm/packages/teams-js/dts/public/sharing/sharing.d.ts +76 -0
  84. package/dist/esm/packages/teams-js/dts/public/stageView/self.d.ts +23 -0
  85. package/dist/esm/packages/teams-js/dts/public/stageView/stageView.d.ts +81 -0
  86. package/dist/esm/packages/teams-js/dts/public/tasks.d.ts +0 -8
  87. package/dist/esm/packages/teams-js/dts/public/teamsAPIs.d.ts +4 -0
  88. package/dist/esm/packages/teams-js/dts/public/thirdPartyCloudStorage.d.ts +2 -1
  89. package/dist/esm/packages/teams-js/dts/public/videoEffects.d.ts +209 -210
  90. package/dist/esm/packages/teams-js/dts/public/visualMedia/image.d.ts +64 -0
  91. package/dist/esm/packages/teams-js/dts/public/visualMedia/visualMedia.d.ts +116 -0
  92. package/dist/esm/packages/teams-js/dts/public/webStorage.d.ts +20 -22
  93. package/dist/esm/packages/teams-js/src/index.js +1 -1
  94. package/dist/esm/packages/teams-js/src/internal/appHelpers.js +1 -1
  95. package/dist/esm/packages/teams-js/src/internal/appIdValidation.js +1 -1
  96. package/dist/esm/packages/teams-js/src/internal/communication.js +1 -1
  97. package/dist/esm/packages/teams-js/src/internal/handlers.js +1 -1
  98. package/dist/esm/packages/teams-js/src/internal/hostToAppTelemetry.js +1 -0
  99. package/dist/esm/packages/teams-js/src/internal/marketplaceUtils.js +1 -1
  100. package/dist/esm/packages/teams-js/src/internal/messageObjects.js +1 -1
  101. package/dist/esm/packages/teams-js/src/internal/pagesHelpers.js +1 -0
  102. package/dist/esm/packages/teams-js/src/internal/uint8array-extras/uint8array-extras.js +1 -0
  103. package/dist/esm/packages/teams-js/src/internal/utils.js +1 -1
  104. package/dist/esm/packages/teams-js/src/internal/validOrigins.js +1 -1
  105. package/dist/esm/packages/teams-js/src/internal/videoEffectsUtils.js +1 -1
  106. package/dist/esm/packages/teams-js/src/internal/visualMediaHelpers.js +1 -0
  107. package/dist/esm/packages/teams-js/src/internal/webStorageHelpers.js +1 -0
  108. package/dist/esm/packages/teams-js/src/private/appEntity.js +1 -1
  109. package/dist/esm/packages/teams-js/src/private/conversations.js +1 -1
  110. package/dist/esm/packages/teams-js/src/private/copilot/copilot.js +1 -0
  111. package/dist/esm/packages/teams-js/src/private/copilot/eligibility.js +1 -0
  112. package/dist/esm/packages/teams-js/src/private/externalAppAuthentication.js +1 -1
  113. package/dist/esm/packages/teams-js/src/private/externalAppAuthenticationForCEA.js +1 -1
  114. package/dist/esm/packages/teams-js/src/private/externalAppCardActions.js +1 -1
  115. package/dist/esm/packages/teams-js/src/private/externalAppCardActionsForCEA.js +1 -1
  116. package/dist/esm/packages/teams-js/src/private/externalAppCommands.js +1 -1
  117. package/dist/esm/packages/teams-js/src/private/files.js +1 -1
  118. package/dist/esm/packages/teams-js/src/private/hostEntity/hostEntity.js +1 -0
  119. package/dist/esm/packages/teams-js/src/private/hostEntity/tab.js +1 -0
  120. package/dist/esm/packages/teams-js/src/private/logs.js +1 -1
  121. package/dist/esm/packages/teams-js/src/private/meetingRoom.js +1 -1
  122. package/dist/esm/packages/teams-js/src/private/messageChannels/dataLayer.js +1 -0
  123. package/dist/esm/packages/teams-js/src/private/messageChannels/messageChannels.js +1 -0
  124. package/dist/esm/packages/teams-js/src/private/messageChannels/telemetry.js +1 -0
  125. package/dist/esm/packages/teams-js/src/private/notifications.js +1 -1
  126. package/dist/esm/packages/teams-js/src/private/otherAppStateChange.js +1 -1
  127. package/dist/esm/packages/teams-js/src/private/remoteCamera.js +1 -1
  128. package/dist/esm/packages/teams-js/src/private/teams/fullTrust/fullTrust.js +1 -0
  129. package/dist/esm/packages/teams-js/src/private/teams/fullTrust/joinedTeams.js +1 -0
  130. package/dist/esm/packages/teams-js/src/private/teams/teams.js +1 -0
  131. package/dist/esm/packages/teams-js/src/private/videoEffectsEx.js +1 -1
  132. package/dist/esm/packages/teams-js/src/public/app/app.js +1 -1
  133. package/dist/esm/packages/teams-js/src/public/appInitialization.js +1 -1
  134. package/dist/esm/packages/teams-js/src/public/clipboard.js +1 -1
  135. package/dist/esm/packages/teams-js/src/public/meeting/appShareButton.js +1 -0
  136. package/dist/esm/packages/teams-js/src/public/meeting/meeting.js +1 -0
  137. package/dist/esm/packages/teams-js/src/public/navigation.js +1 -1
  138. package/dist/esm/packages/teams-js/src/public/pages/appButton.js +1 -0
  139. package/dist/esm/packages/teams-js/src/public/pages/backStack.js +1 -0
  140. package/dist/esm/packages/teams-js/src/public/pages/config.js +1 -0
  141. package/dist/esm/packages/teams-js/src/public/pages/currentApp.js +1 -0
  142. package/dist/esm/packages/teams-js/src/public/pages/fullTrust.js +1 -0
  143. package/dist/esm/packages/teams-js/src/public/pages/pages.js +1 -0
  144. package/dist/esm/packages/teams-js/src/public/pages/tabs.js +1 -0
  145. package/dist/esm/packages/teams-js/src/public/profile.js +1 -1
  146. package/dist/esm/packages/teams-js/src/public/publicAPIs.js +1 -1
  147. package/dist/esm/packages/teams-js/src/public/runtime.js +1 -1
  148. package/dist/esm/packages/teams-js/src/public/settings.js +1 -1
  149. package/dist/esm/packages/teams-js/src/public/sharing/history.js +1 -0
  150. package/dist/esm/packages/teams-js/src/public/sharing/sharing.js +1 -0
  151. package/dist/esm/packages/teams-js/src/public/stageView/self.js +1 -0
  152. package/dist/esm/packages/teams-js/src/public/stageView/stageView.js +1 -0
  153. package/dist/esm/packages/teams-js/src/public/tasks.js +1 -1
  154. package/dist/esm/packages/teams-js/src/public/version.js +1 -1
  155. package/dist/esm/packages/teams-js/src/public/videoEffects.js +1 -1
  156. package/dist/esm/packages/teams-js/src/public/visualMedia/image.js +1 -0
  157. package/dist/esm/packages/teams-js/src/public/visualMedia/visualMedia.js +1 -0
  158. package/dist/esm/packages/teams-js/src/public/webStorage.js +1 -1
  159. package/dist/umd/MicrosoftTeams.d.ts +5755 -5161
  160. package/dist/umd/MicrosoftTeams.js +6258 -6439
  161. package/dist/umd/MicrosoftTeams.js.map +1 -1
  162. package/dist/umd/MicrosoftTeams.min.js +1 -1
  163. package/dist/umd/MicrosoftTeams.min.js.map +1 -1
  164. package/package.json +50 -1
  165. package/dist/esm/packages/teams-js/dts/private/copilot.d.ts +0 -39
  166. package/dist/esm/packages/teams-js/dts/private/hostEntity.d.ts +0 -176
  167. package/dist/esm/packages/teams-js/dts/private/messageChannels.d.ts +0 -107
  168. package/dist/esm/packages/teams-js/dts/private/teams.d.ts +0 -116
  169. package/dist/esm/packages/teams-js/dts/public/meeting.d.ts +0 -906
  170. package/dist/esm/packages/teams-js/dts/public/pages.d.ts +0 -574
  171. package/dist/esm/packages/teams-js/dts/public/sharing.d.ts +0 -124
  172. package/dist/esm/packages/teams-js/dts/public/stageView.d.ts +0 -104
  173. package/dist/esm/packages/teams-js/dts/public/visualMedia.d.ts +0 -192
  174. package/dist/esm/packages/teams-js/src/private/copilot.js +0 -1
  175. package/dist/esm/packages/teams-js/src/private/hostEntity.js +0 -1
  176. package/dist/esm/packages/teams-js/src/private/messageChannels.js +0 -1
  177. package/dist/esm/packages/teams-js/src/private/teams.js +0 -1
  178. package/dist/esm/packages/teams-js/src/public/meeting.js +0 -1
  179. package/dist/esm/packages/teams-js/src/public/pages.js +0 -1
  180. package/dist/esm/packages/teams-js/src/public/sharing.js +0 -1
  181. package/dist/esm/packages/teams-js/src/public/stageView.js +0 -1
  182. package/dist/esm/packages/teams-js/src/public/visualMedia.js +0 -1
  183. /package/dist/esm/node_modules/.pnpm/{@rollup_plugin-typescript@11.1.6_rollup@4.24.0_tslib@2.6.3_typescript@4.9.5 → @rollup_plugin-typescript@11.1.6_rollup@4.24.4_tslib@2.6.3_typescript@4.9.5}/node_modules/tslib/tslib.es6.js +0 -0
@@ -0,0 +1,854 @@
1
+ /**
2
+ * Interact with meetings, including retrieving meeting details, getting mic status, and sharing app content.
3
+ * This module is used to handle meeting related functionality like
4
+ * get meeting details, get/update state of mic, sharing app content and more.
5
+ *
6
+ * To learn more, visit https://aka.ms/teamsmeetingapps
7
+ * @module
8
+ */
9
+ import { EmailAddress } from '../emailAddress';
10
+ import { SdkError } from '../interfaces';
11
+ import * as appShareButton from './appShareButton';
12
+ /** Error callback function type */
13
+ export type errorCallbackFunctionType = (error: SdkError | null, result: boolean | null) => void;
14
+ /** Get live stream state callback function type */
15
+ export type getLiveStreamStateCallbackFunctionType = (error: SdkError | null, liveStreamState: LiveStreamState | null) => void;
16
+ /** Live stream error callback function type */
17
+ export type liveStreamErrorCallbackFunctionType = (error: SdkError | null) => void;
18
+ /** Register live stream changed handler function type */
19
+ export type registerLiveStreamChangedHandlerFunctionType = (liveStreamState: LiveStreamState) => void;
20
+ /** Get app content stage sharing capabilities callback function type */
21
+ export type getAppContentCallbackFunctionType = (error: SdkError | null, appContentStageSharingCapabilities: IAppContentStageSharingCapabilities | null) => void;
22
+ /** Get app content stage sharing state callback function type */
23
+ export type getAppContentStageCallbackFunctionType = (error: SdkError | null, appContentStageSharingState: IAppContentStageSharingState | null) => void;
24
+ /** Register speaking state change handler function type */
25
+ export type registerSpeakingStateChangeHandlerFunctionType = (speakingState: ISpeakingState) => void;
26
+ /**
27
+ * @hidden
28
+ * Data structure to represent meeting details
29
+ *
30
+ * @internal
31
+ * Limited to Microsoft-internal use
32
+ */
33
+ export interface IMeetingDetailsResponse {
34
+ /**
35
+ * @hidden
36
+ * details object
37
+ */
38
+ details: IMeetingDetails | ICallDetails;
39
+ /**
40
+ * @hidden
41
+ * conversation object
42
+ */
43
+ conversation: IConversation;
44
+ /**
45
+ * @hidden
46
+ * organizer object
47
+ */
48
+ organizer: IOrganizer;
49
+ }
50
+ /**
51
+ * @hidden
52
+ * Hide from docs
53
+ * Base data structure to represent a meeting or call detail
54
+ */
55
+ export interface IMeetingOrCallDetailsBase<T> {
56
+ /**
57
+ * @hidden
58
+ * Scheduled start time of the meeting or start time of the call
59
+ */
60
+ scheduledStartTime: string;
61
+ /**
62
+ * @hidden
63
+ * url to join the current meeting or call
64
+ */
65
+ joinUrl?: string;
66
+ /**
67
+ * @hidden
68
+ * type of the meeting or call
69
+ */
70
+ type?: T;
71
+ }
72
+ /**
73
+ * @hidden
74
+ * Hide from docs
75
+ * Data structure to represent call participant identifiers
76
+ */
77
+ interface ICallParticipantIdentifiers {
78
+ /**
79
+ * Phone number of a caller
80
+ */
81
+ phoneNumber?: string;
82
+ /**
83
+ * Email of a caller
84
+ */
85
+ email?: EmailAddress;
86
+ }
87
+ /**
88
+ * @hidden
89
+ * Hide from docs
90
+ * Data structure to represent call details
91
+ */
92
+ export interface ICallDetails extends IMeetingOrCallDetailsBase<CallType> {
93
+ /**
94
+ * @deprecated please use {@link ICallDetails.originalCallerInfo} instead
95
+ *
96
+ * @hidden
97
+ * Phone number of a PSTN caller or email of a VoIP caller
98
+ */
99
+ originalCaller?: string;
100
+ /**
101
+ * @hidden
102
+ * Object representing the original caller
103
+ */
104
+ originalCallerInfo?: ICallParticipantIdentifiers;
105
+ /**
106
+ * @hidden
107
+ * Identifier for the current call
108
+ */
109
+ callId?: string;
110
+ /**
111
+ * @deprecated please use {@link ICallDetails.dialedEntityInfo} instead
112
+ *
113
+ * @hidden
114
+ * Phone number of a PSTN callee or email of a VoIP callee
115
+ */
116
+ dialedEntity?: never;
117
+ /**
118
+ * @hidden
119
+ * Object representing the entity the caller dialed
120
+ */
121
+ dialedEntityInfo?: never;
122
+ /**
123
+ * @hidden
124
+ * Tracking identifier for grouping related calls
125
+ */
126
+ trackingId?: never;
127
+ }
128
+ /**
129
+ * @hidden
130
+ * Hide from docs
131
+ * Data structure to represent meeting details.
132
+ */
133
+ export interface IMeetingDetails extends IMeetingOrCallDetailsBase<MeetingType> {
134
+ /**
135
+ * @hidden
136
+ * Scheduled end time of the meeting
137
+ */
138
+ scheduledEndTime: string;
139
+ /**
140
+ * @hidden
141
+ * event id of the meeting
142
+ */
143
+ id?: string;
144
+ /**
145
+ * @hidden
146
+ * meeting title name of the meeting
147
+ */
148
+ title?: string;
149
+ }
150
+ /**
151
+ * @hidden
152
+ * Data structure to represent a conversation object.
153
+ *
154
+ * @internal
155
+ * Limited to Microsoft-internal use
156
+ */
157
+ export interface IConversation {
158
+ /**
159
+ * @hidden
160
+ * conversation id of the meeting
161
+ */
162
+ id: string;
163
+ }
164
+ /**
165
+ * @hidden
166
+ * Data structure to represent an organizer object.
167
+ *
168
+ * @internal
169
+ * Limited to Microsoft-internal use
170
+ */
171
+ export interface IOrganizer {
172
+ /**
173
+ * @hidden
174
+ * organizer id of the meeting
175
+ */
176
+ id?: string;
177
+ /**
178
+ * @hidden
179
+ * tenant id of the meeting
180
+ */
181
+ tenantId?: string;
182
+ }
183
+ /**
184
+ * Represents the current Real-Time Messaging Protocol (RTMP) live streaming state of a meeting.
185
+ *
186
+ * @remarks
187
+ * RTMP is a popular communication protocol for streaming audio, video, and data over the Internet.
188
+ */
189
+ export interface LiveStreamState {
190
+ /**
191
+ * true when the current meeting is being streamed through RTMP, or false if it is not.
192
+ */
193
+ isStreaming: boolean;
194
+ /**
195
+ * error object in case there is a failure
196
+ */
197
+ error?: {
198
+ /** error code from the streaming service, e.g. IngestionFailure */
199
+ code: string;
200
+ /** detailed error message string */
201
+ message?: string;
202
+ };
203
+ }
204
+ /** Defines additional sharing options which can be provided to the {@link shareAppContentToStage} API. */
205
+ export interface IShareAppContentToStageOptions {
206
+ /**
207
+ * The protocol option for sharing app content to the meeting stage. Defaults to `Collaborative`.
208
+ * See {@link SharingProtocol} for more information.
209
+ */
210
+ sharingProtocol?: SharingProtocol;
211
+ }
212
+ /** Represents app permission to share contents to meeting. */
213
+ export interface IAppContentStageSharingCapabilities {
214
+ /**
215
+ * indicates whether app has permission to share contents to meeting stage.
216
+ * true when your `configurableTabs` or `staticTabs` entry's `context` array includes `meetingStage`.
217
+ */
218
+ doesAppHaveSharePermission: boolean;
219
+ }
220
+ /** Represents app being shared to stage. */
221
+ export interface IAppContentStageSharingState {
222
+ /**
223
+ * indicates whether app is currently being shared to stage
224
+ */
225
+ isAppSharing: boolean;
226
+ }
227
+ /**
228
+ * Property bag for the speakingState changed event
229
+ *
230
+ */
231
+ export interface ISpeakingState {
232
+ /**
233
+ * true when one or more participants in a meeting are speaking, or false if no participants are speaking
234
+ */
235
+ isSpeakingDetected: boolean;
236
+ /**
237
+ * error object in case there is a failure
238
+ */
239
+ error?: SdkError;
240
+ }
241
+ /**
242
+ * Property bag for the meeting reaction received event
243
+ *
244
+ * @hidden
245
+ * Hide from docs.
246
+ *
247
+ * @internal
248
+ * Limited to Microsoft-internal use
249
+ *
250
+ * @beta
251
+ */
252
+ export interface MeetingReactionReceivedEventData {
253
+ /**
254
+ * Indicates the type of meeting reaction received
255
+ *
256
+ * @hidden
257
+ * Hide from docs.
258
+ */
259
+ meetingReactionType?: MeetingReactionType;
260
+ /**
261
+ * error object in case there is a failure
262
+ *
263
+ * @hidden
264
+ * Hide from docs.
265
+ */
266
+ error?: SdkError;
267
+ }
268
+ /**
269
+ * Interface for raiseHandState properties
270
+ *
271
+ * @hidden
272
+ * Hide from docs.
273
+ *
274
+ * @internal
275
+ * Limited to Microsoft-internal use
276
+ *
277
+ * @beta
278
+ */
279
+ export interface IRaiseHandState {
280
+ /** Indicates whether the selfParticipant's hand is raised or not
281
+ *
282
+ * @hidden
283
+ * Hide from docs.
284
+ */
285
+ isHandRaised: boolean;
286
+ }
287
+ /**
288
+ * Property bag for the raiseHandState changed event
289
+ *
290
+ * @hidden
291
+ * Hide from docs.
292
+ *
293
+ * @internal
294
+ * Limited to Microsoft-internal use
295
+ *
296
+ * @beta
297
+ */
298
+ export interface RaiseHandStateChangedEventData {
299
+ /**
300
+ * entire raiseHandState object for the selfParticipant
301
+ *
302
+ * @hidden
303
+ * Hide from docs.
304
+ */
305
+ raiseHandState: IRaiseHandState;
306
+ /**
307
+ * error object in case there is a failure
308
+ *
309
+ * @hidden
310
+ * Hide from docs.
311
+ */
312
+ error?: SdkError;
313
+ }
314
+ /**
315
+ * Interface for mic state change
316
+ *
317
+ * @hidden
318
+ * Hide from docs.
319
+ *
320
+ * @internal
321
+ * Limited to Microsoft-internal use
322
+ *
323
+ * @beta
324
+ */
325
+ export interface MicState {
326
+ /**
327
+ * Indicates the mute status of the mic
328
+ */
329
+ isMicMuted: boolean;
330
+ }
331
+ /**
332
+ * Interface for RequestAppAudioHandling properties
333
+ *
334
+ * @hidden
335
+ * Hide from docs.
336
+ *
337
+ * @internal
338
+ * Limited to Microsoft-internal use
339
+ *
340
+ * @beta
341
+ */
342
+ export interface RequestAppAudioHandlingParams {
343
+ /**
344
+ * Indicates whether the app is requesting to start handling audio, or if
345
+ * it's giving audio back to the host
346
+ */
347
+ isAppHandlingAudio: boolean;
348
+ /**
349
+ * Callback for the host to tell the app to change its microphone state
350
+ * @param micState The microphone state for the app to use
351
+ * @returns A promise with the updated microphone state
352
+ */
353
+ micMuteStateChangedCallback: (micState: MicState) => Promise<MicState>;
354
+ /**
355
+ * Callback for the host to tell the app to change its speaker selection
356
+ */
357
+ audioDeviceSelectionChangedCallback?: (selectedDevices: AudioDeviceSelection | SdkError) => void;
358
+ }
359
+ /**
360
+ * Interface for AudioDeviceSelection from host selection.
361
+ * If the speaker or the microphone is undefined or don't have a device label, you can try to find the default devices
362
+ * by using
363
+ * ```ts
364
+ * const devices = await navigator.mediaDevices.enumerateDevices();
365
+ * const defaultSpeaker = devices.find((d) => d.deviceId === 'default' && d.kind === 'audiooutput');
366
+ * const defaultMic = devices.find((d) => d.deviceId === 'default' && d.kind === 'audioinput');
367
+ * ```
368
+ *
369
+ * @hidden
370
+ * Hide from docs.
371
+ *
372
+ * @internal
373
+ * Limited to Microsoft-internal use
374
+ *
375
+ * @beta
376
+ */
377
+ export interface AudioDeviceSelection {
378
+ speaker?: AudioDeviceInfo;
379
+ microphone?: AudioDeviceInfo;
380
+ }
381
+ /**
382
+ * Interface for AudioDeviceInfo, includes a device label with the same format as {@link MediaDeviceInfo.label}
383
+ *
384
+ * Hosted app can use this label to compare it with the device info fetched from {@link navigator.mediaDevices.enumerateDevices()}.
385
+ * {@link MediaDeviceInfo} has {@link MediaDeviceInfo.deviceId} as an unique identifier, but that id is also unique to the origin
386
+ * of the calling application, so {@link MediaDeviceInfo.deviceId} cannot be used here as an identifier. Notice there are some cases
387
+ * that devices may have the same device label, but we don't have a better way to solve this, keep this as a known limitation for now.
388
+ *
389
+ * @hidden
390
+ * Hide from docs.
391
+ *
392
+ * @internal
393
+ * Limited to Microsoft-internal use
394
+ *
395
+ * @beta
396
+ */
397
+ export interface AudioDeviceInfo {
398
+ deviceLabel: string;
399
+ }
400
+ /**
401
+ * Different types of meeting reactions that can be sent/received
402
+ *
403
+ * @hidden
404
+ * Hide from docs.
405
+ *
406
+ * @internal
407
+ * Limited to Microsoft-internal use
408
+ *
409
+ * @beta
410
+ */
411
+ export declare enum MeetingReactionType {
412
+ like = "like",
413
+ heart = "heart",
414
+ laugh = "laugh",
415
+ surprised = "surprised",
416
+ applause = "applause"
417
+ }
418
+ /**
419
+ * Represents the type of a meeting
420
+ *
421
+ * @hidden
422
+ * Hide from docs.
423
+ *
424
+ * @remarks
425
+ * Teams has several types of meetings to account for different user scenarios and requirements.
426
+ */
427
+ export declare enum MeetingType {
428
+ /**
429
+ * Used when the meeting type is not known.
430
+ *
431
+ * @remarks
432
+ * This response is not an expected case.
433
+ */
434
+ Unknown = "Unknown",
435
+ /**
436
+ * Used for group call meeting types.
437
+ *
438
+ * @remarks
439
+ * To test this meeting type in Teams, start a chat with two or more users and click the "Call" button.
440
+ * Note that a group call may return as this or {@link CallType.GroupCall}. These two different response types should be considered as equal.
441
+ */
442
+ Adhoc = "Adhoc",
443
+ /**
444
+ * Used for single-occurrence meetings that have been scheduled in advance.
445
+ *
446
+ * @remarks
447
+ * To create a meeting of this type in Teams, press the "New meeting" button from the calendar and enter a meeting title.
448
+ * Before saving, ensure that the "Online Meeting" field is checked.
449
+ */
450
+ Scheduled = "Scheduled",
451
+ /**
452
+ * Used for meetings that occur on a recurring basis.
453
+ *
454
+ * @remarks
455
+ * To create a meeting of this type in Teams, press the "New meeting" button from the calendar, enter a meeting title, and then change the field labeled "Does not repeat" to some other value.
456
+ * Before saving, ensure that the "Online Meeting" field is checked.
457
+ */
458
+ Recurring = "Recurring",
459
+ /**
460
+ * Used for webinars.
461
+ *
462
+ * @remarks
463
+ * Meeting apps are only supported for those in the "event group" of a webinar, which are those who'll be presenting and producing the webinar.
464
+ * To learn how to create a meeting of this type, visit https://aka.ms/teams/howto/webinars.
465
+ */
466
+ Broadcast = "Broadcast",
467
+ /**
468
+ * Used for meet now meetings, which are meetings users create on the fly.
469
+ *
470
+ * @remarks
471
+ * To create a meeting of this type, click the "Meet now" button from the calendar in Teams or the "Teams call" button in Outlook.
472
+ */
473
+ MeetNow = "MeetNow"
474
+ }
475
+ /**
476
+ * Represents the type of a call.
477
+ *
478
+ * @hidden
479
+ * Hide from docs.
480
+ */
481
+ export declare enum CallType {
482
+ /**
483
+ * Represents a call between two people.
484
+ *
485
+ * @remarks
486
+ * To test this feature, start a chat with one other user and click the "Call" button.
487
+ */
488
+ OneOnOneCall = "oneOnOneCall",
489
+ /**
490
+ * Represents a call between more than two people.
491
+ *
492
+ * @remarks
493
+ * To test this meeting type in Teams, start a chat with two or more users and click the "Call" button.
494
+ * Note that a group call may return as this or {@link MeetingType.Adhoc}. These two different response types should be considered as equal.
495
+ */
496
+ GroupCall = "groupCall"
497
+ }
498
+ /**
499
+ * Represents the protocol option for sharing app content to the meeting stage.
500
+ */
501
+ export declare enum SharingProtocol {
502
+ /**
503
+ * The default protocol for sharing app content to stage. To learn more, visit https://aka.ms/teamsjs/shareAppContentToStage
504
+ */
505
+ Collaborative = "Collaborative",
506
+ /**
507
+ * A read-only protocol for sharing app content to stage, which uses screen sharing in meetings. If provided, this protocol will open
508
+ * the specified `contentUrl` passed to the {@link shareAppContentToStage} API in a new instance and screen share that instance.
509
+ */
510
+ ScreenShare = "ScreenShare"
511
+ }
512
+ /**
513
+ * Allows an app to get the incoming audio speaker setting for the meeting user.
514
+ * To learn more, visit https://aka.ms/teamsjs/getIncomingClientAudioState
515
+ *
516
+ * @remarks
517
+ * Use {@link toggleIncomingClientAudio} to toggle the current audio state.
518
+ * For private scheduled meetings, meet now, or calls, include the `OnlineMeetingParticipant.ToggleIncomingAudio.Chat` RSC permission in your app manifest.
519
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
520
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
521
+ *
522
+ * @param callback - Callback contains 2 parameters, `error` and `result`.
523
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when fetch is successful.
524
+ * `result` will be true when incoming audio is muted and false when incoming audio is unmuted, or null when the request fails.
525
+ */
526
+ export declare function getIncomingClientAudioState(callback: errorCallbackFunctionType): void;
527
+ /**
528
+ * Allows an app to toggle the incoming audio speaker setting for the meeting user from mute to unmute or vice-versa.
529
+ * To learn more, visit https://aka.ms/teamsjs/toggleIncomingClientAudio
530
+ *
531
+ * @remarks
532
+ * Use {@link getIncomingClientAudioState} to get the current audio state.
533
+ * For private scheduled meetings, meet now, or calls, include the `OnlineMeetingParticipant.ToggleIncomingAudio.Chat` RSC permission in your app manifest.
534
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
535
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
536
+ *
537
+ * @param callback - Callback contains 2 parameters, `error` and `result`.
538
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when toggle is successful.
539
+ * `result` will be true when incoming audio is muted and false when incoming audio is unmuted, or null when the toggling fails.
540
+ */
541
+ export declare function toggleIncomingClientAudio(callback: errorCallbackFunctionType): void;
542
+ /**
543
+ * @throws error if your app manifest does not include the `OnlineMeeting.ReadBasic.Chat` RSC permission.
544
+ * Find the app manifest reference at https://learn.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema.
545
+ * Find the RSC reference at https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/rsc/resource-specific-consent.
546
+ *
547
+ * @hidden
548
+ * Allows an app to get the meeting details for the meeting
549
+ *
550
+ * @param callback - Callback contains 2 parameters, `error` and `meetingDetailsResponse`.
551
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when get is successful
552
+ * `result` can either contain a {@link IMeetingDetailsResponse} value, in case of a successful get or null when the get fails
553
+ *
554
+ * @internal
555
+ * Limited to Microsoft-internal use
556
+ */
557
+ export declare function getMeetingDetails(callback: (error: SdkError | null, meetingDetails: IMeetingDetailsResponse | null) => void): void;
558
+ /**
559
+ * @throws error if your app manifest does not include both the `OnlineMeeting.ReadBasic.Chat` RSC permission
560
+ * and the `OnlineMeetingParticipant.Read.Chat` RSC permission.
561
+ * Find the app manifest reference at https://learn.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema.
562
+ * Find the RSC reference at https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/rsc/resource-specific-consent.
563
+ *
564
+ * @throws `not supported on platform` error if your app is run on a host that does not support returning additional meeting details.
565
+ *
566
+ * @hidden
567
+ * Allows an app to get the additional meeting details for the meeting.
568
+ * Some additional details are returned on a best-effort basis. They may not be present for every meeting.
569
+ *
570
+ * @internal
571
+ * Limited to Microsoft-internal use
572
+ *
573
+ * @beta
574
+ */
575
+ export declare function getMeetingDetailsVerbose(): Promise<IMeetingDetailsResponse>;
576
+ /**
577
+ * @hidden
578
+ * Allows an app to get the authentication token for the anonymous or guest user in the meeting
579
+ *
580
+ * @param callback - Callback contains 2 parameters, `error` and `authenticationTokenOfAnonymousUser`.
581
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when get is successful
582
+ * `authenticationTokenOfAnonymousUser` can either contain a string value, in case of a successful get or null when the get fails
583
+ *
584
+ * @internal
585
+ * Limited to Microsoft-internal use
586
+ */
587
+ export declare function getAuthenticationTokenForAnonymousUser(callback: (error: SdkError | null, authenticationTokenOfAnonymousUser: string | null) => void): void;
588
+ /**
589
+ * Allows an app to get the state of the outgoing live stream in the current meeting.
590
+ *
591
+ * @remarks
592
+ * Use {@link requestStartLiveStreaming} or {@link requestStopLiveStreaming} to start/stop a live stream.
593
+ * This API can only be used in the `sidePanel` frame context.
594
+ * The `meetingExtensionDefinition.supportsStreaming` field in your app manifest must be `true` to use this API.
595
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/meetingExtensionDefinition.
596
+ *
597
+ * @param callback - Callback contains 2 parameters: `error` and `liveStreamState`.
598
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when the request is successful
599
+ * `liveStreamState` can either contain a `LiveStreamState` value, or null when operation fails
600
+ */
601
+ export declare function getLiveStreamState(callback: getLiveStreamStateCallbackFunctionType): void;
602
+ /**
603
+ * Allows an app to ask the local user to begin live streaming the current meeting to the given Real-Time Messaging Protocol (RTMP) stream url.
604
+ * A confirmation dialog will be shown to the local user with options to "Allow" or "Cancel" this request.
605
+ *
606
+ * @remarks
607
+ * Meeting content (e.g., user video, screenshare, audio, etc.) can be externally streamed to any platform that supports the popular RTMP standard.
608
+ * Content broadcasted through RTMP is automatically formatted and cannot be customized.
609
+ * Use {@link getLiveStreamState} or {@link registerLiveStreamChangedHandler} to get updates on the live stream state.
610
+ * This API can only be used in the `sidePanel` frame context.
611
+ * The `meetingExtensionDefinition.supportsStreaming` field in your app manifest must be `true` to use this API.
612
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/meetingExtensionDefinition.
613
+ *
614
+ * @param callback - completion callback that contains an `error` parameter, which can be of type `SdkError` in case of an error, or null when operation is successful
615
+ * @param streamUrl - the url to the RTMP stream resource
616
+ * @param streamKey - the key to the RTMP stream resource
617
+ */
618
+ export declare function requestStartLiveStreaming(callback: liveStreamErrorCallbackFunctionType, streamUrl: string, streamKey?: string): void;
619
+ /**
620
+ * Allows an app to request that live streaming be stopped.
621
+ *
622
+ * @remarks
623
+ * Use {@link getLiveStreamState} or {@link registerLiveStreamChangedHandler} to get updates on the live stream state.
624
+ * This API can only be used in the `sidePanel` frame context.
625
+ * The `meetingExtensionDefinition.supportsStreaming` field in your app manifest must be `true` to use this API.
626
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/meetingExtensionDefinition.
627
+ *
628
+ * @param callback - completion callback that contains an error parameter, which can be of type `SdkError` in case of an error, or null when operation is successful
629
+ */
630
+ export declare function requestStopLiveStreaming(callback: liveStreamErrorCallbackFunctionType): void;
631
+ /**
632
+ * Registers an event handler for state changes to the live stream.
633
+ *
634
+ * @remarks
635
+ * Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
636
+ * Use {@link requestStartLiveStreaming} or {@link requestStopLiveStreaming} to start/stop a live stream.
637
+ * This API can only be used in the `sidePanel` frame context.
638
+ * The `meetingExtensionDefinition.supportsStreaming` field in your app manifest must be `true` to use this API.
639
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/meetingExtensionDefinition.
640
+ *
641
+ * @param handler - The handler to invoke when the live stream state changes
642
+ */
643
+ export declare function registerLiveStreamChangedHandler(handler: registerLiveStreamChangedHandlerFunctionType): void;
644
+ /**
645
+ * Allows an app to share a given URL to the meeting stage for all users in the meeting.
646
+ * To learn more, visit https://aka.ms/teamsjs/shareAppContentToStage
647
+ *
648
+ * @remarks
649
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
650
+ * For private scheduled meetings, meet now, or calls, include the `MeetingStage.Write.Chat` RSC permission in your app manifest.
651
+ * For channel meetings, include the `ChannelMeetingStage.Write.Group` RSC permission in your app manifest.
652
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
653
+ * Use {@link getAppContentStageSharingCapabilities} to determine if the local user is eligible to use this API.
654
+ * Use {@link getAppContentStageSharingState} to determine whether app content is already being shared to the meeting stage.
655
+ *
656
+ * @param callback - Callback contains 2 parameters, `error` and `result`.
657
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when share is successful
658
+ * `result` can either contain a true value, in case of a successful share or null when the share fails
659
+ * @param appContentUrl - is the input URL to be shared to the meeting stage.
660
+ * the URL origin must be included in your app manifest's `validDomains` field.
661
+ * @param shareOptions - is an object that contains additional sharing options. If omitted, the default
662
+ * sharing protocol will be `Collaborative`. See {@link IShareAppContentToStageOptions} for more information.
663
+ */
664
+ export declare function shareAppContentToStage(callback: errorCallbackFunctionType, appContentUrl: string, shareOptions?: IShareAppContentToStageOptions): void;
665
+ /**
666
+ * Allows an app to request whether the local user's app version has the required app manifest permissions to share content to meeting stage.
667
+ * To learn more, visit https://aka.ms/teamsjs/getAppContentStageSharingCapabilities
668
+ *
669
+ * @remarks
670
+ * If you are updating your published app to include the share to stage feature, you can use this API to prompt users to update their app if they are using an older version.
671
+ * Your app's `configurableTabs` or `staticTabs` entry's `context` array must include `meetingStage` for `doesAppHaveSharePermission` to be `true` in the `callback` response.
672
+ *
673
+ * @throws error if API is being used outside of `sidePanel` or `meetingStage` frame contexts.
674
+ * @throws error if your app manifest does not include the `MeetingStage.Write.Chat` RSC permission in your app manifest in a private scheduled meeting, meet now, or call --
675
+ * or if it does not include the `ChannelMeetingStage.Write.Group` RSC permission in your app manifest in a channel meeting.
676
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
677
+ *
678
+ * @param callback - Completion callback contains 2 parameters: `error` and `appContentStageSharingCapabilities`.
679
+ * `error` can either contain an error of type `SdkError` (error indication), or null (non-error indication).
680
+ * `appContentStageSharingCapabilities` will contain an {@link IAppContentStageSharingCapabilities} object if the request succeeds, or null if it failed.
681
+ */
682
+ export declare function getAppContentStageSharingCapabilities(callback: getAppContentCallbackFunctionType): void;
683
+ /**
684
+ * @hidden
685
+ * Hide from docs.
686
+ * Terminates current stage sharing session in meeting
687
+ *
688
+ * @param callback - Callback contains 2 parameters, error and result.
689
+ * error can either contain an error of type SdkError (error indication), or null (non-error indication)
690
+ * result can either contain a true boolean value (successful termination), or null (unsuccessful fetch)
691
+ */
692
+ export declare function stopSharingAppContentToStage(callback: errorCallbackFunctionType): void;
693
+ /**
694
+ * Provides information related to current stage sharing state for your app.
695
+ * To learn more, visit https://aka.ms/teamsjs/getAppContentStageSharingState
696
+ *
697
+ * @remarks
698
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
699
+ * For private scheduled meetings, meet now, or calls, include the `MeetingStage.Write.Chat` RSC permission in your app manifest.
700
+ * For channel meetings, include the `ChannelMeetingStage.Write.Group` RSC permission in your app manifest.
701
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
702
+ *
703
+ * @param callback - Callback contains 2 parameters, `error` and `appContentStageSharingState`.
704
+ * error can either contain an error of type SdkError (error indication), or null (non-error indication)
705
+ * `appContentStageSharingState` can either contain an `IAppContentStageSharingState` object if the request succeeds, or null if it failed
706
+ */
707
+ export declare function getAppContentStageSharingState(callback: getAppContentStageCallbackFunctionType): void;
708
+ /**
709
+ * Registers a handler for changes to participant speaking states.
710
+ * To learn more, visit https://aka.ms/teamsjs/registerSpeakingStateChangeHandler
711
+ *
712
+ * @remarks
713
+ * This API returns {@link ISpeakingState}, which will have `isSpeakingDetected` and/or an error object.
714
+ * If any participant is speaking, `isSpeakingDetected` will be true, or false if no participants are speaking.
715
+ * Only one handler can be registered at a time. Subsequent registrations replace existing registrations.
716
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
717
+ * For private scheduled meetings, meet now, or calls, include the `OnlineMeetingIncomingAudio.Detect.Chat` RSC permission in your app manifest.
718
+ * For channel meetings, include the `OnlineMeetingIncomingAudio.Detect.Group` RSC permission in your app manifest.
719
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
720
+ *
721
+ * @param handler The handler to invoke when the speaking state of any participant changes (start/stop speaking).
722
+ */
723
+ export declare function registerSpeakingStateChangeHandler(handler: registerSpeakingStateChangeHandlerFunctionType): void;
724
+ /**
725
+ * Registers a handler for changes to the selfParticipant's (current user's) raiseHandState. If the selfParticipant raises their hand, isHandRaised
726
+ * will be true. By default and if the selfParticipant hand is lowered, isHandRaised will be false. This API will return {@link RaiseHandStateChangedEventData}
727
+ * that will have the raiseHandState or an error object. Only one handler can be registered at a time. A subsequent registration
728
+ * replaces an existing registration.
729
+ *
730
+ * @param handler The handler to invoke when the selfParticipant's (current user's) raiseHandState changes.
731
+ *
732
+ * @hidden
733
+ * Hide from docs.
734
+ *
735
+ * @internal
736
+ * Limited to Microsoft-internal use
737
+ *
738
+ * @beta
739
+ */
740
+ export declare function registerRaiseHandStateChangedHandler(handler: (eventData: RaiseHandStateChangedEventData) => void): void;
741
+ /**
742
+ * Registers a handler for receiving meeting reactions. When the selfParticipant (current user) successfully sends a meeting reaction and it is being rendered on the UI, the meetingReactionType will be populated. Only one handler can be registered
743
+ * at a time. A subsequent registration replaces an existing registration.
744
+ *
745
+ * @param handler The handler to invoke when the selfParticipant (current user) successfully sends a meeting reaction
746
+ *
747
+ * @hidden
748
+ * Hide from docs.
749
+ *
750
+ * @internal
751
+ * Limited to Microsoft-internal use
752
+ *
753
+ * @beta
754
+ */
755
+ export declare function registerMeetingReactionReceivedHandler(handler: (eventData: MeetingReactionReceivedEventData) => void): void;
756
+ /**
757
+ * @hidden
758
+ * Hide from docs beacuse it's only used internally as a serialization/deserialization type
759
+ *
760
+ * @internal
761
+ * Limited to Microsoft-internal use
762
+ */
763
+ export interface ISerializedJoinMeetingParams {
764
+ joinWebUrl: string;
765
+ source: EventActionSource;
766
+ }
767
+ /**
768
+ * This function is used to join a meeting.
769
+ * This opens a meeting in a new window for the desktop app.
770
+ * In case of a web app, it will close the current app and open the meeting in the same tab.
771
+ * There is currently no support or experience for this on mobile platforms.
772
+ * @param joinMeetingParams This takes {@link JoinMeetingParams} for joining the meeting. If source isn't passed then it is marked as 'Other' by default.
773
+ * @throws error if the meeting join fails, the promise will reject to an object with the error message.
774
+ */
775
+ export declare function joinMeeting(joinMeetingParams: JoinMeetingParams): Promise<void>;
776
+ /**
777
+ * Contains information associated with parameters required for joining the Microsoft Teams meetings.
778
+ * More details regarding parameters can be found at:
779
+ * [Online Meeting Base - Microsoft Graph v1.0](https://learn.microsoft.com/en-us/graph/api/resources/onlinemeetingbase?view=graph-rest-1.0)
780
+ */
781
+ export interface JoinMeetingParams {
782
+ /** The join URL of the online meeting. */
783
+ joinWebUrl: URL;
784
+ /** The source of the join button click. If not passed, 'Other' is the default value of source. {@link EventActionSource} */
785
+ source?: EventActionSource;
786
+ }
787
+ /** The source of the join button click. */
788
+ export declare enum EventActionSource {
789
+ /**
790
+ * Source is calendar grid context menu.
791
+ */
792
+ M365CalendarGridContextMenu = "m365_calendar_grid_context_menu",
793
+ /**
794
+ * Source is calendar grid peek.
795
+ */
796
+ M365CalendarGridPeek = "m365_calendar_grid_peek",
797
+ /**
798
+ * Source is calendar grid event card join button.
799
+ */
800
+ M365CalendarGridEventCardJoinButton = "m365_calendar_grid_event_card_join_button",
801
+ /**
802
+ * Source is calendar form ribbon join button.
803
+ */
804
+ M365CalendarFormRibbonJoinButton = "m365_calendar_form_ribbon_join_button",
805
+ /**
806
+ * Source is calendar form join teams meeting button.
807
+ */
808
+ M365CalendarFormJoinTeamsMeetingButton = "m365_calendar_form_join_teams_meeting_button",
809
+ /**
810
+ * Other sources.
811
+ */
812
+ Other = "other"
813
+ }
814
+ /**
815
+ * Have the app handle audio (mic & speaker) and turn off host audio.
816
+ *
817
+ * When {@link RequestAppAudioHandlingParams.isAppHandlingAudio} is true, the host will switch to audioless mode
818
+ * Registers for mic mute status change events, which are events that the app can receive from the host asking the app to
819
+ * mute or unmute the microphone.
820
+ *
821
+ * When {@link RequestAppAudioHandlingParams.isAppHandlingAudio} is false, the host will switch out of audioless mode
822
+ * Unregisters the mic mute status change events so the app will no longer receive these events
823
+ *
824
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
825
+ * @throws Error if {@link RequestAppAudioHandlingParams.micMuteStateChangedCallback} parameter is not defined
826
+ *
827
+ * @param requestAppAudioHandlingParams - {@link RequestAppAudioHandlingParams} object with values for the audio switchover
828
+ * @param callback - Callback with one parameter, the result
829
+ * can either be true (the host is now in audioless mode) or false (the host is not in audioless mode)
830
+ *
831
+ * @hidden
832
+ * Hide from docs.
833
+ *
834
+ * @internal
835
+ * Limited to Microsoft-internal use
836
+ *
837
+ * @beta
838
+ */
839
+ export declare function requestAppAudioHandling(requestAppAudioHandlingParams: RequestAppAudioHandlingParams, callback: (isHostAudioless: boolean) => void): void;
840
+ /**
841
+ * Notifies the host that the microphone state has changed in the app.
842
+ * @param micState - The new state that the microphone is in
843
+ * isMicMuted - Boolean to indicate the current mute status of the mic.
844
+ *
845
+ * @hidden
846
+ * Hide from docs.
847
+ *
848
+ * @internal
849
+ * Limited to Microsoft-internal use
850
+ *
851
+ * @beta
852
+ */
853
+ export declare function updateMicState(micState: MicState): void;
854
+ export { appShareButton };