@veltdev/sdk-dev 4.0.0-beta.14 → 4.0.0-beta.140

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.
@@ -26,210 +26,208 @@ import { DocumentMetadata } from "../models/data/document-metadata.model";
26
26
  import { ReactionElement } from "../models/element/reaction-element.model";
27
27
  import { VeltEventMetadata } from "../models/data/event-metadata.data.model";
28
28
  import { CoreEventTypesMap } from "../models/data/core-events.data.model";
29
- import { Document, SetDocumentsRequestOptions } from "../models/data/document.data.model";
30
- export declare class Snippyly {
31
- constructor();
32
- initConfig: (apiKey: string, config?: Config) => void;
33
- identify: (user: User, userOptions?: UserOptions) => Promise<unknown>;
34
- /**
35
- * Tell us who the currently logged in user is.
36
- *
37
- * Call whenever the user is updated: signs in, signs out, signs up etc.
38
- * @deprecated This method is deprecated and will be removed in next release.
39
- */
40
- updateUser: (user: User) => void;
41
- /**
42
- * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
43
- * @param id unique document ID
44
- * @param documentMetadata Document Metadata
45
- */
46
- setDocument: (id: string, documentMetadata?: DocumentMetadata) => void;
47
- /**
48
- * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
49
- * @param id unique document ID
50
- */
51
- setDocumentId: (id: string) => void;
52
- /**
53
- * To set multiple documents
54
- */
55
- setDocuments: (documents: Document[], options?: SetDocumentsRequestOptions) => void;
56
- /**
57
- * To unset the document id
58
- */
59
- unsetDocumentId: () => void;
60
- /**
61
- * Get Document ID
62
- */
63
- getDocumentId: () => string;
64
- /**
65
- * Tell us the custom params of the current document/resource to identify sub document inside a document.
66
- * @param params Document Params
67
- * @deprecated This method is depercated and will be removed in next release. Use `setLocation` method instead.
68
- */
69
- setDocumentParams: (params: Location) => void;
70
- /**
71
- * Tell us the custom params of the current document/resource to identify sub document inside a document.
72
- * @param params Location
73
- * @param appendLocation Append location to existing location
74
- */
75
- setLocation: (params: Location, appendLocation?: boolean) => void;
76
- /**
77
- * To remove document params from a User
78
- * @deprecated This method is depercated and will be removed in next release. Use `removeLocation` method instead.
79
- */
80
- removeDocumentParams: () => void;
81
- /**
82
- * To remove location from a User
83
- * @param location Location
84
- */
85
- removeLocation: (location?: Location) => void;
86
- /**
87
- * To exclude data of specific location ids
88
- * @param ids Location Ids
89
- */
90
- excludeLocationIds: (ids: string[]) => void;
91
- /**
92
- * Tell us the about the scrollable document ids to keep track on its scroll changes
93
- * @param ids scrollable elements ids
94
- */
95
- setScrollableElementsIds: (ids: string[]) => void;
96
- /**
97
- * To remove document params from a User
98
- */
99
- removeScrollableElementsIds: () => void;
100
- /**
101
- * Get the Presence Element Object to access the raw presence data.
102
- *
103
- * This is for Pros who don’t want to use Snippyly Presence web component and want to design their own UI.
104
- */
105
- getPresenceElement: () => PresenceElement;
106
- /**
107
- * Get the Cursor Element Object to access the raw cursor data.
108
- *
109
- * This is for Pros who don’t want to use Snippyly Presence web component and want to design their own UI.
110
- */
111
- getCursorElement: () => CursorElement;
112
- /**
113
- * Get the Comment Element Object to access the raw comment data.
114
- *
115
- * This is for Pros who don’t want to use Snippyly Comment web component and want to design their own UI.
116
- */
117
- getCommentElement: () => CommentElement;
118
- /**
119
- * Get the Tag Pin Annotation Object to access the raw tag data.
120
- *
121
- * This is for Pros who don’t want to use Snippyly Tag web component and want to design their own UI.
122
- */
123
- getTagElement: () => TagElement;
124
- /**
125
- * Get the Selection Object to enable/disable the feature.
126
- */
127
- getSelectionElement: () => SelectionElement;
128
- /**
129
- * Get the Recorder Object.
130
- */
131
- getRecorderElement: () => RecorderElement;
132
- /**
133
- * Get the Contact Object.
134
- */
135
- getContactElement: () => ContactElement;
136
- /**
137
- * Get the Rewriter Object.
138
- */
139
- getRewriterElement: () => RewriterElement;
140
- /**
141
- * Get the Huddle element.
142
- */
143
- getHuddleElement: () => HuddleElement;
144
- /**
145
- * Get the LiveStateSync Object.
146
- */
147
- getLiveStateSyncElement: () => LiveStateSyncElement;
148
- /**
149
- * Get the Arrow Object.
150
- */
151
- getArrowElement: () => ArrowElement;
152
- /**
153
- * Get the Views Object.
154
- */
155
- getViewsElement: () => ViewsElement;
156
- /**
157
- * Get the Notification Object.
158
- */
159
- getNotificationElement: () => NotificationElement;
160
- /**
161
- * Get the Autocomplete Object.
162
- */
163
- getAutocompleteElement: () => AutocompleteElement;
164
- /**
165
- * Get the Area Object.
166
- */
167
- getAreaElement: () => AreaElement;
168
- /**
169
- * Get the Area Object.
170
- */
171
- getReactionElement: () => ReactionElement;
172
- /**
173
- * Get the metadata of the current resource.
174
- */
175
- getMetadata: () => Promise<VeltEventMetadata | null>;
176
- /**
177
- * To signout a user
178
- */
179
- signOutUser: () => any;
180
- /**
181
- * Provide a list of features to disable.
182
- * Provide an empty array to enable all the features.
183
- * @param features List of features
184
- */
185
- disableFeatures: (features: Array<FeatureType>) => void;
186
- /**
187
- * Add location to show comments, tags, recorders etc. for provided location also.
188
- * @param location Location object
189
- * @deprecated This method is deprecated and will be removed in next release. Use `setLocation` method with `appendLocation: true` instead.
190
- */
191
- addLocation: (location: any) => any;
192
- /**
193
- * To set the dark mode of Velt components.
194
- * @param value {boolean} true/false
195
- */
196
- setDarkMode: (darkMode: boolean) => void;
29
+ import { Document, SetDocumentsRequestOptions, FetchDocumentsRequest, FetchFoldersRequest } from "../models/data/document.data.model";
30
+ import { FetchDocumentsResponse, FetchFoldersResponse } from "../models/data/document-events.data.model";
31
+ import { UserDataProvider } from "../models/data/user-resolver.data.model";
197
32
 
198
- /**
199
- * To check if user allowed in provided document or not.
200
- */
201
- isUserAllowed$: () => Observable<boolean>;
33
+ export declare class Snippyly {
34
+ constructor();
35
+ initConfig: (apiKey: string, config?: Config) => void;
36
+ identify: (user: User, userOptions?: UserOptions) => Promise<unknown>;
37
+ /**
38
+ * Tell us who the currently logged in user is.
39
+ *
40
+ * Call whenever the user is updated: signs in, signs out, signs up etc.
41
+ * @deprecated This method is deprecated and will be removed in next release.
42
+ */
43
+ updateUser: (user: User) => void;
44
+ /**
45
+ * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
46
+ * @param id unique document ID
47
+ * @param documentMetadata Document Metadata
48
+ */
49
+ setDocument: (id: string, documentMetadata?: DocumentMetadata) => void;
50
+ /**
51
+ * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
52
+ * @param id unique document ID
53
+ * @deprecated This method is deprecated and will be removed in next release. Use `setDocuments` method instead.
54
+ */
55
+ setDocumentId: (id: string) => void;
56
+ /**
57
+ * To set multiple documents
58
+ */
59
+ setDocuments: (documents: Document[], options?: SetDocumentsRequestOptions) => void;
60
+ /**
61
+ * To unset the document id
62
+ * @deprecated This method is deprecated and will be removed in next release. Use `unsetDocuments` method instead.
63
+ */
64
+ unsetDocumentId: () => void;
65
+ /**
66
+ * To unset the documents
67
+ */
68
+ unsetDocuments: () => void;
69
+ /**
70
+ * To fetch documents
71
+ */
72
+ fetchDocuments: (options?: FetchDocumentsRequest) => Promise<FetchDocumentsResponse>;
73
+ /**
74
+ * To fetch folders
75
+ */
76
+ fetchFolders: (options?: FetchFoldersRequest) => Promise<FetchFoldersResponse>;
77
+ /**
78
+ * To set the user data provider.
79
+ */
80
+ setUserDataProvider: (userDataProvider: UserDataProvider) => void;
81
+ /**
82
+ * Get Document ID
83
+ */
84
+ getDocumentId: () => string;
85
+ /**
86
+ * Tell us the custom params of the current document/resource to identify sub document inside a document.
87
+ * @param params Location
88
+ * @param appendLocation Append location to existing location
89
+ */
90
+ setLocation: (params: Location, appendLocation?: boolean) => void;
91
+ /**
92
+ * To remove location from a User
93
+ * @param location Location
94
+ */
95
+ removeLocation: (location?: Location) => void;
96
+ /**
97
+ * To exclude data of specific location ids
98
+ * @param ids Location Ids
99
+ */
100
+ excludeLocationIds: (ids: string[]) => void;
101
+ /**
102
+ * Tell us the about the scrollable document ids to keep track on its scroll changes
103
+ * @param ids scrollable elements ids
104
+ */
105
+ setScrollableElementsIds: (ids: string[]) => void;
106
+ /**
107
+ * To remove document params from a User
108
+ */
109
+ removeScrollableElementsIds: () => void;
110
+ /**
111
+ * Get the Presence Element Object to access the raw presence data.
112
+ *
113
+ * This is for Pros who don't want to use Snippyly Presence web component and want to design their own UI.
114
+ */
115
+ getPresenceElement: () => PresenceElement;
116
+ /**
117
+ * Get the Cursor Element Object to access the raw cursor data.
118
+ *
119
+ * This is for Pros who don't want to use Snippyly Presence web component and want to design their own UI.
120
+ */
121
+ getCursorElement: () => CursorElement;
122
+ /**
123
+ * Get the Comment Element Object to access the raw comment data.
124
+ *
125
+ * This is for Pros who don't want to use Snippyly Comment web component and want to design their own UI.
126
+ */
127
+ getCommentElement: () => CommentElement;
128
+ /**
129
+ * Get the Tag Pin Annotation Object to access the raw tag data.
130
+ *
131
+ * This is for Pros who don't want to use Snippyly Tag web component and want to design their own UI.
132
+ */
133
+ getTagElement: () => TagElement;
134
+ /**
135
+ * Get the Selection Object to enable/disable the feature.
136
+ */
137
+ getSelectionElement: () => SelectionElement;
138
+ /**
139
+ * Get the Recorder Object.
140
+ */
141
+ getRecorderElement: () => RecorderElement;
142
+ /**
143
+ * Get the Contact Object.
144
+ */
145
+ getContactElement: () => ContactElement;
146
+ /**
147
+ * Get the Rewriter Object.
148
+ */
149
+ getRewriterElement: () => RewriterElement;
150
+ /**
151
+ * Get the Huddle element.
152
+ */
153
+ getHuddleElement: () => HuddleElement;
154
+ /**
155
+ * Get the LiveStateSync Object.
156
+ */
157
+ getLiveStateSyncElement: () => LiveStateSyncElement;
158
+ /**
159
+ * Get the Arrow Object.
160
+ */
161
+ getArrowElement: () => ArrowElement;
162
+ /**
163
+ * Get the Views Object.
164
+ */
165
+ getViewsElement: () => ViewsElement;
166
+ /**
167
+ * Get the Notification Object.
168
+ */
169
+ getNotificationElement: () => NotificationElement;
170
+ /**
171
+ * Get the Autocomplete Object.
172
+ */
173
+ getAutocompleteElement: () => AutocompleteElement;
174
+ /**
175
+ * Get the Area Object.
176
+ */
177
+ getAreaElement: () => AreaElement;
178
+ /**
179
+ * Get the Area Object.
180
+ */
181
+ getReactionElement: () => ReactionElement;
182
+ /**
183
+ * Get the metadata of the current resource.
184
+ */
185
+ getMetadata: () => Promise<VeltEventMetadata | null>;
186
+ /**
187
+ * To signout a user
188
+ */
189
+ signOutUser: () => any;
190
+ /**
191
+ * Provide a list of features to disable.
192
+ * Provide an empty array to enable all the features.
193
+ * @param features List of features
194
+ */
195
+ disableFeatures: (features: Array<FeatureType>) => void;
196
+ /**
197
+ * To set the dark mode of Velt components.
198
+ * @param value {boolean} true/false
199
+ */
200
+ setDarkMode: (darkMode: boolean) => void;
202
201
 
203
- /**
204
- * To get user role in provided document.
205
- */
206
- getUserRole$: () => Observable<string | null>;
202
+ /**
203
+ * To check if user allowed in provided document or not.
204
+ */
205
+ isUserAllowed$: () => Observable<boolean>;
207
206
 
208
- /**
209
- * To check if plan is expired or not.
210
- */
211
- isPlanExpired$: () => Observable<boolean>;
207
+ /**
208
+ * To get user.
209
+ */
210
+ getUser: () => User | null;
212
211
 
213
- /**
214
- * To get if the Velt is initialized or not.
215
- * @returns Observable<boolean | undefined>
216
- */
217
- getVeltInitState: () => Observable<boolean | undefined>;
212
+ /**
213
+ * To get user role in provided document.
214
+ */
215
+ getUserRole$: () => Observable<string | null>;
218
216
 
219
- /**
220
- * To invite list of users to the document.
221
- * @param documentUsers List of document users
222
- */
223
- inviteUsers: (documentUsers: Array<DocumentUser>) => void;
217
+ /**
218
+ * To check if plan is expired or not.
219
+ */
220
+ isPlanExpired$: () => Observable<boolean>;
224
221
 
225
- /**
226
- * To remove snippyly specific content from provided html content.
227
- */
228
- removeSnippylyContent: (htmlContent: string) => string;
222
+ /**
223
+ * To get if the Velt is initialized or not.
224
+ * @returns Observable<boolean | undefined>
225
+ */
226
+ getVeltInitState: () => Observable<boolean | undefined>;
229
227
 
230
- /**
231
- * To remove velt specific content from provided html content.
232
- */
228
+ /**
229
+ * To remove velt specific content from provided html content.
230
+ */
233
231
  removeVeltContent: (htmlContent: string) => string;
234
232
 
235
233
  /**
@@ -244,11 +242,10 @@ export declare class Snippyly {
244
242
  setLanguage: (language: string) => void;
245
243
 
246
244
  /**
247
- * To set the translations for the language.
248
- * @param language Language code
249
- * @param translations Translations object
245
+ * To set translations for multiple languages
246
+ * @param translations Object containing translations for multiple languages
250
247
  */
251
- setTranslations: (language: string, translations: { [key: string]: string }) => void;
248
+ setTranslations: (translations: { [language: string]: { [key: string]: string } }) => void;
252
249
 
253
250
  /**
254
251
  * To enable auto translation.
@@ -263,10 +260,11 @@ export declare class Snippyly {
263
260
  /**
264
261
  * To update user contact list.
265
262
  */
266
- updateContactList: (userContacts: UserContact[], config?: {merge: boolean}) => void;
263
+ updateContactList: (userContacts: UserContact[], config?: { merge: boolean }) => void;
267
264
 
268
265
  /**
269
266
  * To get document metadata.
267
+ * @deprecated This method is deprecated. Use `fetchDocuments` method instead.
270
268
  */
271
269
  getDocumentMetadata: () => Observable<DocumentMetadata | null>;
272
270
 
@@ -274,4 +272,14 @@ export declare class Snippyly {
274
272
  * To subscribe to core actions
275
273
  */
276
274
  on: <T extends keyof CoreEventTypesMap>(action: T) => Observable<CoreEventTypesMap[T]>;
277
- }
275
+
276
+ /**
277
+ * To set the ui state.
278
+ */
279
+ setUiState: <T extends object>(uiState: T) => void;
280
+
281
+ /**
282
+ * To get the ui state.
283
+ */
284
+ getUiState: <T extends object>() => Observable<T>;
285
+ }
@@ -4,4 +4,6 @@ export declare class BaseMetadata {
4
4
  clientDocumentId?: string;
5
5
  organizationId?: string;
6
6
  clientOrganizationId?: string;
7
+ folderId?: string;
8
+ veltFolderId?: string;
7
9
  }
@@ -9,8 +9,10 @@ import { User } from "./user.data.model";
9
9
  export interface RequestOptions {
10
10
  organizationId?: string;
11
11
  documentId?: string;
12
+ folderId?: string;
12
13
  filters?: any;
13
14
  documentIds?: string[];
15
+ allDocuments?: boolean;
14
16
  }
15
17
  export interface UpdatePriorityRequest {
16
18
  annotationId: string;
@@ -63,6 +65,9 @@ export interface CommentRequestQuery {
63
65
  documentIds?: string[];
64
66
  locationIds?: string[];
65
67
  statusIds?: string[];
68
+ folderId?: string;
69
+ allDocuments?: boolean;
70
+ locationId?: string;
66
71
  }
67
72
  export interface SubscribeCommentAnnotationRequest {
68
73
  annotationId: string;
@@ -161,3 +166,18 @@ export interface ToggleReactionRequest {
161
166
  };
162
167
  options?: RequestOptions;
163
168
  }
169
+ export interface FetchCommentAnnotationsRequest {
170
+ createdAfter?: number;
171
+ createdBefore?: number;
172
+ updatedAfter?: number;
173
+ updatedBefore?: number;
174
+ statusIds?: string[];
175
+ order?: 'asc' | 'desc';
176
+ pageToken?: string;
177
+ allDocuments?: boolean;
178
+ pageSize?: number;
179
+ organizationId?: string;
180
+ locationId?: string;
181
+ documentIds?: string[];
182
+ folderId?: string;
183
+ }
@@ -77,6 +77,8 @@ export type CommentEventTypesMap = {
77
77
  [CommentEventTypes.TOGGLE_REACTION]: ToggleReactionEvent;
78
78
  [CommentEventTypes.COMMENT_SIDEBAR_DATA_INIT]: CommentSidebarDataInitEvent;
79
79
  [CommentEventTypes.COMMENT_SIDEBAR_DATA_UPDATE]: CommentSidebarDataUpdateEvent;
80
+ [CommentEventTypes.AUTOCOMPLETE_SEARCH]: AutocompleteSearchEvent;
81
+ [CommentEventTypes.COMPOSER_CLICKED]: ComposerClickedEvent;
80
82
  };
81
83
  export interface AddAttachmentEvent {
82
84
  annotationId: string;
@@ -129,6 +131,9 @@ export interface DeleteCommentAnnotationEvent {
129
131
  export interface GetCommentAnnotationsResponse {
130
132
  data: Record<string, CommentAnnotation[]> | null;
131
133
  }
134
+ export interface FetchCommentAnnotationsResponse extends GetCommentAnnotationsResponse {
135
+ nextPageToken: string;
136
+ }
132
137
  export interface GetCommentAnnotationsCountResponse {
133
138
  data: Record<string, CommentAnnotationsCount> | null;
134
139
  }
@@ -235,3 +240,13 @@ export interface CommentSidebarDataInitEvent extends VeltButtonClickEvent {
235
240
  }
236
241
  export interface CommentSidebarDataUpdateEvent extends VeltButtonClickEvent {
237
242
  }
243
+ export interface AutocompleteSearchEvent {
244
+ event: KeyboardEvent | InputEvent | Event;
245
+ searchText: string;
246
+ type?: 'contact' | 'custom' | 'group';
247
+ metadata?: VeltEventMetadata;
248
+ }
249
+ export interface ComposerClickedEvent {
250
+ commentAnnotation?: CommentAnnotation;
251
+ metadata?: VeltEventMetadata;
252
+ }
@@ -52,6 +52,7 @@ export declare class Config {
52
52
  }
53
53
  export interface ExtendedFirebaseOptions extends FirebaseOptions {
54
54
  storeDbId: string;
55
+ region?: string;
55
56
  }
56
57
  export interface AdvancedQueries {
57
58
  advancedQueriesEnabled: boolean;
@@ -0,0 +1,8 @@
1
+ import { DocumentMetadata } from "./document-metadata.model";
2
+ import { FolderMetadata } from "./folder-metadata.model";
3
+ export interface FetchDocumentsResponse {
4
+ data: Record<string, DocumentMetadata> | null;
5
+ }
6
+ export interface FetchFoldersResponse {
7
+ data: Record<string, FolderMetadata> | null;
8
+ }
@@ -6,6 +6,14 @@ export declare class DocumentMetadata {
6
6
  * Unique document id generated from client document id
7
7
  */
8
8
  documentId?: string;
9
+ /**
10
+ * Folders
11
+ */
12
+ folderId?: string;
13
+ /**
14
+ * Velt folder id
15
+ */
16
+ veltFolderId?: string;
9
17
  /**
10
18
  * API key
11
19
  */
@@ -5,4 +5,27 @@ export interface Document {
5
5
  }
6
6
  export interface SetDocumentsRequestOptions {
7
7
  organizationId?: string;
8
+ folderId?: string;
9
+ allDocuments?: boolean;
10
+ locationId?: string;
11
+ }
12
+ export interface FetchDocumentsRequest {
13
+ organizationId?: string;
14
+ documentIds?: string[];
15
+ folderId?: string;
16
+ allDocuments?: boolean;
17
+ }
18
+ export interface FetchFoldersRequest {
19
+ organizationId?: string;
20
+ folderId?: string;
21
+ }
22
+ export interface FolderConfig {
23
+ folderId?: string;
24
+ allDocuments?: boolean;
25
+ locationId?: string;
26
+ veltFolderId?: string;
27
+ }
28
+ export interface OrganizationConfig {
29
+ organizationId: string;
30
+ clientOrganizationId: string;
8
31
  }
@@ -0,0 +1,40 @@
1
+ export declare class FolderMetadata {
2
+ folderId?: string;
3
+ /**
4
+ * Velt folder id
5
+ */
6
+ veltFolderId?: string;
7
+ /**
8
+ * Parent folder id
9
+ */
10
+ parentFolderId?: string;
11
+ /**
12
+ * Velt parent folder id
13
+ */
14
+ veltParentFolderId?: string;
15
+ /**
16
+ * Created at
17
+ */
18
+ createdAt?: number;
19
+ /**
20
+ * Last updated
21
+ */
22
+ lastUpdated?: number;
23
+ /**
24
+ * API key
25
+ */
26
+ apiKey?: string;
27
+ /**
28
+ * Organization id
29
+ */
30
+ organizationId?: string;
31
+ /**
32
+ * Client organization id
33
+ */
34
+ clientOrganizationId?: string;
35
+ /**
36
+ * Folder name
37
+ */
38
+ folderName?: string;
39
+ [key: string]: any;
40
+ }
@@ -88,6 +88,11 @@ export declare class NotificationRawData {
88
88
  [key: string]: any;
89
89
  };
90
90
  displayBodyMessage?: string;
91
+ displayBodyMessageTemplate?: string;
92
+ displayBodyMessageTemplateData?: {
93
+ users?: User[];
94
+ [key: string]: any;
95
+ };
91
96
  customData?: any;
92
97
  notifyUsers?: {
93
98
  [email: string]: boolean;
@@ -127,6 +132,17 @@ export declare class Notification {
127
132
  * Notification body message
128
133
  */
129
134
  displayBodyMessage?: string;
135
+ /**
136
+ * Display body message template
137
+ */
138
+ displayBodyMessageTemplate?: string;
139
+ /**
140
+ * Display body message template data
141
+ */
142
+ displayBodyMessageTemplateData?: {
143
+ users?: User[];
144
+ [key: string]: any;
145
+ };
130
146
  /**
131
147
  * Display message template
132
148
  */
@@ -164,4 +164,10 @@ export declare class RecorderData {
164
164
  assets: RecorderDataAsset[];
165
165
  transcription: RecorderDataTranscription;
166
166
  }
167
+ export interface RecorderRequestQuery {
168
+ recorderIds: string[];
169
+ }
170
+ export interface GetRecordingDataResponse {
171
+ data: Record<string, RecorderData> | null;
172
+ }
167
173
  export {};
@@ -0,0 +1,8 @@
1
+ import { RecorderEventTypes } from "../../utils/enums";
2
+ import { RecorderData } from "./recorder-annotation.data.model";
3
+ export interface TranscriptionDoneEvent {
4
+ data: Record<string, RecorderData> | null;
5
+ }
6
+ export type RecorderEventTypesMap = {
7
+ [RecorderEventTypes.TRANSCRIPTION_DONE]: TranscriptionDoneEvent;
8
+ };
@@ -0,0 +1,5 @@
1
+ import { User } from "./user.data.model";
2
+ export interface UserDataProvider {
3
+ getUsers(userIds: string[]): Promise<Record<string, User>>;
4
+ resolveTimeout?: number;
5
+ }