@wildix/xbees-users-client 1.0.23 → 1.0.25

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 (47) hide show
  1. package/dist-cjs/Users.js +18 -2
  2. package/dist-cjs/commands/{BatchGetUsersStreamLinkDataCommand.js → BatchGetUsersCommand.js} +7 -7
  3. package/dist-cjs/commands/BatchGetUsersPbxLinkDataV1Command.js +21 -0
  4. package/dist-cjs/commands/GetUserCommand.js +21 -0
  5. package/dist-cjs/commands/GetUserPbxLinkDataCommand.js +21 -0
  6. package/dist-cjs/commands/GetUserPbxLinkSuggestionV1Command.js +21 -0
  7. package/dist-cjs/commands/QueryUserCommand.js +21 -0
  8. package/dist-cjs/commands/QueryUsersCommand.js +21 -0
  9. package/dist-cjs/commands/UploadPictureV1Command.js +21 -0
  10. package/dist-cjs/commands/VerifyBotSecretKeyV1Command.js +21 -0
  11. package/dist-cjs/commands/index.js +9 -1
  12. package/dist-cjs/models/models_0.js +33 -1
  13. package/dist-cjs/protocols/Aws_restJson1.js +269 -10
  14. package/dist-es/Users.js +18 -2
  15. package/dist-es/commands/BatchGetUsersCommand.js +17 -0
  16. package/dist-es/commands/BatchGetUsersPbxLinkDataV1Command.js +17 -0
  17. package/dist-es/commands/GetUserCommand.js +17 -0
  18. package/dist-es/commands/GetUserPbxLinkDataCommand.js +17 -0
  19. package/dist-es/commands/GetUserPbxLinkSuggestionV1Command.js +17 -0
  20. package/dist-es/commands/QueryUserCommand.js +17 -0
  21. package/dist-es/commands/QueryUsersCommand.js +17 -0
  22. package/dist-es/commands/UploadPictureV1Command.js +17 -0
  23. package/dist-es/commands/VerifyBotSecretKeyV1Command.js +17 -0
  24. package/dist-es/commands/index.js +9 -1
  25. package/dist-es/models/models_0.js +31 -0
  26. package/dist-es/protocols/Aws_restJson1.js +248 -5
  27. package/dist-types/Users.d.ts +62 -5
  28. package/dist-types/UsersClient.d.ts +11 -3
  29. package/dist-types/commands/BatchGetUsersCommand.d.ts +85 -0
  30. package/dist-types/commands/BatchGetUsersPbxLinkDataCommand.d.ts +53 -4
  31. package/dist-types/commands/BatchGetUsersPbxLinkDataV1Command.d.ts +122 -0
  32. package/dist-types/commands/GetUserCommand.d.ts +83 -0
  33. package/dist-types/commands/GetUserPbxLinkDataCommand.d.ts +120 -0
  34. package/dist-types/commands/GetUserPbxLinkSuggestionV1Command.d.ts +67 -0
  35. package/dist-types/commands/QueryUserCommand.d.ts +92 -0
  36. package/dist-types/commands/QueryUsersCommand.d.ts +92 -0
  37. package/dist-types/commands/UploadPictureV1Command.d.ts +64 -0
  38. package/dist-types/commands/VerifyBotSecretKeyV1Command.d.ts +68 -0
  39. package/dist-types/commands/index.d.ts +9 -1
  40. package/dist-types/models/models_0.d.ts +536 -60
  41. package/dist-types/protocols/Aws_restJson1.d.ts +77 -5
  42. package/dist-types/runtimeConfig.browser.d.ts +1 -0
  43. package/dist-types/runtimeConfig.d.ts +1 -0
  44. package/dist-types/runtimeConfig.native.d.ts +1 -0
  45. package/package.json +1 -1
  46. package/dist-es/commands/BatchGetUsersStreamLinkDataCommand.js +0 -17
  47. package/dist-types/commands/BatchGetUsersStreamLinkDataCommand.d.ts +0 -83
@@ -25,132 +25,408 @@ export declare class ForbiddenException extends __BaseException {
25
25
  }
26
26
  /**
27
27
  * @public
28
+ * @enum
28
29
  */
