edilkamin 1.9.0 → 1.10.1

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,6 +1,6 @@
1
1
  {
2
2
  "name": "edilkamin",
3
- "version": "1.9.0",
3
+ "version": "1.10.1",
4
4
  "description": "",
5
5
  "main": "dist/cjs/src/index.js",
6
6
  "module": "dist/esm/src/index.js",
@@ -20,6 +20,7 @@ const package_json_1 = require("../package.json");
20
20
  const constants_1 = require("./constants");
21
21
  const library_1 = require("./library");
22
22
  const token_storage_1 = require("./token-storage");
23
+ const types_1 = require("./types");
23
24
  const promptPassword = () => {
24
25
  const rl = readline_1.default.createInterface({
25
26
  input: process.stdin,
@@ -164,9 +165,9 @@ const createProgram = () => {
164
165
  getter: (api, jwtToken, mac) => api.getEnvironmentTemperature(jwtToken, mac),
165
166
  },
166
167
  {
167
- commandName: "getTargetTemperature",
168
- description: "Retrieve target temperature",
169
- getter: (api, jwtToken, mac) => api.getTargetTemperature(jwtToken, mac),
168
+ commandName: "getEnvironment1Temperature",
169
+ description: "Retrieve Environment 1 target temperature",
170
+ getter: (api, jwtToken, mac) => api.getEnvironment1Temperature(jwtToken, mac),
170
171
  },
171
172
  {
172
173
  commandName: "getFan1Speed",
@@ -228,6 +229,84 @@ const createProgram = () => {
228
229
  description: "Retrieve estimated pellet autonomy time",
229
230
  getter: (api, jwtToken, mac) => api.getPelletAutonomyTime(jwtToken, mac),
230
231
  },
232
+ // Statistics getters
233
+ {
234
+ commandName: "getTotalCounters",
235
+ description: "Get lifetime operating counters (power-ons, runtime by power level)",
236
+ getter: (api, jwtToken, mac) => api.getTotalCounters(jwtToken, mac),
237
+ },
238
+ {
239
+ commandName: "getServiceCounters",
240
+ description: "Get service counters (runtime since last maintenance)",
241
+ getter: (api, jwtToken, mac) => api.getServiceCounters(jwtToken, mac),
242
+ },
243
+ {
244
+ commandName: "getRegenerationData",
245
+ description: "Get regeneration and maintenance data",
246
+ getter: (api, jwtToken, mac) => api.getRegenerationData(jwtToken, mac),
247
+ },
248
+ {
249
+ commandName: "getServiceTime",
250
+ description: "Get total service time in hours",
251
+ getter: (api, jwtToken, mac) => api.getServiceTime(jwtToken, mac),
252
+ },
253
+ // Analytics getters
254
+ {
255
+ commandName: "getTotalOperatingHours",
256
+ description: "Get total operating hours across all power levels",
257
+ getter: (api, jwtToken, mac) => api.getTotalOperatingHours(jwtToken, mac),
258
+ },
259
+ {
260
+ commandName: "getPowerDistribution",
261
+ description: "Get power level usage distribution as percentages",
262
+ getter: (api, jwtToken, mac) => __awaiter(void 0, void 0, void 0, function* () {
263
+ const result = yield api.getPowerDistribution(jwtToken, mac);
264
+ return {
265
+ p1: `${result.p1.toFixed(1)}%`,
266
+ p2: `${result.p2.toFixed(1)}%`,
267
+ p3: `${result.p3.toFixed(1)}%`,
268
+ p4: `${result.p4.toFixed(1)}%`,
269
+ p5: `${result.p5.toFixed(1)}%`,
270
+ };
271
+ }),
272
+ },
273
+ {
274
+ commandName: "getServiceStatus",
275
+ description: "Get service status including whether maintenance is due",
276
+ getter: (api, jwtToken, mac) => api.getServiceStatus(jwtToken, mac),
277
+ },
278
+ {
279
+ commandName: "getUsageAnalytics",
280
+ description: "Get comprehensive usage analytics in single response",
281
+ getter: (api, jwtToken, mac) => __awaiter(void 0, void 0, void 0, function* () {
282
+ var _a;
283
+ const analytics = yield api.getUsageAnalytics(jwtToken, mac);
284
+ return {
285
+ lifetime: {
286
+ powerOnCount: analytics.totalPowerOns,
287
+ totalOperatingHours: analytics.totalOperatingHours,
288
+ blackoutCount: analytics.blackoutCount,
289
+ },
290
+ powerDistribution: {
291
+ p1: `${analytics.powerDistribution.p1.toFixed(1)}%`,
292
+ p2: `${analytics.powerDistribution.p2.toFixed(1)}%`,
293
+ p3: `${analytics.powerDistribution.p3.toFixed(1)}%`,
294
+ p4: `${analytics.powerDistribution.p4.toFixed(1)}%`,
295
+ p5: `${analytics.powerDistribution.p5.toFixed(1)}%`,
296
+ },
297
+ service: {
298
+ totalServiceHours: analytics.serviceStatus.totalServiceHours,
299
+ hoursSinceLastService: analytics.serviceStatus.hoursSinceService,
300
+ thresholdHours: analytics.serviceStatus.serviceThresholdHours,
301
+ isServiceDue: analytics.serviceStatus.isServiceDue,
302
+ lastMaintenanceDate: ((_a = analytics.lastMaintenanceDate) === null || _a === void 0 ? void 0 : _a.toISOString()) || "Never",
303
+ },
304
+ alarms: {
305
+ totalCount: analytics.alarmCount,
306
+ },
307
+ };
308
+ }),
309
+ },
231
310
  ].forEach(({ commandName, description, getter }) => {
232
311
  addLegacyOption(addMacOption(addAuthOptions(program.command(commandName).description(description)))).action((options) => executeGetter(options, getter));
233
312
  });
@@ -244,9 +323,9 @@ const createProgram = () => {
244
323
  setter: (api, jwtToken, mac, value) => api.setPowerLevel(jwtToken, mac, value),
245
324
  },
246
325
  {
247
- commandName: "setTargetTemperature",
248
- description: "Set the target temperature (degree celsius) for a device",
249
- setter: (api, jwtToken, mac, value) => api.setTargetTemperature(jwtToken, mac, value),
326
+ commandName: "setEnvironment1Temperature",
327
+ description: "Set Environment 1 target temperature (degrees Celsius)",
328
+ setter: (api, jwtToken, mac, value) => api.setEnvironment1Temperature(jwtToken, mac, value),
250
329
  },
251
330
  {
252
331
  commandName: "setFan1Speed",
@@ -311,6 +390,130 @@ const createProgram = () => {
311
390
  ].forEach(({ commandName, description, setter }) => {
312
391
  addLegacyOption(addMacOption(addAuthOptions(program.command(commandName).description(description)).requiredOption("-v, --value <number>", "Value to set", parseFloat))).action((options) => executeSetter(options, setter));
313
392
  });
393
+ // Indexed getter commands (require --index parameter)
394
+ addLegacyOption(addMacOption(addAuthOptions(program
395
+ .command("getFanSpeed")
396
+ .description("Retrieve fan speed by index (1-3)")).requiredOption("-i, --index <number>", "Fan index (1, 2, or 3)", parseInt))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
397
+ const { username, password, mac, index, legacy = false } = options;
398
+ const normalizedMac = mac.replace(/:/g, "");
399
+ const storage = (0, token_storage_1.createFileStorage)();
400
+ (0, library_1.configureAmplify)(storage);
401
+ let jwtToken;
402
+ try {
403
+ jwtToken = yield (0, library_1.getSession)(false, legacy);
404
+ }
405
+ catch (_a) {
406
+ if (!username) {
407
+ throw new Error("No session found. Please provide --username to sign in.");
408
+ }
409
+ const pwd = password || (yield promptPassword());
410
+ jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
411
+ }
412
+ const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
413
+ const api = (0, library_1.configure)(apiUrl);
414
+ const result = yield api.getFanSpeed(jwtToken, normalizedMac, index);
415
+ console.log(JSON.stringify(result, null, 2));
416
+ }));
417
+ addLegacyOption(addMacOption(addAuthOptions(program
418
+ .command("getTargetTemperature")
419
+ .description("Retrieve target temperature by environment index (1-3)")).requiredOption("-i, --index <number>", "Environment index (1, 2, or 3)", parseInt))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
420
+ const { username, password, mac, index, legacy = false } = options;
421
+ const normalizedMac = mac.replace(/:/g, "");
422
+ const storage = (0, token_storage_1.createFileStorage)();
423
+ (0, library_1.configureAmplify)(storage);
424
+ let jwtToken;
425
+ try {
426
+ jwtToken = yield (0, library_1.getSession)(false, legacy);
427
+ }
428
+ catch (_a) {
429
+ if (!username) {
430
+ throw new Error("No session found. Please provide --username to sign in.");
431
+ }
432
+ const pwd = password || (yield promptPassword());
433
+ jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
434
+ }
435
+ const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
436
+ const api = (0, library_1.configure)(apiUrl);
437
+ const result = yield api.getTargetTemperature(jwtToken, normalizedMac, index);
438
+ console.log(JSON.stringify(result, null, 2));
439
+ }));
440
+ // Indexed setter commands (require --index and --value parameters)
441
+ addLegacyOption(addMacOption(addAuthOptions(program
442
+ .command("setFanSpeed")
443
+ .description("Set fan speed by index (1-3)"))
444
+ .requiredOption("-i, --index <number>", "Fan index (1, 2, or 3)", parseInt)
445
+ .requiredOption("-v, --value <number>", "Fan speed (0-5)", parseFloat))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
446
+ const { username, password, mac, index, value, legacy = false } = options;
447
+ const normalizedMac = mac.replace(/:/g, "");
448
+ const storage = (0, token_storage_1.createFileStorage)();
449
+ (0, library_1.configureAmplify)(storage);
450
+ let jwtToken;
451
+ try {
452
+ jwtToken = yield (0, library_1.getSession)(false, legacy);
453
+ }
454
+ catch (_a) {
455
+ if (!username) {
456
+ throw new Error("No session found. Please provide --username to sign in.");
457
+ }
458
+ const pwd = password || (yield promptPassword());
459
+ jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
460
+ }
461
+ const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
462
+ const api = (0, library_1.configure)(apiUrl);
463
+ const result = yield api.setFanSpeed(jwtToken, normalizedMac, index, value);
464
+ console.log(JSON.stringify(result, null, 2));
465
+ }));
466
+ addLegacyOption(addMacOption(addAuthOptions(program
467
+ .command("setTargetTemperature")
468
+ .description("Set target temperature by environment index (1-3)"))
469
+ .requiredOption("-i, --index <number>", "Environment index (1, 2, or 3)", parseInt)
470
+ .requiredOption("-v, --value <number>", "Temperature in degrees Celsius", parseFloat))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
471
+ const { username, password, mac, index, value, legacy = false } = options;
472
+ const normalizedMac = mac.replace(/:/g, "");
473
+ const storage = (0, token_storage_1.createFileStorage)();
474
+ (0, library_1.configureAmplify)(storage);
475
+ let jwtToken;
476
+ try {
477
+ jwtToken = yield (0, library_1.getSession)(false, legacy);
478
+ }
479
+ catch (_a) {
480
+ if (!username) {
481
+ throw new Error("No session found. Please provide --username to sign in.");
482
+ }
483
+ const pwd = password || (yield promptPassword());
484
+ jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
485
+ }
486
+ const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
487
+ const api = (0, library_1.configure)(apiUrl);
488
+ const result = yield api.setTargetTemperature(jwtToken, normalizedMac, index, value);
489
+ console.log(JSON.stringify(result, null, 2));
490
+ }));
491
+ // Alarm history command with human-readable descriptions
492
+ addLegacyOption(addMacOption(addAuthOptions(program
493
+ .command("getAlarmHistory")
494
+ .description("Get alarm history log with human-readable descriptions")))).action((options) => __awaiter(void 0, void 0, void 0, function* () {
495
+ const { username, password, mac, legacy = false } = options;
496
+ const normalizedMac = mac.replace(/:/g, "");
497
+ const storage = (0, token_storage_1.createFileStorage)();
498
+ (0, library_1.configureAmplify)(storage);
499
+ let jwtToken;
500
+ try {
501
+ jwtToken = yield (0, library_1.getSession)(false, legacy);
502
+ }
503
+ catch (_a) {
504
+ if (!username) {
505
+ throw new Error("No session found. Please provide --username to sign in.");
506
+ }
507
+ const pwd = password || (yield promptPassword());
508
+ jwtToken = yield (0, library_1.signIn)(username, pwd, legacy);
509
+ }
510
+ const apiUrl = legacy ? constants_1.OLD_API_URL : constants_1.NEW_API_URL;
511
+ const api = (0, library_1.configure)(apiUrl);
512
+ const result = yield api.getAlarmHistory(jwtToken, normalizedMac);
513
+ // Format alarms with human-readable descriptions
514
+ const formattedAlarms = result.alarms.map((alarm) => (Object.assign(Object.assign({}, alarm), { typeName: types_1.AlarmCode[alarm.type] || "UNKNOWN", description: types_1.AlarmDescriptions[alarm.type] || "Unknown alarm", date: new Date(alarm.timestamp * 1000).toISOString() })));
515
+ console.log(JSON.stringify(Object.assign(Object.assign({}, result), { alarms: formattedAlarms }), null, 2));
516
+ }));
314
517
  // Command: register
