@homebridge-eufy-security/eufy-security-client 3.7.2-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/.prettierignore/342/200/216 +8 -0
  2. package/.prettierrc +11 -0
  3. package/LICENSE +21 -0
  4. package/README.md +970 -0
  5. package/build/error.d.ts +138 -0
  6. package/build/error.js +190 -0
  7. package/build/error.js.map +1 -0
  8. package/build/eufysecurity.d.ts +180 -0
  9. package/build/eufysecurity.js +3148 -0
  10. package/build/eufysecurity.js.map +1 -0
  11. package/build/http/api.d.ts +119 -0
  12. package/build/http/api.js +1877 -0
  13. package/build/http/api.js.map +1 -0
  14. package/build/http/cache.d.ts +8 -0
  15. package/build/http/cache.js +34 -0
  16. package/build/http/cache.js.map +1 -0
  17. package/build/http/const.d.ts +8 -0
  18. package/build/http/const.js +3054 -0
  19. package/build/http/const.js.map +1 -0
  20. package/build/http/device.d.ts +490 -0
  21. package/build/http/device.js +5256 -0
  22. package/build/http/device.js.map +1 -0
  23. package/build/http/error.d.ts +73 -0
  24. package/build/http/error.js +101 -0
  25. package/build/http/error.js.map +1 -0
  26. package/build/http/index.d.ts +10 -0
  27. package/build/http/index.js +30 -0
  28. package/build/http/index.js.map +1 -0
  29. package/build/http/interfaces.d.ts +248 -0
  30. package/build/http/interfaces.js +3 -0
  31. package/build/http/interfaces.js.map +1 -0
  32. package/build/http/models.d.ts +608 -0
  33. package/build/http/models.js +3 -0
  34. package/build/http/models.js.map +1 -0
  35. package/build/http/parameter.d.ts +7 -0
  36. package/build/http/parameter.js +119 -0
  37. package/build/http/parameter.js.map +1 -0
  38. package/build/http/station.d.ts +382 -0
  39. package/build/http/station.js +15735 -0
  40. package/build/http/station.js.map +1 -0
  41. package/build/http/types.d.ts +1358 -0
  42. package/build/http/types.js +10333 -0
  43. package/build/http/types.js.map +1 -0
  44. package/build/http/utils.d.ts +89 -0
  45. package/build/http/utils.js +916 -0
  46. package/build/http/utils.js.map +1 -0
  47. package/build/index.d.ts +8 -0
  48. package/build/index.js +29 -0
  49. package/build/index.js.map +1 -0
  50. package/build/interfaces.d.ts +147 -0
  51. package/build/interfaces.js +7 -0
  52. package/build/interfaces.js.map +1 -0
  53. package/build/logging.d.ts +36 -0
  54. package/build/logging.js +119 -0
  55. package/build/logging.js.map +1 -0
  56. package/build/mqtt/interface.d.ts +6 -0
  57. package/build/mqtt/interface.js +3 -0
  58. package/build/mqtt/interface.js.map +1 -0
  59. package/build/mqtt/model.d.ts +24 -0
  60. package/build/mqtt/model.js +3 -0
  61. package/build/mqtt/model.js.map +1 -0
  62. package/build/mqtt/mqtt-eufy.crt +79 -0
  63. package/build/mqtt/proto/lock.proto +33 -0
  64. package/build/mqtt/service.d.ts +28 -0
  65. package/build/mqtt/service.js +196 -0
  66. package/build/mqtt/service.js.map +1 -0
  67. package/build/p2p/ble.d.ts +59 -0
  68. package/build/p2p/ble.js +281 -0
  69. package/build/p2p/ble.js.map +1 -0
  70. package/build/p2p/error.d.ts +49 -0
  71. package/build/p2p/error.js +69 -0
  72. package/build/p2p/error.js.map +1 -0
  73. package/build/p2p/index.d.ts +8 -0
  74. package/build/p2p/index.js +28 -0
  75. package/build/p2p/index.js.map +1 -0
  76. package/build/p2p/interfaces.d.ts +423 -0
  77. package/build/p2p/interfaces.js +3 -0
  78. package/build/p2p/interfaces.js.map +1 -0
  79. package/build/p2p/models.d.ts +295 -0
  80. package/build/p2p/models.js +3 -0
  81. package/build/p2p/models.js.map +1 -0
  82. package/build/p2p/session.d.ts +186 -0
  83. package/build/p2p/session.js +3737 -0
  84. package/build/p2p/session.js.map +1 -0
  85. package/build/p2p/talkback.d.ts +8 -0
  86. package/build/p2p/talkback.js +23 -0
  87. package/build/p2p/talkback.js.map +1 -0
  88. package/build/p2p/types.d.ts +1164 -0
  89. package/build/p2p/types.js +1219 -0
  90. package/build/p2p/types.js.map +1 -0
  91. package/build/p2p/utils.d.ts +72 -0
  92. package/build/p2p/utils.js +865 -0
  93. package/build/p2p/utils.js.map +1 -0
  94. package/build/push/client.d.ts +49 -0
  95. package/build/push/client.js +344 -0
  96. package/build/push/client.js.map +1 -0
  97. package/build/push/error.d.ts +73 -0
  98. package/build/push/error.js +101 -0
  99. package/build/push/error.js.map +1 -0
  100. package/build/push/index.d.ts +6 -0
  101. package/build/push/index.js +26 -0
  102. package/build/push/index.js.map +1 -0
  103. package/build/push/interfaces.d.ts +19 -0
  104. package/build/push/interfaces.js +3 -0
  105. package/build/push/interfaces.js.map +1 -0
  106. package/build/push/models.d.ts +328 -0
  107. package/build/push/models.js +38 -0
  108. package/build/push/models.js.map +1 -0
  109. package/build/push/parser.d.ts +25 -0
  110. package/build/push/parser.js +231 -0
  111. package/build/push/parser.js.map +1 -0
  112. package/build/push/proto/checkin.proto +266 -0
  113. package/build/push/proto/mcs.proto +328 -0
  114. package/build/push/service.d.ts +46 -0
  115. package/build/push/service.js +965 -0
  116. package/build/push/service.js.map +1 -0
  117. package/build/push/types.d.ts +220 -0
  118. package/build/push/types.js +244 -0
  119. package/build/push/types.js.map +1 -0
  120. package/build/push/utils.d.ts +7 -0
  121. package/build/push/utils.js +116 -0
  122. package/build/push/utils.js.map +1 -0
  123. package/build/utils.d.ts +115 -0
  124. package/build/utils.js +438 -0
  125. package/build/utils.js.map +1 -0
  126. package/eslint.config.mts +68 -0
  127. package/jest.config.js +14 -0
  128. package/package.json +85 -0
  129. package/scripts/cut_release.sh +31 -0