29
- export interface BatchGetUsersPbxLinkDataInput {
30
- id: (string)[];
31
- }
30
+ export declare const PbxLicenseType: {
31
+ readonly BASIC: "basic";
32
+ readonly BUSINESS: "business";
33
+ readonly ESSENTIAL: "essential";
34
+ readonly PREMIUM: "premium";
35
+ readonly WIZYCONF: "wizyconf";
36
+ };
32
37
  /**
33
38
  * @public
34
39
  */
35
- export interface PbxLinkData {
40
+ export type PbxLicenseType = typeof PbxLicenseType[keyof typeof PbxLicenseType];
41
+ /**
42
+ * @public
43
+ */
44
+ export interface User {
36
45
  id: string;
37
- company: string;
38
- domain?: string;
46
+ name?: string;
39
47
  email?: string;
48
+ phone?: string;
49
+ picture?: string;
50
+ locale?: string;
51
+ timeZone?: string;
52
+ company?: string;
53
+ bot?: boolean;
54
+ pbxDomain?: string;
55
+ pbxPort?: string;
56
+ pbxExtension?: string;
57
+ pbxSerial?: string;
58
+ pbxUserId?: string;
59
+ createdAt?: string;
60
+ updatedAt?: string;
40
61
  }
41
62
  /**
42
63
  * @public
43
64
  */
44
- export interface BatchGetUsersPbxLinkDataOutput {
45
- users: (PbxLinkData)[];
65
+ export interface BotDialogflowCxEndpoint {
66
+ /**
67
+ * Dialogflow Service Account Credentials
68
+ * @public
69
+ */
70
+ credentials: __DocumentType;
71
+ /**
72
+ * Dialogflow Agent Id (example - 88ff4635-0852-4f97-ae44-b19ae9fa6ea1
73
+ * @public
74
+ */
75
+ agent: string;
76
+ /**
77
+ * Dialogflow Agent Region (example: europe-west3)
78
+ * @public
79
+ */
80
+ location: string;
81
+ /**
82
+ * Language
83
+ * @public
84
+ */
85
+ language: string;
86
+ }
87
+ /**
88
+ * @public
89
+ */
90
+ export interface BotOpenAiAssistantEndpoint {
91
+ key: string;
92
+ assistantId: string;
93
+ }
94
+ /**
95
+ * @public
96
+ */
97
+ export interface BotSqsEndpoint {
98
+ url: string;
99
+ key: string;
100
+ secret: string;
101
+ }
102
+ /**
103
+ * @public
104
+ */
105
+ export interface BotWebhookEndpoint {
106
+ url: string;
107
+ secret: string;
46
108
  }
47
109
  /**
48
110
  * @public
49
111
  */
50
- export interface BatchGetUsersStreamLinkDataInput {
112
+ export interface BatchGetUsersInput {
51
113
  id: (string)[];
52
114
  }
53
115
  /**
54
116
  * @public
55
117
  */
56
- export interface StreamLinkData {
57
- id: string;
58
- email?: string;
59
- phone?: string;
60
- name?: string;
61
- picture?: string;
62
- company?: string;
63
- pbxExtension?: string;
64
- pbxSerial?: string;
65
- pbxDomain?: string;
66
- pbxPort?: string;
67
- pbxUserId?: string;
68
- pbxUpdatedAt?: string;
69
- locale?: string;
70
- timeZone?: string;
118
+ export interface BatchGetUsersOutput {
119
+ /**
120
+ * A list of users that exist in the platform.
121
+ * @public
122
+ */
123
+ users: (User)[];
71
124
  }
72
125
  /**
73
126
  * @public
74
127
  */
75
- export interface BatchGetUsersStreamLinkDataOutput {
76
- users: Record<string, StreamLinkData>;
128
+ export interface BatchGetUsersPbxLinkDataInput {
129
+ id: (string)[];
77
130
  }
78
131
  /**
79
132
  * @public
80
133
  */
81
- export interface Bot {
82
- id: string;
83
- name: string;
84
- picture?: string;
85
- searchable?: boolean;
86
- createdAt: string;
87
- updated?: string;
134
+ export interface UserPbxDialplanSettings {
88
135
  }
89
136
  /**
90
137
  * @public
91
138
  */
92
- export interface BotApiKey {
93
- secret: string;
94
- name?: string;
95
- createdAt: string;
139
+ export interface UserPersonalInfo {
140
+ /**
141
+ * Distinguished Name (DN) of the user in the directory (example: 'uid=9010198,o=com0,dc=wildix').
142
+ * @public
143
+ */
144
+ dn: string;
145
+ /**
146
+ * Unique identifier of the user (example: '9010198').
147
+ * @public
148
+ */
149
+ id: string;
150
+ /**
151
+ * Name of the user (example: 'John Doe').
152
+ * @public
153
+ */
154
+ name: string;
155
+ /**
156
+ * Extension number of the user (example: '111').
157
+ * @public
158
+ */
159
+ extension: string;
160
+ /**
161
+ * Office phone number of the user (example: '22222'). This field can be an empty string or undefined if not provided.
162
+ * @public
163
+ */
164
+ officePhone?: string;
165
+ /**
166
+ * Mobile phone number of the user (example: '22222'). This field can be an empty string or undefined if not provided.
167
+ * @public
168
+ */
169
+ mobilePhone?: string;
170
+ /**
171
+ * Fax number of the user (example: '22222'). This field can be an empty string or undefined if not provided.
172
+ * @public
173
+ */
174
+ faxNumber?: string;
175
+ /**
176
+ * Email address of the user (example: 'email@google.com'). This field can be an empty string or undefined if not provided.
177
+ * @public
178
+ */
179
+ email?: string;
180
+ /**
181
+ * Role of the user (example: 'admin').
182
+ * @public
183
+ */
184
+ role: string;
185
+ /**
186
+ * Language preference of the user (example: 'en').
187
+ * @public
188
+ */
189
+ language: string;
190
+ /**
191
+ * Dialplan associated with the user (example: 'users').
192
+ * @public
193
+ */
194
+ dialplan: string;
195
+ /**
196
+ * Fax dialplan associated with the user. Example: 'users'.
197
+ * @public
198
+ */
199
+ faxDialplan: string;
200
+ /**
201
+ * Department of the user (example: 'Sales'). This field can be an empty string or undefined if not provided.
202
+ * @public
203
+ */
204
+ departament?: string;
205
+ /**
206
+ * Public URL path of the user's picture (example: '/cticonnect/cticonnect_share/user_avatar_3688190.png?100&John Doe&98998generated').
207
+ * @public
208
+ */
209
+ picture: string;
210
+ /**
211
+ * Distinguished Name (DN) of the user's group in the directory. Example: 'gid=5194383,o=com0,dc=wildix'.
212
+ * @public
213
+ */
214
+ groupDn: string;
215
+ /**
216
+ * Name of the user's group.
217
+ * @public
218
+ */
219
+ groupName: string;
220
+ /**
221
+ * Jabber ID (JID) of the user. Example: '100@example.wildixin.com'.
222
+ * @public
223
+ */
224
+ jid: string;
225
+ /**
226
+ * Type of license assigned to the user.
227
+ * @public
228
+ */
229
+ licenseType: PbxLicenseType;
230
+ /**
231
+ * Login name of the user. This field can be an empty string or undefined if not provided.
232
+ * @public
233
+ */
234
+ login?: string;
235
+ /**
236
+ * PBX associated with the user. This field can be an empty string or undefined if not provided.
237
+ * @public
238
+ */
239
+ pbx?: string;
240
+ /**
241
+ * Distinguished Name (DN) of the PBX associated with the user. Example: 'pbxid=0800276a7b26,dc=wildix'.
242
+ * @public
243
+ */
244
+ pbxDn: string;
245
+ /**
246
+ * Source identifier for the user's authorization (example: '117868550326216144929').
247
+ * @public
248
+ */
249
+ sourceId?: string;
250
+ /**
251
+ * SIP password for the user, used to authenticate and secure SIP communications such as VoIP calls.
252
+ * @public
253
+ */
254
+ sipPassword?: string;
96
255
  }
97
256
  /**
98
257
  * @public
99
258
  */
100
- export declare class BotApiKeyNotFoundException extends __BaseException {
101
- readonly name: "BotApiKeyNotFoundException";
102
- readonly $fault: "client";
259
+ export interface UserPbxInfo {
103
260
  /**
104
- * @internal
261
+ * Network addresses associated with the PBX (example: ['krzhevitskywms4.wildixin.com']).
262
+ * @public
105
263
  */
106
- constructor(opts: __ExceptionOptionType<BotApiKeyNotFoundException, __BaseException>);
264
+ networkAddresses: (string)[];
265
+ /**
266
+ * Specifies the HTTPs ports utilized by the PBX system (example: ['443']).
267
+ * @public
268
+ */
269
+ ports: (string)[];
270
+ /**
271
+ * Prefix used for external lines (eample: '0').
272
+ * @public
273
+ */
274
+ externalLinePrefix?: string;
275
+ /**
276
+ * Version of the PBX software (example: '5.03.20210820.2~67439e5d').
277
+ * @public
278
+ */
279
+ version: string;
280
+ /**
281
+ * Serial number of the PBX (example: '221100002aa2').
282
+ * @public
283
+ */
284
+ serial: string;
107
285
  }
108
286
  /**
109
287
  * @public
110
288
  */
111
- export interface BotDialogflowCxEndpoint {
289
+ export interface UserPbxPersonalSettings {
290
+ }
291
+ /**
292
+ * @public
293
+ */
294
+ export interface UserPbxServices {
295
+ xcaracal?: boolean;
296
+ wizyWebinar?: boolean;
297
+ }
298
+ /**
299
+ * @public
300
+ */
301
+ export interface UserPbxLinkData {
112
302
  /**
113
- * Dialogflow Service Account Credentials
303
+ * The unique identifier of the user (Cloud ID, not ID of the user on PBX).
114
304
  * @public
115
305
  */
116
- credentials: __DocumentType;
306
+ id: string;
117
307
  /**
118
- * Dialogflow Agent Id (example - 88ff4635-0852-4f97-ae44-b19ae9fa6ea1
308
+ * The ID of the tenant (company) associated with the user.
119
309
  * @public
120
310
  */
121
- agent: string;
311
+ company: string;
122
312
  /**
123
- * Dialogflow Agent Region (example: europe-west3)
313
+ * The name of the tenant (company) associated with the user.
124
314
  * @public
125
315
  */
126
- location: string;
316
+ companyName?: string;
127
317
  /**
128
- * Language
318
+ * The domain of the PBX where the user connected to.
129
319
  * @public
130
320
  */
131
- language: string;
321
+ domain: string;
322
+ /**
323
+ * The email address of the user.
324
+ * @public
325
+ */
326
+ email?: string;
327
+ /**
328
+ * Personal information of the user.
329
+ * @public
330
+ */
331
+ info: UserPersonalInfo;
332
+ /**
333
+ * PBX information where user connected to.
334
+ * @public
335
+ */
336
+ pbx: UserPbxInfo;
337
+ /**
338
+ * A public URL of the user's picture (example: https://example.wildixin.com/cticonnect/cticonnect_share/user_avatar_3688190.png)
339
+ * @public
340
+ */
341
+ picture: string;
342
+ /**
343
+ * Indicates whether the picture was manually removed by the user. If true the application must show a placeholder instead of the default picture from the PBX.
344
+ * @public
345
+ */
346
+ pictureDeleted?: boolean;
347
+ /**
348
+ * The port used for the PBX connection.
349
+ * @public
350
+ */
351
+ port: string;
352
+ /**
353
+ * The serial number of the PBX.
354
+ * @public
355
+ */
356
+ serial: string;
357
+ /**
358
+ * Services associated with the user's PBX.
359
+ * @public
360
+ */
361
+ services?: UserPbxServices;
362
+ /**
363
+ * Personal settings (PBX) of the user.
364
+ * @public
365
+ */
366
+ personalSettings?: UserPbxPersonalSettings;
367
+ /**
368
+ * Dialplan settings (PBX) of the user.
369
+ * @public
370
+ */
371
+ dialplanSettings?: UserPbxDialplanSettings;
372
+ /**
373
+ * The AWS region where the PBX is located.
374
+ * @public
375
+ */
376
+ awsRegion?: string;
377
+ /**
378
+ * The date when link data was updated last time.
379
+ * @public
380
+ */
381
+ updatedAt?: string;
132
382
  }
133
383
  /**
134
384
  * @public
135
385
  */
136
- export interface BotOpenAiAssistantEndpoint {
137
- key: string;
138
- assistantId: string;
386
+ export interface BatchGetUsersPbxLinkDataOutput {
387
+ users: (UserPbxLinkData)[];
139
388
  }
140
389
  /**
141
390
  * @public
142
391
  */
143
- export interface BotSqsEndpoint {
144
- url: string;
145
- key: string;
146
- secret: string;
392
+ export interface BatchGetUsersPbxLinkDataV1Input {
393
+ id: (string)[];
147
394
  }
148
395
  /**
149
396
  * @public
150
397
  */
151
- export interface BotWebhookEndpoint {
152
- url: string;
398
+ export interface BatchGetUsersPbxLinkDataV1Output {
399
+ users: (UserPbxLinkData)[];
400
+ }
401
+ /**
402
+ * @public
403
+ */
404
+ export interface Bot {
405
+ id: string;
406
+ name: string;
407
+ picture?: string;
408
+ searchable?: boolean;
409
+ createdAt: string;
410
+ updated?: string;
411
+ }
412
+ /**
413
+ * @public
414
+ */
415
+ export interface BotApiKey {
153
416
  secret: string;
417
+ name?: string;
418
+ createdAt: string;
419
+ }
420
+ /**
421
+ * @public
422
+ */
423
+ export declare class BotApiKeyNotFoundException extends __BaseException {
424
+ readonly name: "BotApiKeyNotFoundException";
425
+ readonly $fault: "client";
426
+ /**
427
+ * @internal
428
+ */
429
+ constructor(opts: __ExceptionOptionType<BotApiKeyNotFoundException, __BaseException>);
154
430
  }
155
431
  /**
156
432
  * @public
@@ -387,6 +663,38 @@ export interface GetBotCallbackInput {
387
663
  export interface GetBotCallbackOutput {
388
664
  callback: BotCallback;
389
665
  }
666
+ /**
667
+ * @public
668
+ */
669
+ export interface GetUserInput {
670
+ /**
671
+ * The unique identifier of the user.
672
+ * @public
673
+ */
674
+ userId: string;
675
+ }
676
+ /**
677
+ * @public
678
+ */
679
+ export interface GetUserOutput {
680
+ user: User;
681
+ }
682
+ /**
683
+ * @public
684
+ */
685
+ export interface GetUserPbxLinkDataInput {
686
+ /**
687
+ * The unique identifier of the user (Cloud ID, not ID of the user on PBX).
688
+ * @public
689
+ */
690
+ userId: string;
691
+ }
692
+ /**
693
+ * @public
694
+ */
695
+ export interface GetUserPbxLinkDataOutput {
696
+ user: UserPbxLinkData;
697
+ }
390
698
  /**
391
699
  * @public
392
700
  */
@@ -422,6 +730,26 @@ export interface GetUserPbxLinkSuggestionOutput {
422
730
  */
423
731
  suggestion?: UserPbxLinkSuggestion;
424
732
  }
733
+ /**
734
+ * @public
735
+ */
736
+ export interface GetUserPbxLinkSuggestionV1Input {
737
+ /**
738
+ * An email address of the user when a service token is used. If not provided, the email will be taken from the token.
739
+ * @public
740
+ */
741
+ email?: string;
742
+ }
743
+ /**
744
+ * @public
745
+ */
746
+ export interface GetUserPbxLinkSuggestionV1Output {
747
+ /**
748
+ * If the PBX data link information is available, the user can attempt to connect using the provided PBX domain and port. Can be empty if no information found for the specified email.
749
+ * @public
750
+ */
751
+ suggestion?: UserPbxLinkSuggestion;
752
+ }
425
753
  /**
426
754
  * @public
427
755
  */
@@ -447,6 +775,116 @@ export interface ListBotsInput {
447
775
  export interface ListBotsOutput {
448
776
  bots: (Bot)[];
449
777
  }
778
+ /**
779
+ * @public
780
+ */
781
+ export interface UserQueryPredicate {
782
+ /**
783
+ * The type of PBX license required for the user query. This field is used to ensure that the user has the appropriate license type.
784
+ * @public
785
+ */
786
+ license?: PbxLicenseType;
787
+ }
788
+ /**
789
+ * @public
790
+ */
791
+ export type UserQuery = UserQuery.EmailMember | UserQuery.IdMember | UserQuery.PhoneMember | UserQuery.$UnknownMember;
792
+ /**
793
+ * @public
794
+ */
795
+ export declare namespace UserQuery {
796
+ /**
797
+ * The unique identifier of the user (Cloud ID, not ID of the user on PBX).
798
+ * @public
799
+ */
800
+ interface IdMember {
801
+ id: string;
802
+ email?: never;
803
+ phone?: never;
804
+ $unknown?: never;
805
+ }
806
+ /**
807
+ * The email address of the user.
808
+ * @public
809
+ */
810
+ interface EmailMember {
811
+ id?: never;
812
+ email: string;
813
+ phone?: never;
814
+ $unknown?: never;
815
+ }
816
+ /**
817
+ * The phone number of the user.
818
+ * @public
819
+ */
820
+ interface PhoneMember {
821
+ id?: never;
822
+ email?: never;
823
+ phone: string;
824
+ $unknown?: never;
825
+ }
826
+ /**
827
+ * @public
828
+ */
829
+ interface $UnknownMember {
830
+ id?: never;
831
+ email?: never;
832
+ phone?: never;
833
+ $unknown: [string, any];
834
+ }
835
+ interface Visitor<T> {
836
+ id: (value: string) => T;
837
+ email: (value: string) => T;
838
+ phone: (value: string) => T;
839
+ _: (name: string, value: any) => T;
840
+ }
841
+ const visit: <T>(value: UserQuery, visitor: Visitor<T>) => T;
842
+ }
843
+ /**
844
+ * @public
845
+ */
846
+ export interface QueryUserInput {
847
+ query: UserQuery;
848
+ /**
849
+ * A condition that must be satisfied for the user query to be considered valid. If this predicate is not met, a UserQueryPredicateNotMetException will be thrown.
850
+ * @public
851
+ */
852
+ predicate?: UserQueryPredicate;
853
+ }
854
+ /**
855
+ * @public
856
+ */
857
+ export interface QueryUserOutput {
858
+ user: User;
859
+ }
860
+ /**
861
+ * @public
862
+ */
863
+ export declare class UserQueryPredicateNotMetException extends __BaseException {
864
+ readonly name: "UserQueryPredicateNotMetException";
865
+ readonly $fault: "client";
866
+ /**
867
+ * @internal
868
+ */
869
+ constructor(opts: __ExceptionOptionType<UserQueryPredicateNotMetException, __BaseException>);
870
+ }
871
+ /**
872
+ * @public
873
+ */
874
+ export interface QueryUsersInput {
875
+ queries: (UserQuery)[];
876
+ predicate?: UserQueryPredicate;
877
+ }
878
+ /**
879
+ * @public
880
+ */
881
+ export interface QueryUsersOutput {
882
+ /**
883
+ * A list of users that exist in the platform and matches predicate if specified.
884
+ * @public
885
+ */
886
+ users: (User)[];
887
+ }
450
888
  /**
451
889
  * @public
452
890
  */
@@ -493,6 +931,22 @@ export interface UploadPictureInput {
493
931
  export interface UploadPictureOutput {
494
932
  url: string;
495
933
  }
934
+ /**
935
+ * @public
936
+ */
937
+ export interface UploadPictureV1Input {
938
+ /**
939
+ * A base64 encoded image file in PNG or JPG format, with dimensions of 140 x 140 pixels.
940
+ * @public
941
+ */
942
+ picture: string;
943
+ }
944
+ /**
945
+ * @public
946
+ */
947
+ export interface UploadPictureV1Output {
948
+ url: string;
949
+ }
496
950
  /**
497
951
  * @public
498
952
  */
@@ -515,3 +969,25 @@ export interface VerifyBotSecretKeyOutput {
515
969
  id: string;
516
970
  name?: string;
517
971
  }
972
+ /**
973
+ * @public
974
+ */
975
+ export interface VerifyBotSecretKeyV1Input {
976
+ /**
977
+ * A secret key string with "sk-"
978
+ * @public
979
+ */
980
+ secret: string;
981
+ }
982
+ /**
983
+ * @public
984
+ */
985
+ export interface VerifyBotSecretKeyV1Output {
986
+ company: string;
987
+ /**
988
+ * A unique ID for the Bot that corresponds to the bot's x-bees user ID.
989
+ * @public
990
+ */
991
+ id: string;
992
+ name?: string;
993
+ }