315
518
  addLegacyOption(addAuthOptions(program
316
519
  .command("register")
@@ -3,5 +3,6 @@ export { decompressBuffer, isBuffer, processResponse } from "./buffer-utils";
3
3
  export { API_URL, NEW_API_URL, OLD_API_URL } from "./constants";
4
4
  export { configure, getSession, signIn } from "./library";
5
5
  export { serialNumberDisplay, serialNumberFromHex, serialNumberToHex, } from "./serial-utils";
6
- export { BufferEncodedType, CommandsType, DeviceAssociationBody, DeviceAssociationResponse, DeviceInfoRawType, DeviceInfoType, DiscoveredDevice, EditDeviceAssociationBody, StatusType, TemperaturesType, UserParametersType, } from "./types";
7
- export declare const deviceInfo: (jwtToken: string, macAddress: string) => Promise<import("./types").DeviceInfoType>, registerDevice: (jwtToken: string, macAddress: string, serialNumber: string, deviceName?: string, deviceRoom?: string) => Promise<import("./types").DeviceAssociationResponse>, editDevice: (jwtToken: string, macAddress: string, deviceName?: string, deviceRoom?: string) => Promise<import("./types").DeviceAssociationResponse>, setPower: (jwtToken: string, macAddress: string, value: number) => Promise<unknown>, setPowerOff: (jwtToken: string, macAddress: string) => Promise<unknown>, setPowerOn: (jwtToken: string, macAddress: string) => Promise<unknown>, getPower: (jwtToken: string, macAddress: string) => Promise<boolean>, getEnvironmentTemperature: (jwtToken: string, macAddress: string) => Promise<number>, getTargetTemperature: (jwtToken: string, macAddress: string) => Promise<number>, setTargetTemperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
6
+ export { AlarmEntryType, AlarmsLogType, BufferEncodedType, CommandsType, DeviceAssociationBody, DeviceAssociationResponse, DeviceInfoRawType, DeviceInfoType, DiscoveredDevice, EditDeviceAssociationBody, PowerDistributionType, RegenerationDataType, ServiceCountersType, ServiceStatusType, StatusCountersType, StatusType, TemperaturesType, TotalCountersType, UsageAnalyticsType, UserParametersType, } from "./types";
7
+ export { AlarmCode, AlarmDescriptions } from "./types";
8
+ export declare const deviceInfo: (jwtToken: string, macAddress: string) => Promise<import("./types").DeviceInfoType>, registerDevice: (jwtToken: string, macAddress: string, serialNumber: string, deviceName?: string, deviceRoom?: string) => Promise<import("./types").DeviceAssociationResponse>, editDevice: (jwtToken: string, macAddress: string, deviceName?: string, deviceRoom?: string) => Promise<import("./types").DeviceAssociationResponse>, setPower: (jwtToken: string, macAddress: string, value: number) => Promise<unknown>, setPowerOff: (jwtToken: string, macAddress: string) => Promise<unknown>, setPowerOn: (jwtToken: string, macAddress: string) => Promise<unknown>, getPower: (jwtToken: string, macAddress: string) => Promise<boolean>, getEnvironmentTemperature: (jwtToken: string, macAddress: string) => Promise<number>, getTargetTemperature: (jwtToken: string, macAddress: string, envIndex: 1 | 2 | 3) => Promise<number>, setTargetTemperature: (jwtToken: string, macAddress: string, envIndex: 1 | 2 | 3, temperature: number) => Promise<unknown>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.setTargetTemperature = exports.getTargetTemperature = exports.getEnvironmentTemperature = exports.getPower = exports.setPowerOn = exports.setPowerOff = exports.setPower = exports.editDevice = exports.registerDevice = exports.deviceInfo = exports.serialNumberToHex = exports.serialNumberFromHex = exports.serialNumberDisplay = exports.signIn = exports.getSession = exports.configure = exports.OLD_API_URL = exports.NEW_API_URL = exports.API_URL = exports.processResponse = exports.isBuffer = exports.decompressBuffer = exports.bleToWifiMac = void 0;
4
+ exports.setTargetTemperature = exports.getTargetTemperature = exports.getEnvironmentTemperature = exports.getPower = exports.setPowerOn = exports.setPowerOff = exports.setPower = exports.editDevice = exports.registerDevice = exports.deviceInfo = exports.AlarmDescriptions = exports.AlarmCode = exports.serialNumberToHex = exports.serialNumberFromHex = exports.serialNumberDisplay = exports.signIn = exports.getSession = exports.configure = exports.OLD_API_URL = exports.NEW_API_URL = exports.API_URL = exports.processResponse = exports.isBuffer = exports.decompressBuffer = exports.bleToWifiMac = void 0;
5
5
  const library_1 = require("./library");
6
6
  var bluetooth_utils_1 = require("./bluetooth-utils");
7
7
  Object.defineProperty(exports, "bleToWifiMac", { enumerable: true, get: function () { return bluetooth_utils_1.bleToWifiMac; } });
@@ -21,4 +21,7 @@ var serial_utils_1 = require("./serial-utils");
21
21
  Object.defineProperty(exports, "serialNumberDisplay", { enumerable: true, get: function () { return serial_utils_1.serialNumberDisplay; } });
22
22
  Object.defineProperty(exports, "serialNumberFromHex", { enumerable: true, get: function () { return serial_utils_1.serialNumberFromHex; } });
23
23
  Object.defineProperty(exports, "serialNumberToHex", { enumerable: true, get: function () { return serial_utils_1.serialNumberToHex; } });
24
+ var types_1 = require("./types");
25
+ Object.defineProperty(exports, "AlarmCode", { enumerable: true, get: function () { return types_1.AlarmCode; } });
26
+ Object.defineProperty(exports, "AlarmDescriptions", { enumerable: true, get: function () { return types_1.AlarmDescriptions; } });
24
27
  _a = (0, library_1.configure)(), exports.deviceInfo = _a.deviceInfo, exports.registerDevice = _a.registerDevice, exports.editDevice = _a.editDevice, exports.setPower = _a.setPower, exports.setPowerOff = _a.setPowerOff, exports.setPowerOn = _a.setPowerOn, exports.getPower = _a.getPower, exports.getEnvironmentTemperature = _a.getEnvironmentTemperature, exports.getTargetTemperature = _a.getTargetTemperature, exports.setTargetTemperature = _a.setTargetTemperature;
@@ -1,5 +1,5 @@
1
1
  import * as amplifyAuth from "aws-amplify/auth";
2
- import { DeviceAssociationResponse, DeviceInfoType } from "./types";
2
+ import { AlarmsLogType, DeviceAssociationResponse, DeviceInfoType, PowerDistributionType, RegenerationDataType, ServiceCountersType, ServiceStatusType, TotalCountersType, UsageAnalyticsType } from "./types";
3
3
  /**
4
4
  * Generates headers with a JWT token for authenticated requests.
5
5
  * @param {string} jwtToken - The JWT token for authorization.
@@ -50,6 +50,8 @@ declare const configure: (baseURL?: string) => {
50
50
  getPower: (jwtToken: string, macAddress: string) => Promise<boolean>;
51
51
  setPowerLevel: (jwtToken: string, macAddress: string, level: number) => Promise<unknown>;
52
52
  getPowerLevel: (jwtToken: string, macAddress: string) => Promise<number>;
53
+ setFanSpeed: (jwtToken: string, macAddress: string, fanIndex: 1 | 2 | 3, speed: number) => Promise<unknown>;
54
+ getFanSpeed: (jwtToken: string, macAddress: string, fanIndex: 1 | 2 | 3) => Promise<number>;
53
55
  setFan1Speed: (jwtToken: string, macAddress: string, speed: number) => Promise<unknown>;
54
56
  setFan2Speed: (jwtToken: string, macAddress: string, speed: number) => Promise<unknown>;
55
57
  setFan3Speed: (jwtToken: string, macAddress: string, speed: number) => Promise<unknown>;
@@ -65,8 +67,10 @@ declare const configure: (baseURL?: string) => {
65
67
  setAuto: (jwtToken: string, macAddress: string, enabled: boolean) => Promise<unknown>;
66
68
  getAuto: (jwtToken: string, macAddress: string) => Promise<boolean>;
67
69
  getEnvironmentTemperature: (jwtToken: string, macAddress: string) => Promise<number>;
68
- getTargetTemperature: (jwtToken: string, macAddress: string) => Promise<number>;
69
- setTargetTemperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
70
+ getTargetTemperature: (jwtToken: string, macAddress: string, envIndex: 1 | 2 | 3) => Promise<number>;
71
+ setTargetTemperature: (jwtToken: string, macAddress: string, envIndex: 1 | 2 | 3, temperature: number) => Promise<unknown>;
72
+ setEnvironment1Temperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
73
+ getEnvironment1Temperature: (jwtToken: string, macAddress: string) => Promise<number>;
70
74
  setEnvironment2Temperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
71
75
  getEnvironment2Temperature: (jwtToken: string, macAddress: string) => Promise<number>;
72
76
  setEnvironment3Temperature: (jwtToken: string, macAddress: string, temperature: number) => Promise<unknown>;
@@ -77,5 +81,14 @@ declare const configure: (baseURL?: string) => {
77
81
  getLanguage: (jwtToken: string, macAddress: string) => Promise<number>;
78
82
  getPelletInReserve: (jwtToken: string, macAddress: string) => Promise<boolean>;
79
83
  getPelletAutonomyTime: (jwtToken: string, macAddress: string) => Promise<number>;
84
+ getTotalCounters: (jwtToken: string, macAddress: string) => Promise<TotalCountersType>;
85
+ getServiceCounters: (jwtToken: string, macAddress: string) => Promise<ServiceCountersType>;
86
+ getAlarmHistory: (jwtToken: string, macAddress: string) => Promise<AlarmsLogType>;
87
+ getRegenerationData: (jwtToken: string, macAddress: string) => Promise<RegenerationDataType>;
88
+ getServiceTime: (jwtToken: string, macAddress: string) => Promise<number>;
89
+ getTotalOperatingHours: (jwtToken: string, macAddress: string) => Promise<number>;
90
+ getPowerDistribution: (jwtToken: string, macAddress: string) => Promise<PowerDistributionType>;
91
+ getServiceStatus: (jwtToken: string, macAddress: string, thresholdHours?: number) => Promise<ServiceStatusType>;
92
+ getUsageAnalytics: (jwtToken: string, macAddress: string, serviceThreshold?: number) => Promise<UsageAnalyticsType>;
80
93
  };
81
94
  export { configure, configureAmplify, createAuthService, getSession, headers, signIn, };