@@ -0,0 +1,295 @@
1
+ import { PropertyValue } from "../http";
2
+ import { CommandName, PropertyName } from "../http/types";
3
+ import { SmartSafeEventValueDetail } from "../push/models";
4
+ import { CommandType } from "./types";
5
+ export interface Address {
6
+ host: string;
7
+ port: number;
8
+ }
9
+ export interface CmdCameraInfoResponse {
10
+ params: Array<{
11
+ dev_type: number;
12
+ param_type: number;
13
+ param_value: string;
14
+ }>;
15
+ main_sw_version: string;
16
+ sec_sw_version: string;
17
+ db_bypass_str?: Array<{
18
+ channel: number;
19
+ param_type: number;
20
+ param_value: string;
21
+ }>;
22
+ }
23
+ export interface PropertyData {
24
+ name: PropertyName;
25
+ value: PropertyValue;
26
+ }
27
+ export interface CommandData {
28
+ name: CommandName;
29
+ value?: any;
30
+ }
31
+ export interface CustomData {
32
+ property?: PropertyData;
33
+ command?: CommandData;
34
+ onSuccess?: () => void;
35
+ onFailure?: () => void;
36
+ }
37
+ export interface CommandResult {
38
+ customData?: CustomData;
39
+ command_type: CommandType;
40
+ channel: number;
41
+ return_code: number;
42
+ }
43
+ export interface CmdNotifyPayload {
44
+ cmd: number;
45
+ payload: ESLStationP2PThroughData | ESLAdvancedLockStatusNotification | SmartSafeSettingsNotification | SmartSafeStatusNotification | ESLBleV12P2PThroughData | EntrySensorStatus | GarageDoorStatus | StorageInfoHB3 | SmartLockP2PSequenceData | string;
46
+ payloadLen?: number;
47
+ }
48
+ export interface ESLStationP2PThroughData {
49
+ channel?: number;
50
+ lock_cmd: number;
51
+ lock_payload: string;
52
+ seq_num?: number;
53
+ stationSn?: string;
54
+ }
55
+ export interface ESLAdvancedLockStatusNotification {
56
+ code: number;
57
+ slBattery: string;
58
+ slState: string;
59
+ trigger: number;
60
+ }
61
+ export interface ESLAdvancedLockStatusNotificationT8530 extends ESLAdvancedLockStatusNotification {
62
+ slOpenDirection: string;
63
+ }
64
+ export interface SmartSafeSettingsNotification {
65
+ data: string;
66
+ prj_id: number;
67
+ }
68
+ export interface SmartSafeStatusNotification {
69
+ event_type: number;
70
+ event_time: number;
71
+ event_value: number | SmartSafeEventValueDetail;
72
+ }
73
+ export interface SmartSafeNotificationResponse {
74
+ versionCode: number;
75
+ commandCode: number;
76
+ packageFlag: number;
77
+ dataType: number;
78
+ responseCode: number;
79
+ data: Buffer;
80
+ }
81
+ export interface LockAdvancedOnOffRequestBasePayload {
82
+ shortUserId: string;
83
+ slOperation: number;
84
+ userId: string;
85
+ userName: string;
86
+ }
87
+ export interface LockAdvancedOnOffRequestPayload extends LockAdvancedOnOffRequestBasePayload {
88
+ seq_num: number;
89
+ }
90
+ export interface AdvancedLockSetParamsType {
91
+ [index: string]: unknown;
92
+ autoLockTime: number;
93
+ isAutoLock: number;
94
+ isLockNotification: number;
95
+ isNotification: number;
96
+ isOneTouchLock: number;
97
+ isSchedule: number;
98
+ isScramblePasscode: number;
99
+ isUnLockNotification: number;
100
+ isWrongTryProtect: number;
101
+ lockDownTime: number;
102
+ lockSound: number;
103
+ paramType: number;
104
+ scheduleEnd: string;
105
+ scheduleStart: string;
106
+ wrongTryTime: number;
107
+ seq_num: number;
108
+ }
109
+ export interface AdvancedLockSetParamsTypeT8520 {
110
+ [index: string]: unknown;
111
+ autoLockTime: number;
112
+ isAutoLock: number;
113
+ isLockNotification: number;
114
+ isNotification: number;
115
+ isOneTouchLock: number;
116
+ isSchedule: number;
117
+ isScramblePasscode: number;
118
+ isUnLockNotification: number;
119
+ isWrongTryProtect: number;
120
+ lockDownTime: number;
121
+ lockOpenDirection: number;
122
+ lockVolume: number;
123
+ nightVisionEnhance: number;
124
+ openLeftAlarmEnable: number;
125
+ openLeftAlarmScheduleEnd: string;
126
+ openLeftAlarmScheduleStart: string;
127
+ openLeftAlarmScheduled: number;
128
+ openLeftAlarmTimer: number;
129
+ openLeftAlarmWays: number;
130
+ paramType: number;
131
+ scheduleEnd: string;
132
+ scheduleStart: string;
133
+ tamperAlarmEnable: number;
134
+ tamperAlarmScheduleEnd: string;
135
+ tamperAlarmScheduleStart: string;
136
+ tamperAlarmScheduled: number;
137
+ tamperAlarmWays: number;
138
+ wrongTryTime: number;
139
+ }
140
+ export interface LockP2PCommandType {
141
+ commandType: CommandType;
142
+ value: string;
143
+ channel: number;
144
+ aesKey: string;
145
+ }
146
+ export interface LockP2PCommandPayloadType {
147
+ key: string;
148
+ account_id: string;
149
+ cmd: CommandType;
150
+ mChannel: number;
151
+ mValue3: number;
152
+ payload: string;
153
+ }
154
+ export interface ESLBleV12P2PThroughData {
155
+ dev_sn: string;
156
+ lock_payload: string;
157
+ }
158
+ export interface LockV12P2PCommandPayloadType {
159
+ account_id: string;
160
+ cmd: CommandType;
161
+ mChannel: number;
162
+ mValue3: number;
163
+ payload: {
164
+ apiCommand: number;
165
+ lock_payload: string;
166
+ seq_num: number;
167
+ };
168
+ }
169
+ export interface LockV12P2PCommandType {
170
+ commandType: CommandType;
171
+ value: string;
172
+ }
173
+ export interface SmartSafeP2PCommandPayloadType {
174
+ account_id: string;
175
+ cmd: CommandType;
176
+ mChannel: number;
177
+ mValue3: number;
178
+ payload: {
179
+ data: string;
180
+ prj_id: CommandType;
181
+ seq_num: number;
182
+ };
183
+ }
184
+ export interface SmartSafeP2PCommandType {
185
+ commandType: CommandType;
186
+ value: string;
187
+ channel: number;
188
+ }
189
+ export interface CmdDatabaseImageResponse {
190
+ file: string;
191
+ content: string;
192
+ }
193
+ export interface EntrySensorStatus {
194
+ status: number;
195
+ }
196
+ export interface GarageDoorStatus {
197
+ type: number;
198
+ notify_tag: string;
199
+ door_id: number;
200
+ }
201
+ export interface StorageInfoHB3 {
202
+ cmd: number;
203
+ version: number;
204
+ mIntRet: number;
205
+ msg: string;
206
+ old_storage_label: string;
207
+ cur_storage_label: string;
208
+ body: StorageInfoBodyHB3;
209
+ }
210
+ export interface StorageInfoBodyHB3 {
211
+ body_version: number;
212
+ storage_days: number;
213
+ storage_events: number;
214
+ con_video_hours: number;
215
+ format_transaction: string;
216
+ format_errcode: number;
217
+ hdd_info: StorageInfoHdd;
218
+ move_disk_info: StorageInfoMoveDiskInfo;
219
+ emmc_info: StorageInfoEmmc;
220
+ sd_card_info?: StorageInfoSdCard;
221
+ }
222
+ export interface StorageInfoHdd {
223
+ serial_number: string;
224
+ disk_path: string;
225
+ disk_size: number;
226
+ system_size: number;
227
+ disk_used: number;
228
+ video_used: number;
229
+ video_size: number;
230
+ cur_temperate: number;
231
+ parted_status: number;
232
+ work_status: number;
233
+ hdd_label: string;
234
+ health: number;
235
+ device_module: string;
236
+ hdd_type: number;
237
+ }
238
+ export interface StorageInfoMoveDiskInfo {
239
+ disk_path: string;
240
+ disk_size: number;
241
+ disk_used: number;
242
+ part_layout_arr: string[];
243
+ data: string[];
244
+ }
245
+ export interface StorageInfoEmmc {
246
+ disk_nominal: number;
247
+ disk_size: number;
248
+ system_size: number;
249
+ disk_used: number;
250
+ data_used_percent: number;
251
+ swap_size: number;
252
+ video_size: number;
253
+ video_used: number;
254
+ data_partition_size: number;
255
+ eol_percent: number;
256
+ work_status: number;
257
+ health: number;
258
+ }
259
+ export interface StorageInfoSdCard {
260
+ serial_number: string;
261
+ disk_path: string;
262
+ disk_size: number;
263
+ system_size: number;
264
+ disk_used: number;
265
+ video_used: number;
266
+ video_size: number;
267
+ parted_status: number;
268
+ }
269
+ export interface SmartLockP2PCommandPayloadType {
270
+ account_id: string;
271
+ cmd: CommandType;
272
+ mChannel: number;
273
+ mValue3: number;
274
+ payload: {
275
+ apiCommand: number;
276
+ lock_payload: string;
277
+ seq_num: number;
278
+ time: number;
279
+ };
280
+ }
281
+ export interface SmartLockP2PCommandType {
282
+ commandType: CommandType;
283
+ value: string;
284
+ }
285
+ export interface SmartLockP2PThroughData {
286
+ dev_sn: string;
287
+ lock_payload: string;
288
+ time: string;
289
+ }
290
+ export interface SmartLockP2PSequenceData {
291
+ lock_cmd: number;
292
+ seq_num: number;
293
+ dev_sn: string;
294
+ bus_type?: number;
295
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/p2p/models.ts"],"names":[],"mappings":""}
@@ -0,0 +1,186 @@
1
+ import { TypedEmitter } from "tiny-typed-emitter";
2
+ import * as NodeRSA from "node-rsa";
3
+ import { Address, CustomData } from "./models";
4
+ import { CommandType, P2PDataType, P2PConnectionType } from "./types";
5
+ import { P2PClientProtocolEvents, P2PCommand } from "./interfaces";
6
+ import { StationListResponse } from "../http/models";
7
+ import { HTTPApi } from "../http/api";
8
+ export declare class P2PClientProtocol extends TypedEmitter<P2PClientProtocolEvents> {
9
+ private readonly MAX_RETRIES;
10
+ private readonly MAX_COMMAND_RESULT_WAIT;
11
+ private readonly MAX_GATEWAY_COMMAND_RESULT_WAIT;
12
+ private readonly MAX_CONNECTION_TIMEOUT;
13
+ private readonly MAX_AKNOWLEDGE_TIMEOUT;
14
+ private readonly MAX_LOOKUP_TIMEOUT;
15
+ private readonly LOCAL_LOOKUP_RETRY_TIMEOUT;
16
+ private readonly LOOKUP_RETRY_TIMEOUT;
17
+ private readonly LOOKUP2_TIMEOUT;
18
+ private readonly LOOKUP2_RETRY_TIMEOUT;
19
+ private readonly MAX_EXPECTED_SEQNO_WAIT;
20
+ private readonly HEARTBEAT_INTERVAL;
21
+ private readonly MAX_COMMAND_QUEUE_TIMEOUT;
22
+ private readonly AUDIO_CODEC_ANALYZE_TIMEOUT;
23
+ private readonly KEEPALIVE_INTERVAL;
24
+ private readonly ESD_DISCONNECT_TIMEOUT;
25
+ private readonly MAX_STREAM_DATA_WAIT;
26
+ private readonly RESEND_NOT_ACKNOWLEDGED_COMMAND;
27
+ private readonly UDP_RECVBUFFERSIZE_BYTES;
28
+ private readonly MAX_PAYLOAD_BYTES;
29
+ private readonly MAX_PACKET_BYTES;
30
+ private readonly MAX_VIDEO_PACKET_BYTES;
31
+ private readonly P2P_DATA_HEADER_BYTES;
32
+ private readonly MAX_SEQUENCE_NUMBER;
33
+ private readonly LOOP_RUNAWAY_LIMIT;
34
+ private readonly SEQUENCE_PROCESSING_BOUNDARY;
35
+ private socket;
36
+ private binded;
37
+ private connected;
38
+ private connecting;
39
+ private terminating;
40
+ private p2pTurnHandshaking;
41
+ private p2pTurnConfirmed;
42
+ private seqNumber;
43
+ private offsetDataSeqNumber;
44
+ private videoSeqNumber;
45
+ private lockSeqNumber;
46
+ private expectedSeqNo;
47
+ private currentMessageBuilder;
48
+ private currentMessageState;
49
+ private talkbackStream?;
50
+ private downloadTotalBytes;
51
+ private downloadReceivedBytes;
52
+ private cloudAddresses;
53
+ private messageStates;
54
+ private messageVideoStates;
55
+ private sendQueue;
56
+ private connectTimeout?;
57
+ private lookupTimeout?;
58
+ private localLookupRetryTimeout?;
59
+ private lookupRetryTimeout?;
60
+ private lookup2Timeout?;
61
+ private lookup2RetryTimeout?;
62
+ private heartbeatTimeout?;
63
+ private keepaliveTimeout?;
64
+ private esdDisconnectTimeout?;
65
+ private secondaryCommandTimeout?;
66
+ private connectTime;
67
+ private lastPong;
68
+ private lastPongData;
69
+ private connectionType;
70
+ private energySavingDevice;
71
+ private p2pSeqMapping;
72
+ private p2pDataSeqNumber;
73
+ private connectAddress;
74
+ private localIPAddress;
75
+ private preferredIPAddress;
76
+ private listeningPort;
77
+ private dskKey;
78
+ private dskExpiration;
79
+ private deviceSNs;
80
+ private api;
81
+ private rawStation;
82
+ private customDataStaging;
83
+ private lockPublicKey;
84
+ private lockAESKeys;
85
+ private channel;
86
+ private encryption;
87
+ private p2pKey?;
88
+ private enableEmbeddedPKCS1Support;
89
+ constructor(rawStation: StationListResponse, api: HTTPApi, ipAddress?: string, listeningPort?: number, publicKey?: string, enableEmbeddedPKCS1Support?: boolean);
90
+ private _incrementSequence;
91
+ private _isBetween;
92
+ private _wasSequenceNumberAlreadyProcessed;
93
+ private _initialize;
94
+ private initializeMessageBuilder;
95
+ private initializeMessageState;
96
+ private _clearTimeout;
97
+ private _clearMessageStateTimeouts;
98
+ private _clearMessageVideoStateTimeouts;
99
+ private _clearHeartbeatTimeout;
100
+ private _clearKeepaliveTimeout;
101
+ private _clearConnectTimeout;
102
+ private _clearLookupTimeout;
103
+ private _clearLocalLookupRetryTimeout;
104
+ private _clearLookupRetryTimeout;
105
+ private _clearLookup2RetryTimeout;
106
+ private _clearLookup2Timeout;
107
+ private _clearESDDisconnectTimeout;
108
+ private _clearSecondaryCommandTimeout;
109
+ private sendMessage;
110
+ private _disconnected;
111
+ private closeEnergySavingDevice;
112
+ private renewDSKKey;
113
+ private localLookup;
114
+ private cloudLookup;
115
+ private cloudLookup2;
116
+ private cloudLookupWithTurnServer;
117
+ private localLookupByAddress;
118
+ private cloudLookupByAddress;
119
+ private cloudLookupByAddress2;
120
+ private cloudLookupByAddressWithTurnServer;
121
+ isConnected(): boolean;
122
+ private _startConnectTimeout;
123
+ private _connect;
124
+ private lookup;
125
+ connect(host?: string): Promise<void>;
126
+ private sendCamCheck;
127
+ private sendCamCheck2;
128
+ sendPing(address: Address): Promise<void>;
129
+ sendCommandWithIntString(p2pcommand: P2PCommand, customData?: CustomData): void;
130
+ sendCommandWithInt(p2pcommand: P2PCommand, customData?: CustomData): void;
131
+ sendCommandWithStringPayload(p2pcommand: P2PCommand, customData?: CustomData): void;
132
+ sendCommandWithString(p2pcommand: P2PCommand, customData?: CustomData): void;
133
+ sendCommandPing(channel?: number): void;
134
+ sendCommandDevicePing(channel?: number): void;
135
+ sendCommandWithoutData(commandType: CommandType, channel?: number): void;
136
+ private sendQueuedMessage;
137
+ private sendCommand;
138
+ private resendNotAcknowledgedCommand;
139
+ private _sendCommand;
140
+ private handleMsg;
141
+ private parseDataMessage;
142
+ private handleData;
143
+ private isIFrame;
144
+ private waitForStreamData;
145
+ private handleDataBinaryAndVideo;
146
+ private handleDataControl;
147
+ private sendAck;
148
+ private getDataType;
149
+ close(): Promise<void>;
150
+ private getHeartbeatInterval;
151
+ private onClose;
152
+ private onError;
153
+ private scheduleHeartbeat;
154
+ private scheduleP2PKeepalive;
155
+ getDownloadRSAPrivateKey(): NodeRSA;
156
+ setDownloadRSAPrivateKeyPem(pem: string): void;
157
+ getRSAPrivateKey(): NodeRSA | null;
158
+ private initializeStream;
159
+ private endStream;
160
+ private endRTSPStream;
161
+ private emitStreamStartEvent;
162
+ private emitStreamStopEvent;
163
+ isStreaming(channel: number, datatype: P2PDataType): boolean;
164
+ isLiveStreaming(channel: number): boolean;
165
+ private isCurrentlyStreaming;
166
+ isRTSPLiveStreaming(channel: number): boolean;
167
+ isDownloading(channel: number): boolean;
168
+ getLockSequenceNumber(): number;
169
+ incLockSequenceNumber(): number;
170
+ setConnectionType(type: P2PConnectionType): void;
171
+ getConnectionType(): P2PConnectionType;
172
+ isEnergySavingDevice(): boolean;
173
+ private getDSKKeys;
174
+ updateRawStation(value: StationListResponse): void;
175
+ private initializeTalkbackStream;
176
+ private sendTalkbackAudioFrame;
177
+ private onTalkbackStreamClose;
178
+ private onTalkbackStreamError;
179
+ private _sendVideoData;
180
+ isTalkbackOngoing(channel: number): boolean;
181
+ startTalkback(channel?: number): void;
182
+ stopTalkback(channel?: number): void;
183
+ setLockAESKey(commandCode: number, aesKey: string): void;
184
+ getLockAESKey(commandCode: number): string | undefined;
185
+ isConnecting(): boolean;
186
+ }