@voicenter-team/events-sdk 0.0.68 → 0.0.69

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.
@@ -1,34 +1,82 @@
1
- import { DebouncedFuncLeading } from 'lodash';
2
1
  import { io } from 'socket.io-client';
2
+ import type { LoggerDataPartial } from '@voicenter-team/socketio-storage-logger';
3
+ import { LoggerOptions } from '@voicenter-team/socketio-storage-logger';
3
4
  import { Socket as Socket_2 } from 'socket.io-client';
5
+ import StorageLogger from '@voicenter-team/socketio-storage-logger';
4
6
 
5
7
  export declare type ActiveRoomListener = (event: number | undefined) => void
6
8
 
7
9
  export declare type addRoomListener = (value: string) => void
8
10
 
9
- /**
10
- * Data structure for all dialers status event.
11
- */
12
- declare interface AllDialersStatusEvent extends CommonEventProperties {
13
- // Array of Dialer objects
14
- dialers: Dialer[]
15
- }
16
-
17
- /**
18
- * Data structure for all extension status event.
19
- */
20
- declare interface AllExtensionStatusEvent extends CommonEventProperties {
21
- // Array of Extension objects
22
- extensions: Extension[]
11
+ declare type AllDialersStatusEvent = {
12
+ dialers: Array<Dialer>;
13
+ /**
14
+ * 0 - Connection was establishing successfully.
15
+ */
16
+ errorCode?: number;
17
+ /**
18
+ * “Ok” - Connection was establishing successfully.
19
+ */
20
+ errorDesc?: string;
21
+ /**
22
+ * Server time at the moment of the event
23
+ */
24
+ serverTime: number;
25
+ /**
26
+ * Difference in time between server and client
27
+ */
28
+ serverTimeOffset: number;
29
+ };
30
+
31
+ export declare type AllDialersStatusEventSDK = EventTypeData<EventsEnum.ALL_DIALER_STATUS>
32
+
33
+ declare type AllExtensionStatusEvent = {
34
+ /**
35
+ * 0 - Connection was establishing successfully.
36
+ */
37
+ errorCode?: number;
38
+ /**
39
+ * “Ok” - Connection was establishing successfully.
40
+ */
41
+ errorDesc?: string;
42
+ extensions: Array<Extension>;
43
+ /**
44
+ * Server time at the moment of the event
45
+ */
46
+ servertime: number;
47
+ /**
48
+ * Difference in time between server and client
49
+ */
50
+ servertimeoffset: number;
51
+ };
52
+
53
+ declare interface AllExtensionStatusEventExtended extends Omit<AllExtensionStatusEvent, 'extensions'> {
54
+ extensions: Array<ExtensionSDK>
23
55
  }
24
56
 
25
- /**
26
- * Data structure for all users status event.
27
- */
28
- declare interface AllUsersStatusEvent extends CommonEventProperties {
29
- // Array of User objects
30
- users: User[]
31
- }
57
+ export declare type AllExtensionStatusEventSDK = EventTypeData<EventsEnum.ALL_EXTENSION_STATUS>
58
+
59
+ declare type AllUsersStatusEvent = {
60
+ users: Array<User>;
61
+ /**
62
+ * 0 - Connection was establishing successfully.
63
+ */
64
+ errorCode?: number;
65
+ /**
66
+ * “Ok” - Connection was establishing successfully.
67
+ */
68
+ errorDesc?: string;
69
+ /**
70
+ * Server time at the moment of the event
71
+ */
72
+ serverTime: number;
73
+ /**
74
+ * Difference in time between server and client
75
+ */
76
+ serverTimeOffset: number;
77
+ };
78
+
79
+ export declare type AllUsersStatusEventSDK = EventTypeData<EventsEnum.ALL_USERS_STATUS>
32
80
 
33
81
  declare class AuthClass {
34
82
  private readonly eventsSdkClass;
@@ -36,30 +84,33 @@ declare class AuthClass {
36
84
  private delay;
37
85
  lastLoginTimestamp: number | undefined;
38
86
  token: string | undefined;
87
+ private refreshToken;
88
+ private tokenExpiry;
39
89
  private storageKey;
40
- login(options: EventsSdkOptions): Promise<void>;
90
+ login(): Promise<Partial<LoginSessionData> | undefined>;
41
91
  updateLastLoginTimestamp(): void;
42
92
  private checkLoginStatus;
43
93
  private userLoginFunction;
44
- private onLoginResponse;
94
+ onLoginResponse(loginSessionData: Partial<LoginSessionData>): void;
45
95
  handleTokenExpiry(): void;
46
96
  private externalLogin;
47
97
  private getSettings;
48
- private refreshToken;
98
+ private externalRefreshToken;
99
+ private normalizeLoginType;
49
100
  }
50
101
 
51
102
  export declare type CallAddingProgressListener = (callId: string | undefined) => void
52
103
 
53
- declare enum CallStatusEnum {
54
- RINGING = "Ringing",
55
- TALKING = "Talking",
56
- DIALING = "Dialing",
57
- HOLD = "Hold"
104
+ export declare enum CallStatusEnum {
105
+ RINGING = 'Ringing',
106
+ TALKING = 'Talking',
107
+ DIALING = 'Dialing',
108
+ HOLD = 'Hold',
58
109
  }
59
110
 
60
- declare enum CallTypeEnum {
61
- INCOMING = "Incoming",
62
- OUTGOING = "Outgoing"
111
+ export declare enum CallTypeEnum {
112
+ INCOMING = 'Incoming',
113
+ OUTGOING = 'Outgoing',
63
114
  }
64
115
 
65
116
  export declare type changeActiveCallsListener = (event: { [key: string]: string }) => void
@@ -76,67 +127,129 @@ export declare type changeIsMutedListener = (value: boolean) => void
76
127
 
77
128
  export declare type changeMuteWhenJoinListener = (value: boolean) => void
78
129
 
79
- /**
80
- * Base structure for all event types, containing common properties.
81
- */
82
- declare interface CommonEventProperties {
83
- // Error code, 0 indicates no error
84
- errorCode?: number
85
- // Description of the error, "Ok" indicates successful connection
86
- errorDesc?: string
87
- // Server time at the moment of the event
88
- serverTime: number
89
- // Difference in time between server and client
90
- serverTimeOffset: number
91
- }
92
-
93
- export declare interface CustomData {
94
- DoNotCallMeStatus?: string,
95
- DoNotCallMeStatusCode?: DoNotCallMeStatusCodeEnum,
96
- DoNotCallMeTokenName?: string,
97
- DoNotCallMetransactionId?: string,
98
- IsDoNotCallMe?: string
99
- }
100
-
101
- export declare interface Dialer {
102
- campaignID: number,
103
- name: string,
104
- typeID: number,
105
- type: DialerType,
106
- code: string,
107
- calls: unknown,
108
- statistics: unknown
130
+ export declare enum ConnectionStatusEnum {
131
+ CONNECTED = 'connected',
132
+ DISCONNECTED = 'disconnected',
133
+ TRYING_TO_CONNECT = 'tryingToConnect',
109
134
  }
110
135
 
111
- /**
112
- * Data structure for dialer event.
113
- */
114
- declare interface DialerEvent extends CommonEventProperties {
115
- data: Dialer
116
- eventName: EventNameEnum.DIALER
117
- //reason: ExtensionEventReasonEnum // TODO: do research for dialer 'reason' prop
118
- telephonyServerTime?: number
119
- callerID?: string
120
- ivrUniqueId?: string
121
- dialStatus?: string
122
- //cause?: ExtensionHangupCauseEnum // TODO: do research for dialer 'cause' prop
136
+ declare interface CurrentCallEnded extends CurrentCallUTCExtended {
137
+ duration: number
138
+ }
139
+
140
+ declare interface CurrentCallUTCExtended extends ExtensionCall {
141
+ callStarted_UTC: number
142
+ callStarted_UTC_CLIENT: number
143
+ callAnswered_UTC: number
144
+ callAnswered_UTC_CLIENT: number
145
+ }
146
+
147
+ declare type CustomData = {
148
+ /**
149
+ * Is do not call me
150
+ */
151
+ IsDoNotCallMe?: string;
152
+ /**
153
+ * Do not call me status
154
+ */
155
+ DoNotCallMeStatus?: string;
156
+ /**
157
+ * Do not call me token name
158
+ */
159
+ DoNotCallMeTokenName?: string;
160
+ DoNotCallMeStatusCode?: DoNotCallMeStatusCodeEnum;
161
+ /**
162
+ * Do not call me transaction id
163
+ */
164
+ DoNotCallMetransactionId?: string;
165
+ };
166
+
167
+ export declare type CustomDataSDK = CustomData
168
+
169
+ declare type Dialer = {
170
+ /**
171
+ * Code
172
+ */
173
+ code: string;
174
+ /**
175
+ * Name
176
+ */
177
+ name: string;
178
+ type: DialerTypeEnum;
179
+ /**
180
+ * Calls
181
+ */
182
+ calls: string;
183
+ /**
184
+ * Type id
185
+ */
186
+ typeID: number;
187
+ /**
188
+ * Campaign id
189
+ */
190
+ campaignID: number;
191
+ /**
192
+ * Statistics
193
+ */
194
+ statistics: string;
195
+ };
196
+
197
+ declare type DialerEvent = {
198
+ data: Dialer;
199
+ /**
200
+ * callerID
201
+ */
202
+ callerID?: string;
203
+ /**
204
+ * Event name (dialer)
205
+ */
206
+ eventName: string;
207
+ /**
208
+ * dialStatus
209
+ */
210
+ dialStatus?: string;
211
+ /**
212
+ * ivrUniqueId
213
+ */
214
+ ivrUniqueId?: string;
215
+ /**
216
+ * TelephonyServerTime
217
+ */
218
+ telephonyServerTime?: number;
219
+ };
220
+
221
+ export declare type DialerEventSDK = EventTypeData<EventsEnum.DIALER_EVENT>
222
+
223
+ export declare type DialerSDK = Dialer
224
+
225
+ export declare enum DialerTypeEnum {
226
+ AUTOMATIC = 'Automatic',
227
+ IVR = 'IVR',
123
228
  }
124
229
 
125
- declare enum DialerType {
126
- AUTOMATIC = "Automatic",
127
- IVR = "IVR"
230
+ export declare enum DirectionEnum {
231
+ INCOMINC = 'Incoming',
232
+ OUTGOING = 'Outgoing',
233
+ SPY = 'Spy',
234
+ CLICK2CALL = 'Click2Call',
128
235
  }
129
236
 
130
- declare enum DirectionEnum {
131
- INCOMING = "Incoming",
132
- OUTGOING = "Outgoing",
133
- SPY = "Spy",
134
- CLICK2CALL = "Click2call"
237
+ export declare enum DoNotCallMeStatusCodeEnum {
238
+ RESPONSE_FROM_API_VALID = 'RESPONSE_FROM_API_VALID',
239
+ RESPONSE_FROM_API_INVALID = 'RESPONSE_FROM_API_INVALID',
135
240
  }
136
241
 
137
- declare enum DoNotCallMeStatusCodeEnum {
138
- RESPONSE_FROM_API_VALID = "RESPONSE_FROM_API_VALID",
139
- RESPONSE_FROM_API_INVALID = "RESPONSE_FROM_API_INVALID"
242
+ declare type Error_2 = {
243
+ };
244
+
245
+ export declare type ErrorSDK = Error_2
246
+
247
+ /**
248
+ * This type defines a map where each key is an event name, and the value is an array of callback functions associated with that event.
249
+ * This structure is used to manage event listeners for different events
250
+ */
251
+ export declare type EventCallbackListenersMap = {
252
+ [K in EventTypeNames]: Array<EventSpecificCallback<K>>
140
253
  }
141
254
 
142
255
  /**
@@ -144,14 +257,17 @@ declare enum DoNotCallMeStatusCodeEnum {
144
257
  * Each key is an event type name, and the value is a function that takes the specific event data type as an argument.
145
258
  * This registry is used to manage and invoke event-specific callbacks.
146
259
  */
147
- declare type EventCallbackRegistry = {
260
+ export declare type EventCallbackRegistry = {
148
261
  [K in EventTypeNames]: (data: EventDataMap[K]) => void
149
262
  }
150
263
 
264
+ export declare type EventData = EventDataMapExtended[EventsEnum]
265
+
151
266
  /**
152
267
  * Mapping of event names to their respective data structures.
268
+ * The data structures that socket io will send us
153
269
  */
154
- declare interface EventDataMap {
270
+ export declare interface EventDataMap {
155
271
  [EventsEnum.ALL_EXTENSION_STATUS]: AllExtensionStatusEvent
156
272
  [EventsEnum.ALL_DIALER_STATUS]: AllDialersStatusEvent
157
273
  [EventsEnum.ALL_USERS_STATUS]: AllUsersStatusEvent
@@ -162,112 +278,145 @@ declare interface EventDataMap {
162
278
  [EventsEnum.LOGIN_STATUS]: LoginStatusEvent
163
279
  [EventsEnum.KEEP_ALIVE_RESPONSE]: KeepAliveResponseEvent
164
280
  [EventsEnum.ONLINE_STATUS_EVENT]: OnlineStatusEvent
281
+ [EventsEnum.EXTENSIONS_UPDATED]: ExtensionsUpdated
165
282
  }
166
283
 
167
284
  /**
168
- * All the eventNames that can be received from the server. Exists only in EXTENSION_EVENT and QueueEvent
285
+ * Mapping of event names to their respective data structures.
286
+ * The data structures that we will send to the end user, here we can modify the type of events data
169
287
  */
170
- declare enum EventNameEnum {
171
- EXTENSION = "extension",
172
- QUEUE = "queue",
173
- DIALER = "dialer"
288
+ export declare interface EventDataMapExtended extends EventDataMap {
289
+ [EventsEnum.EXTENSION_EVENT]: ExtensionEventExtended
290
+ [EventsEnum.ALL_EXTENSION_STATUS]: AllExtensionStatusEventExtended
291
+ [EventsEnum.QUEUE_EVENT]: QueueEventUTCExtended
292
+ }
293
+
294
+ declare class EventEmitterClass {
295
+ private readonly eventsSdkClass;
296
+ private listeners;
297
+ private allListeners;
298
+ constructor(eventsSdkClass: EventsSdkClass);
299
+ on(event: unknown, callback: unknown): void;
300
+ off<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
301
+ off(event: '*', callback: (data: GenericEventWrapper) => void): void;
302
+ emit<T extends EventTypeNames>(event: T, data: EventTypeData<T>): void;
174
303
  }
175
304
 
176
- /**
177
- * All events that can be received from the server.
178
- */
179
305
  export declare enum EventsEnum {
180
- ALL_DIALER_STATUS = "AllDialersStatus",
181
- ALL_EXTENSION_STATUS = "AllExtensionsStatus",
182
- ALL_USERS_STATUS = "AllUsersStatus",
183
- CONNECT = "connect",
184
- DISCONNECT = "disconnect",
185
- EXTENSION_EVENT = "ExtensionEvent",
186
- KEEP_ALIVE = "keepalive",
187
- KEEP_ALIVE_RESPONSE = "keepaliveResponse",
188
- LOGIN_STATUS = "loginStatus",
189
- LOGIN_SUCCESS = "loginSuccess",
190
- QUEUE_EVENT = "QueueEvent",
191
- ONLINE_STATUS_EVENT = "onlineStatusEvent",
192
- DIALER_EVENT = "DialerEvent"
306
+ ALL_DIALER_STATUS = 'AllDialersStatus',
307
+ ALL_EXTENSION_STATUS = 'AllExtensionsStatus',
308
+ ALL_USERS_STATUS = 'AllUsersStatus',
309
+ CONNECT = 'connect',
310
+ DISCONNECT = 'disconnect',
311
+ CONNECT_ERROR_EVENT = 'connect_error',
312
+ EXTENSION_EVENT = 'ExtensionEvent',
313
+ KEEP_ALIVE = 'keepalive',
314
+ KEEP_ALIVE_RESPONSE = 'keepaliveResponse',
315
+ LOGIN_STATUS = 'loginStatus',
316
+ LOGIN_SUCCESS = 'loginSuccess',
317
+ QUEUE_EVENT = 'QueueEvent',
318
+ ONLINE_STATUS_EVENT = 'onlineStatusEvent',
319
+ DIALER_EVENT = 'DialerEvent',
320
+ EXTENSIONS_UPDATED = 'ExtensionsUpdated',
193
321
  }
194
322
 
195
323
  /**
196
324
  * This is a generic type for callback functions used in event handling.
197
325
  * It takes a generic event name and defines a callback function that receives wrapped socket event data for that specific event.
198
326
  */
199
- declare type EventSpecificCallback<T extends EventTypeNames> = (data: WrappedSocketEvent<T>) => void
327
+ export declare type EventSpecificCallback<T extends EventTypeNames> = (data: WrappedSocketEvent<T>) => void
200
328
 
201
329
  declare class EventsSdkClass {
202
- constructor(options: EventsSdkOptions);
203
- private argumentOptions;
204
- readonly options: EventsSdkOptions;
330
+ readonly options: EventsSdkOptionsMain & EventsSdkOptionsBase;
205
331
  servers: Server[];
206
- server: Server;
207
- socket: any | undefined;
332
+ URLList: string[];
333
+ server: Server | undefined;
334
+ URL: string | undefined;
335
+ socket: SocketTyped | undefined;
336
+ private mainServer;
337
+ private alreadyAttemptedOtherServers;
208
338
  authClass: AuthClass;
209
339
  socketIoClass: SocketIoClass;
210
- reconnectOptions: ReconnectOptions;
211
- retryConnection: DebouncedFuncLeading<(server?: ServerParameter, skipLogin?: boolean) => void>;
212
- private listeners;
213
- private allListeners;
340
+ loggerClass: LoggerClass;
341
+ eventEmitterClass: EventEmitterClass;
342
+ constructor(options: EventsSdkOptionsClient);
214
343
  on<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
215
344
  on(event: '*', callback: (data: GenericEventWrapper) => void): void;
216
- off<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
217
- off(event: '*', callback: (data: GenericEventWrapper) => void): void;
218
- emit<T extends EventTypeNames>(event: T, data: EventTypeData<T>): void;
219
- connect(server?: ServerParameter, skipLogin?: boolean): void;
345
+ emit<T extends ServerEmitEventTypeNames>(event: T, ...args: Parameters<ServerEmitEventCallbackRegistry[T]>): void;
346
+ connect(serverParameter: ServerParameter): void;
220
347
  disconnect(): void;
221
348
  clearKeepAliveInterval(): void;
222
- private findCurrentServer;
223
- private findNextAvailableServer;
224
- private findMaxPriorityServer;
225
- private findMinPriorityServer;
226
- getServerWithHighestPriority(servers: Server[]): Server;
349
+ private findMainServer;
350
+ private findNextServer;
227
351
  init(): Promise<boolean>;
228
- private getServers;
352
+ getCircularReplacer: () => (key: string, value: object) => object | undefined;
353
+ getCurrentMonitorServer(): Server | undefined;
229
354
  }
230
355
  export default EventsSdkClass;
231
356
 
232
- export declare interface EventsSdkOptions {
233
- isNewStack?: boolean;
234
- servers: Server[];
235
- loginUrl: string;
236
- fallbackServer: Server;
237
- refreshTokenUrl: string;
238
- refreshToken?: string;
239
- token: string;
240
- tokenExpiry?: Date;
357
+ export declare interface EventsSdkOptionsBase {
241
358
  loginType: LoginType;
359
+ isNewStack?: boolean;
242
360
  forceNew?: boolean;
243
- reconnectionDelay: number;
244
- reconnectionDelayMax?: number;
245
- maxReconnectAttempts: number;
361
+ servers?: Server[];
362
+ reconnectionDelay?: number;
246
363
  timeout?: number;
247
- keepAliveTimeout: number;
248
- idleInterval?: number;
249
- protocol: string;
250
- transports?: string[];
251
- upgrade?: boolean;
252
- serverFetchStrategy?: string;
253
- serverType?: number;
364
+ keepAliveTimeout?: number;
365
+ protocol?: string;
254
366
  useLogger?: boolean;
255
- loggerSocketConnection?: string;
367
+ loggerSocketConnection?: Socket_2;
256
368
  loggerServer?: string;
257
- loggerConfig?: LoggerConfig;
369
+ loggerConfig?: LoggerOptions;
370
+ loggerConnectOptions?: LoggerConnectOptions;
371
+ storageLoggerInstance?: StorageLogger;
372
+ }
373
+
374
+ export declare type EventsSdkOptionsClient = EventsSdkOptionsUserLogin | EventsSdkOptionsTokenLogin | EventsSdkOptionsOldStack | EventsSdkOptionsNewStack;
375
+
376
+ export declare type EventsSdkOptionsMain = Required<Pick<EventsSdkOptionsOldStack | EventsSdkOptionsNewStack, 'isNewStack' | 'loginUrl' | 'refreshTokenUrl' | 'forceNew' | 'protocol' | 'timeout' | 'loggerConfig' | 'keepAliveTimeout' | 'reconnectionDelay' | 'loggerServer' | 'useLogger'>> & {
377
+ getSettingsUrl?: string;
378
+ token?: string;
379
+ email?: string;
380
+ password?: string;
381
+ storageLoggerInstance?: StorageLogger;
258
382
  loggerConnectOptions?: LoggerConnectOptions;
383
+ loggerSocketConnection?: Socket_2;
384
+ };
385
+
386
+ declare type EventsSdkOptionsNewStack = EventsSdkOptionsBase & {
387
+ isNewStack: true;
388
+ loginUrl?: string;
389
+ refreshTokenUrl?: string;
390
+ getSettingsUrl: string;
391
+ };
392
+
393
+ declare type EventsSdkOptionsOldStack = EventsSdkOptionsBase & {
394
+ isNewStack?: false;
395
+ loginUrl?: string;
396
+ refreshTokenUrl?: string;
397
+ };
398
+
399
+ declare type EventsSdkOptionsTokenLogin = EventsSdkOptionsBase & {
400
+ loginType: LoginType.TOKEN;
401
+ token: string;
402
+ };
403
+
404
+ declare type EventsSdkOptionsUserLogin = EventsSdkOptionsBase & {
405
+ loginType: LoginType.USER;
259
406
  email: string;
260
407
  password: string;
261
- username: string;
262
- }
408
+ };
263
409
 
264
- declare type EventTypeData<T extends EventsEnum> = EventDataMap[T]
410
+ /**
411
+ * The structure of event data for a specific event type.
412
+ */
413
+ export declare type EventTypeData<T extends EventsEnum> = EventDataMapExtended[T]
265
414
 
266
415
  /**
267
416
  * Represents the set of all possible event type names as keys from the EventDataMap.
268
417
  * This type is used to define event listeners and handlers.
269
418
  */
270
- declare type EventTypeNames = keyof EventDataMap
419
+ export declare type EventTypeNames = keyof EventDataMap
271
420
 
272
421
  /**
273
422
  * Represents Event Types in Enum
@@ -308,96 +457,267 @@ export declare enum EventTypesEnum {
308
457
  * This type represents a mapping of listener event names to their corresponding wrapped socket event data structures.
309
458
  * Each key is an event name, and the value is the wrapped socket event data for that event
310
459
  */
311
- declare type EventWrappedSocketDataMap = {
460
+ export declare type EventWrappedSocketDataMap = {
312
461
  [K in EventTypeNames]: WrappedSocketEvent<K>
313
462
  }
314
463
 
315
- export declare interface Extension {
316
- calls: ExtensionCall[],
317
- userID: number,
318
- userName: string,
319
- number: number,
320
- extenUser: string,
321
- accountID: number,
322
- topAccountID: number,
323
- summery: Summery,
324
- onlineUserID: number,
325
- representative: number,
326
- representativeStatus: number,
327
- lastCallEventEpoch: number,
328
- lastAnsweredCallEventEpoch: number,
329
- lastHangupCallEpoch: number,
330
- representativeUpdated: number,
331
- peerStatus: unknown,
332
- currentCall?: ExtensionCall,
333
- }
334
-
335
- export declare interface ExtensionCall {
336
- callStarted: number,
337
- calldurationinterval: number,
338
- callAnswered: number,
339
- answered: number,
340
- callername: string,
341
- callerphone: string,
342
- outgoingcallername?: string,
343
- outgoingcallerphone?: string,
344
- callstatus: CallStatusEnum,
345
- customdata: CustomData,
346
- direction: DirectionEnum,
347
- ivrid: string,
348
- recording: Recording,
349
- did: string,
350
- relatedIvrUniqueIDs?: string[],
351
- callType?: CallTypeEnum,
352
- ip: string,
353
- isInternal: boolean
354
- blcServerID: number,
355
- isOpensips: boolean,
356
- channel: string,
357
- channel2: string,
358
- queueID?: number,
359
- isSpyed?: boolean,
360
- blcServerId?: number,
361
- originalCallerID?: string,
362
- originalCallerName?: string,
363
- actualDialedNumber?: number
464
+ declare type Extension = {
465
+ calls: Array<ExtensionCall>;
466
+ /**
467
+ * Number
468
+ */
469
+ number: number;
470
+ /**
471
+ * User id
472
+ */
473
+ userID: number;
474
+ summery: Summery;
475
+ /**
476
+ * User name
477
+ */
478
+ userName: string;
479
+ /**
480
+ * Account id
481
+ */
482
+ accountID: number;
483
+ /**
484
+ * Exten user
485
+ */
486
+ extenUser: string;
487
+ /**
488
+ * Peer status
489
+ */
490
+ peerStatus: string;
491
+ currentCall?: ExtensionCall;
492
+ /**
493
+ * Online user id
494
+ */
495
+ onlineUserID: number;
496
+ /**
497
+ * Top account id
498
+ */
499
+ topAccountID: number;
500
+ /**
501
+ * Representative
502
+ */
503
+ representative: number;
504
+ /**
505
+ * Last call event epoch
506
+ */
507
+ lastCallEventEpoch: number;
508
+ /**
509
+ * Last hangup call epoch
510
+ */
511
+ lastHangupCallEpoch: number;
512
+ /**
513
+ * Representative status
514
+ */
515
+ representativeStatus: number;
516
+ /**
517
+ * Representative updated
518
+ */
519
+ representativeUpdated: number;
520
+ /**
521
+ * Last answered call event epoch
522
+ */
523
+ lastAnsweredCallEventEpoch: number;
524
+ };
525
+
526
+ declare type ExtensionCall = {
527
+ /**
528
+ * Ip
529
+ */
530
+ ip: string;
531
+ /**
532
+ * Did
533
+ */
534
+ did: string;
535
+ /**
536
+ * Ivr id
537
+ */
538
+ ivrid: string;
539
+ /**
540
+ * Channel
541
+ */
542
+ channel: string;
543
+ /**
544
+ * Is spyed
545
+ */
546
+ isSpyed?: boolean;
547
+ /**
548
+ * Queue id
549
+ */
550
+ queueID?: number;
551
+ /**
552
+ * Answered
553
+ */
554
+ answered: number;
555
+ callType?: CallTypeEnum;
556
+ /**
557
+ * Channel 2
558
+ */
559
+ 'channel 2': string;
560
+ direction: DirectionEnum;
561
+ recording: Recording;
562
+ /**
563
+ * Caller name
564
+ */
565
+ callername: string;
566
+ callstatus: CallStatusEnum;
567
+ customdata: CustomData;
568
+ /**
569
+ * Is internal
570
+ */
571
+ isInternal: boolean;
572
+ /**
573
+ * Is opensips
574
+ */
575
+ isOpensips: boolean;
576
+ /**
577
+ * Blc server id
578
+ */
579
+ blcServerID: number;
580
+ /**
581
+ * Blc server id
582
+ */
583
+ blcServerId?: number;
584
+ /**
585
+ * Call started
586
+ */
587
+ callStarted: number;
588
+ /**
589
+ * Caller phone
590
+ */
591
+ callerphone: string;
592
+ /**
593
+ * Call answered
594
+ */
595
+ callAnswered: number;
596
+ /**
597
+ * Original caller id
598
+ */
599
+ originalCallerID?: string;
600
+ /**
601
+ * Actual dialed number
602
+ */
603
+ actualDialedNumber?: number;
604
+ /**
605
+ * Original caller name
606
+ */
607
+ originalCallerName?: string;
608
+ /**
609
+ * Outgoing caller name
610
+ */
611
+ outgoingcallername?: string;
612
+ /**
613
+ * Outgoing caller phone
614
+ */
615
+ outgoingcallerphone?: string;
616
+ /**
617
+ * Related ivr unique ids
618
+ */
619
+ relatedIvrUniqueIDs?: Array<string>;
620
+ /**
621
+ * Call duration interval
622
+ */
623
+ calldurationinterval: number;
624
+ };
625
+
626
+ export declare type ExtensionCallSDK = CurrentCallUTCExtended | CurrentCallEnded
627
+
628
+ declare interface ExtensionCallsEnded extends ExtensionUTCExtended {
629
+ currentCall?: CurrentCallEnded
630
+ calls?: Array<CurrentCallUTCExtended>
364
631
  }
365
632
 
366
- /**
367
- * Data structure for extension event.
368
- */
369
- declare interface ExtensionEvent extends CommonEventProperties {
370
- data: Extension
371
- eventName: EventNameEnum.EXTENSION
372
- reason: ExtensionEventReasonEnum
373
- telephonyServerTime?: number
374
- callerID?: string
375
- ivrUniqueId?: string
376
- dialStatus?: string
377
- cause?: ExtensionHangupCauseEnum
633
+ declare interface ExtensionCallsUTCExtended extends ExtensionUTCExtended {
634
+ currentCall?: CurrentCallUTCExtended
635
+ calls?: Array<CurrentCallUTCExtended>
378
636
  }
379
637
 
380
- /**
381
- * All the reasons for the extension event, e.g. a new call is ringing or dialing from an extension.
382
- */
383
- declare enum ExtensionEventReasonEnum {
384
- NEW_CALL = "NEWCALL",
385
- ANSWER = "ANSWER",
386
- HOLD = "HOLD",
387
- UNHOLD = "UNHOLD",
388
- HANGUP = "HANGUP",
389
- USER_STATUS_UPDATE = "userStatusUpdate"
390
- }
391
-
392
- declare enum ExtensionHangupCauseEnum {
393
- NORMAL_HANGUP = "Normal hangup",
394
- USER_BUSY = "User busy",
395
- CALL_REJECTED = "Call Rejected",
396
- UNALLOCATED_NUMBER = "Unallocated (unassigned) number",
397
- UNKNOWN = "Unknown",
398
- NO_USER_RESPONDING = "No user responding",
399
- USER_ALERTING = "User alerting, no answer",
400
- ANSWERED_ELSEWHERE = "Answered elsewhere"
638
+ declare type ExtensionEvent = {
639
+ data: Extension;
640
+ cause?: ExtensionHangupCauseEnum;
641
+ reason: ExtensionEventReasonEnum;
642
+ /**
643
+ * Caller id
644
+ */
645
+ callerID?: string;
646
+ /**
647
+ * Event name (extension)
648
+ */
649
+ eventName: string;
650
+ /**
651
+ * Dial status
652
+ */
653
+ dialStatus?: string;
654
+ /**
655
+ * Server time
656
+ */
657
+ servertime: number;
658
+ /**
659
+ * Ivr unique id
660
+ */
661
+ ivrUniqueId?: string;
662
+ /**
663
+ * Server time offset
664
+ */
665
+ servertimeoffset: number;
666
+ /**
667
+ * Telephony server time
668
+ */
669
+ telephonyServerTime?: number;
670
+ };
671
+
672
+ declare interface ExtensionEventEnded extends Omit<ExtensionEvent, 'reason' | 'data'> {
673
+ reason: ExtensionEventReasonEnum.HANGUP
674
+ data: ExtensionCallsEnded
675
+ }
676
+
677
+ declare type ExtensionEventExtended = ExtensionEventUTCExtended | ExtensionEventEnded
678
+
679
+ export declare enum ExtensionEventReasonEnum {
680
+ NEWCALL = 'NEWCALL',
681
+ ANSWER = 'ANSWER',
682
+ HOLD = 'HOLD',
683
+ UNHOLD = 'UNHOLD',
684
+ HANGUP = 'HANGUP',
685
+ USER_STATUS_UPDATE = 'userStatusUpdate',
686
+ }
687
+
688
+ export declare type ExtensionEventSDK = EventTypeData<EventsEnum.EXTENSION_EVENT>
689
+
690
+ declare interface ExtensionEventUTCExtended extends Omit<ExtensionEvent, 'reason' | 'data'> {
691
+ reason: Exclude<ExtensionEventReasonEnum, ExtensionEventReasonEnum.HANGUP>
692
+ data: ExtensionCallsUTCExtended
693
+ }
694
+
695
+ export declare enum ExtensionHangupCauseEnum {
696
+ NORMAL_HANGUP = 'Normal hangup',
697
+ USER_BUSY = 'User busy',
698
+ CALL_REJECTED = 'Call Rejected',
699
+ UNALLOCATED_NUMBER = 'Unallocated (unassigned) number',
700
+ UNKNOWN = 'Unknown',
701
+ NO_USER_RESPONDING = 'No user responding',
702
+ USER_ALERTING = 'User alerting, no answer',
703
+ ANSWERED_ELSEWHERE = 'Answered elsewhere',
704
+ }
705
+
706
+ export declare type ExtensionSDK = ExtensionCallsUTCExtended | ExtensionCallsEnded
707
+
708
+ declare type ExtensionsUpdated = string;
709
+
710
+ export declare type ExtensionsUpdatedSDK = EventTypeData<EventsEnum.EXTENSIONS_UPDATED>
711
+
712
+ declare interface ExtensionUTCExtended extends Extension {
713
+ lastAnsweredCallEventEpoch_UTC: number
714
+ lastAnsweredCallEventEpoch_UTC_CLIENT: number
715
+ lastCallEventEpoch_UTC: number
716
+ lastCallEventEpoch_UTC_CLIENT: number
717
+ lastHangupCallEpoch_UTC: number
718
+ lastHangupCallEpoch_UTC_CLIENT: number
719
+ representativeUpdated_UTC: number
720
+ representativeUpdated_UTC_CLIENT: number
401
721
  }
402
722
 
403
723
  export declare interface ExternalLoginNewStackResponseData {
@@ -426,14 +746,32 @@ export declare interface ExternalLoginResponse<T> {
426
746
  * A generic type that represents the structure of any event data wrapped in a socket event format.
427
747
  * This type is used in the handling of all event types, providing a consistent structure for event data processing.
428
748
  */
429
- declare type GenericEventWrapper = EventWrappedSocketDataMap[EventTypeNames]
430
-
431
- /**
432
- * Data structure for keep alive response event.
433
- */
434
- declare interface KeepAliveResponseEvent extends CommonEventProperties {
435
- isOk: boolean
436
- }
749
+ export declare type GenericEventWrapper = EventWrappedSocketDataMap[EventTypeNames]
750
+
751
+ declare type KeepAliveResponseEvent = {
752
+ /**
753
+ * Is ok
754
+ */
755
+ isOk: boolean;
756
+ /**
757
+ * 0 - Connection was establishing successfully.
758
+ */
759
+ errorCode?: number;
760
+ /**
761
+ * “Ok” - Connection was establishing successfully.
762
+ */
763
+ errorDesc?: string;
764
+ /**
765
+ * Server time at the moment of the event
766
+ */
767
+ serverTime: number;
768
+ /**
769
+ * Difference in time between server and client
770
+ */
771
+ serverTimeOffset: number;
772
+ };
773
+
774
+ export declare type KeepAliveResponseEventSDK = EventTypeData<EventsEnum.KEEP_ALIVE_RESPONSE>
437
775
 
438
776
  export declare type ListenerCallbackFnType<T extends ListenersKeyType> = OpenSIPSEventMap[T]
439
777
 
@@ -441,10 +779,20 @@ export declare type ListenersCallbackFnType = OpenSIPSEventMap[ListenersKeyType]
441
779
 
442
780
  export declare type ListenersKeyType = keyof OpenSIPSEventMap
443
781
 
782
+ declare class LoggerClass {
783
+ private readonly eventsSdkClass;
784
+ constructor(eventsSdkClass: EventsSdkClass);
785
+ private storageLogger;
786
+ init(): void;
787
+ stop(): void;
788
+ log(data: LoggerDataPartial): void;
789
+ sdkInitializedLog(): void;
790
+ }
791
+
444
792
  export declare interface LoggerConfig {
445
793
  logToConsole?: boolean;
446
794
  overloadGlobalConsole?: boolean;
447
- namespace?: string;
795
+ system: string;
448
796
  socketEmitInterval?: number;
449
797
  }
450
798
 
@@ -452,7 +800,9 @@ export declare interface LoggerConnectOptions {
452
800
  reconnection?: boolean;
453
801
  reconnectionDelay?: number;
454
802
  reconnectionAttempts?: number;
455
- perMessageDeflate?: boolean;
803
+ perMessageDeflate?: {
804
+ threshold: number;
805
+ };
456
806
  upgrade?: boolean;
457
807
  transports?: string[];
458
808
  debug?: boolean;
@@ -461,29 +811,68 @@ export declare interface LoggerConnectOptions {
461
811
  export declare interface LoginSessionData extends Settings, ExternalLoginNewStackResponseData, Socket {}
462
812
 
463
813
  export declare interface LoginSessionPayload {
464
- token: string,
465
- email: string,
466
- password: string
467
- }
468
-
469
- /**
470
- * Data structure for login status event.
471
- */
472
- declare interface LoginStatusEvent extends CommonEventProperties {
473
- // Array of Queue objects
474
- queues: Queue[]
814
+ token?: string,
815
+ email?: string,
816
+ password?: string
475
817
  }
476
818
 
477
- declare type LoginSuccessEvent = CommonEventProperties
478
-
479
- declare enum LoginType {
819
+ declare type LoginStatusEvent = {
820
+ queues: Array<Queue>;
821
+ /**
822
+ * 0 - Connection was establishing successfully.
823
+ */
824
+ errorCode?: number;
825
+ /**
826
+ * “Ok” - Connection was establishing successfully.
827
+ */
828
+ errorDesc?: string;
829
+ /**
830
+ * Server time at the moment of the event
831
+ */
832
+ serverTime: number;
833
+ /**
834
+ * Difference in time between server and client
835
+ */
836
+ serverTimeOffset: number;
837
+ };
838
+
839
+ export declare type LoginStatusEventSDK = EventTypeData<EventsEnum.LOGIN_STATUS>
840
+
841
+ declare type LoginSuccessEvent = {
842
+ /**
843
+ * 0 - Connection was establishing successfully.
844
+ */
845
+ errorCode?: number;
846
+ /**
847
+ * “Ok” - Connection was establishing successfully.
848
+ */
849
+ errorDesc?: string;
850
+ /**
851
+ * Server time at the moment of the event
852
+ */
853
+ serverTime: number;
854
+ /**
855
+ * Difference in time between server and client
856
+ */
857
+ serverTimeOffset: number;
858
+ };
859
+
860
+ export declare type LoginSuccessEventSDK = EventTypeData<EventsEnum.LOGIN_SUCCESS>
861
+
862
+ export declare enum LoginType {
480
863
  USER = "User",
481
864
  TOKEN = "Token"
482
865
  }
483
866
 
484
- declare interface OnlineStatusEvent {
485
- isSocketConnected: boolean
486
- }
867
+ declare type OnlineStatusEvent = {
868
+ /**
869
+ * which server sdk trying to connect
870
+ */
871
+ attemptToConnect?: string;
872
+ connectionStatus: ConnectionStatusEnum;
873
+ };
874
+
875
+ export declare type OnlineStatusEventSDK = EventTypeData<EventsEnum.ONLINE_STATUS_EVENT>
487
876
 
488
877
  export declare interface OpenSIPSEventMap {
489
878
  ready: readyListener
@@ -503,63 +892,142 @@ export declare interface OpenSIPSEventMap {
503
892
  changeCallStatus: changeCallStatusListener
504
893
  }
505
894
 
506
- export declare interface Queue {
507
- QueueID: number,
508
- QueueName: string,
509
- Calls: QueueCall[],
510
- UserId?: number,
511
- DistributorID?: number,
512
- IsDistributedQueue?: boolean,
513
- AnsweredAgent?: string,
895
+ declare type Queue = {
896
+ Calls: Array<QueueCall>;
897
+ /**
898
+ * User id
899
+ */
900
+ UserId?: number;
901
+ /**
902
+ * Queue id
903
+ */
904
+ QueueID: number;
905
+ /**
906
+ * Queue name
907
+ */
908
+ QueueName: string;
909
+ /**
910
+ * Answered agent
911
+ */
912
+ AnsweredAgent?: string;
913
+ /**
914
+ * Distributor id
915
+ */
916
+ DistributorID?: number;
917
+ /**
918
+ * Is distributed queue
919
+ */
920
+ IsDistributedQueue?: boolean;
921
+ };
922
+
923
+ declare type QueueCall = {
924
+ /**
925
+ * Ivr id
926
+ */
927
+ ivrid: string;
928
+ /**
929
+ * Caller id
930
+ */
931
+ CallerId: string;
932
+ /**
933
+ * Caller name
934
+ */
935
+ CallerNme: string;
936
+ /**
937
+ * Ivr unique id
938
+ */
939
+ IvrUniqueID: string;
940
+ /**
941
+ * Join timestamp
942
+ */
943
+ JoinTimeStamp: number;
944
+ /**
945
+ * Is distributed queue
946
+ */
947
+ isDistributedQueue?: boolean;
948
+ /**
949
+ * Call duration interval
950
+ */
951
+ calldurationinterval: number;
952
+ };
953
+
954
+ export declare interface QueueCallSDK extends QueueCall {
955
+ JoinTimeStamp_UTC: number
956
+ JoinTimeStamp_UTC_CLIENT: number
514
957
  }
515
958
 
516
- export declare interface QueueCall {
517
- CallerID: string,
518
- CallerName: string,
519
- IvrUniqueID: string,
520
- JoinTimeStamp: number,
521
- calldurationinterval: number,
522
- ivrid: string,
523
- isDistributedQueue?: boolean
959
+ declare type QueueEvent = {
960
+ data: Queue;
961
+ reason: QueueEventReasonEnum;
962
+ /**
963
+ * Event name (queue)
964
+ */
965
+ eventName: string;
966
+ /**
967
+ * Server time
968
+ */
969
+ servertime: number;
970
+ /**
971
+ * Ivr unique id
972
+ */
973
+ ivrUniqueId: string;
974
+ /**
975
+ * Server time offset
976
+ */
977
+ servertimeoffset: number;
978
+ /**
979
+ * Telephony server time
980
+ */
981
+ telephonyServerTime: number;
982
+ };
983
+
984
+ export declare enum QueueEventReasonEnum {
985
+ ANSWER = 'ANSWER',
986
+ ABANDONED = 'ABANDONED',
987
+ EXIT = 'EXIT',
988
+ JOIN = 'JOIN',
524
989
  }
525
990
 
526
- /**
527
- * Data structure for queue event.
528
- */
529
- declare interface QueueEvent extends CommonEventProperties {
530
- eventName: EventNameEnum.QUEUE,
531
- reason: QueueEventReasonEnum,
532
- telephonyServerTime: number,
533
- ivrUniqueId: string,
534
- data: Queue
991
+ export declare type QueueEventSDK = EventTypeData<EventsEnum.QUEUE_EVENT>
992
+
993
+ declare interface QueueEventUTCExtended extends Omit<QueueEvent, 'data'> {
994
+ data: QueueSDK
535
995
  }
536
996
 
537
- declare enum QueueEventReasonEnum {
538
- ANSWER = "ANSWER",
539
- ABANDONED = "ABANDONED",
540
- EXIT = "EXIT",
541
- JOIN = "JOIN"
997
+ export declare interface QueueSDK extends Omit<Queue, 'Calls'> {
998
+ Calls?: Array<QueueCallSDK>
542
999
  }
543
1000
 
544
1001
  export declare type readyListener = (value: boolean) => void
545
1002
 
546
- export declare interface ReconnectOptions {
547
- retryCount: number;
548
- maxReconnectAttempts: number;
549
- reconnectionDelay: number;
550
- minReconnectionDelay: number;
551
- maxReconnectionDelay: number;
552
- }
553
-
554
- export declare interface Recording {
555
- Filename: string,
556
- Options: string,
557
- ApproximateURL: string,
558
- IsMuted: number
559
- }
1003
+ declare type Recording = {
1004
+ /**
1005
+ * Is muted
1006
+ */
1007
+ IsMuted: number;
1008
+ /**
1009
+ * Options
1010
+ */
1011
+ Options: string;
1012
+ /**
1013
+ * Filename
1014
+ */
1015
+ Filename: string;
1016
+ /**
1017
+ * Approximate url
1018
+ */
1019
+ ApproximateURL: string;
1020
+ };
1021
+
1022
+ export declare type RecordingSDK = Recording
560
1023
 
561
1024
  export declare type removeRoomListener = (value: string) => void
562
1025
 
1026
+ declare type Response_2 = {
1027
+ };
1028
+
1029
+ export declare type ResponseSDK = Response_2
1030
+
563
1031
  export declare type RoomDeletedListener = (roomId: number) => void
564
1032
 
565
1033
  export declare interface Server {
@@ -569,10 +1037,33 @@ export declare interface Server {
569
1037
  Version: string;
570
1038
  }
571
1039
 
1040
+ export declare type ServerEmitEventCallbackRegistry = {
1041
+ [K in ServerEmitEventTypeNames]: (data: ServerEmitEventDataMap[K]) => void
1042
+ }
1043
+
1044
+ /**
1045
+ * Mapping of event names to their respective data structures.
1046
+ * The data structures that we can send to the server
1047
+ */
1048
+ export declare interface ServerEmitEventDataMap {
1049
+ [ServerListenerEventsEnum.UPDATE_MONITORED_EXTENSIONS]: UpdateMonitoredExtensionsPayload
1050
+ [ServerListenerEventsEnum.KEEP_ALIVE]: string
1051
+ }
1052
+
1053
+ /**
1054
+ * Represents the set of all possible event type names as keys from the ServerEmitEventDataMap.
1055
+ * This type is used to define event emitters and data.
1056
+ */
1057
+ export declare type ServerEmitEventTypeNames = keyof ServerEmitEventDataMap
1058
+
1059
+ export declare enum ServerListenerEventsEnum {
1060
+ UPDATE_MONITORED_EXTENSIONS = "updateMonitoredExtensions",
1061
+ KEEP_ALIVE = "keepAlive"
1062
+ }
1063
+
572
1064
  export declare enum ServerParameter {
573
- DEFAULT = "default",
574
- NEXT = "next",
575
- PREVIOUS = "previous"
1065
+ MAIN = "main",
1066
+ NEXT = "next"
576
1067
  }
577
1068
 
578
1069
  export declare enum ServerTypesEnum {
@@ -613,37 +1104,68 @@ declare class SocketIoClass {
613
1104
  private connected;
614
1105
  getSocketIoFunction(Client: string): void;
615
1106
  initSocketConnection(): void;
616
- initSocketEvents(): void;
617
1107
  clearKeepAliveInterval(): void;
618
1108
  initKeepAlive(): void;
619
1109
  closeAllConnections(): void;
1110
+ initSocketEvents(): void;
1111
+ private onLoginSuccessEvent;
1112
+ private onQueueEvent;
1113
+ private onExtensionEvent;
1114
+ private onDialerEvent;
1115
+ private onLoginStatusEvent;
1116
+ private onAllExtensionStatus;
1117
+ private onAllDialerStatus;
620
1118
  private onKeepAliveResponse;
1119
+ private onExtensionsUpdatedEvent;
621
1120
  private onConnect;
622
1121
  private onDisconnect;
1122
+ private onConnectError;
623
1123
  }
624
1124
 
625
- export declare type SocketTyped = Socket_2<EventCallbackRegistry, Record<EventsEnum, any>>
1125
+ export declare type SocketTyped = Socket_2<EventCallbackRegistry, ServerEmitEventCallbackRegistry>
626
1126
 
627
- export declare interface Summery {
628
- representative: string
629
- }
1127
+ declare type Summery = {
1128
+ /**
1129
+ * Representative
1130
+ */
1131
+ representative: string;
1132
+ };
1133
+
1134
+ export declare type SummerySDK = Summery
630
1135
 
631
1136
  export declare type TestEventListener = (event: { test: string }) => void
632
1137
 
633
1138
  declare type TypedSocketIo = (...args: Parameters<typeof io>) => SocketTyped;
634
1139
 
635
- export declare type updateRoomListener = (value: string) => void
1140
+ export declare interface UpdateMonitoredExtensionsPayload {
1141
+ extensionsString: string
1142
+ }
636
1143
 
637
- export declare interface User {
638
- userID: number,
639
- userName: string,
640
- accountID: number
1144
+ export declare type updateRoomListener = (value: string) => void
641
1145
 
642
- }
1146
+ declare type User = {
1147
+ /**
1148
+ * User id
1149
+ */
1150
+ userID: number;
1151
+ /**
1152
+ * User name
1153
+ */
1154
+ userName: string;
1155
+ /**
1156
+ * Account id
1157
+ */
1158
+ accountID: number;
1159
+ };
1160
+
1161
+ export declare type UserSDK = User
643
1162
 
644
- declare type WrappedSocketEvent<T extends EventsEnum> = {
1163
+ /**
1164
+ * The structure of received socket events.
1165
+ */
1166
+ export declare type WrappedSocketEvent<T extends EventsEnum> = {
645
1167
  name: T
646
- data: EventDataMap[T]
1168
+ data: EventDataMapExtended[T]
647
1169
  }
648
1170
 
649
1171
  export { }