@matterbridge/core 3.7.10 → 3.8.0-dev-20260524-eed6b4a

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 (52) hide show
  1. package/dist/behaviors/activatedCarbonFilterMonitoringServer.d.ts +5 -2
  2. package/dist/behaviors/bindingServer.js +0 -2
  3. package/dist/behaviors/booleanStateConfigurationServer.d.ts +6 -1
  4. package/dist/behaviors/colorControlServer.d.ts +20 -774
  5. package/dist/behaviors/deviceEnergyManagementServer.d.ts +9 -299
  6. package/dist/behaviors/doorLockServer.d.ts +29 -47
  7. package/dist/behaviors/doorLockServer.js +11 -299
  8. package/dist/behaviors/fanControlServer.d.ts +8 -1
  9. package/dist/behaviors/hepaFilterMonitoringServer.d.ts +5 -2
  10. package/dist/behaviors/smokeCoAlarmServer.d.ts +4 -77
  11. package/dist/behaviors/thermostatServer.d.ts +20 -722
  12. package/dist/behaviors/valveConfigurationAndControlServer.d.ts +4 -1
  13. package/dist/behaviors/windowCoveringServer.d.ts +28 -564
  14. package/dist/clusters/closure-control.d.ts +130 -620
  15. package/dist/clusters/closure-control.js +15 -170
  16. package/dist/clusters/closure-dimension.d.ts +148 -814
  17. package/dist/clusters/closure-dimension.js +15 -202
  18. package/dist/clusters/export.d.ts +1 -3
  19. package/dist/clusters/export.js +1 -3
  20. package/dist/clusters/soil-measurement.d.ts +31 -31
  21. package/dist/clusters/soil-measurement.js +29 -19
  22. package/dist/devices/closure.d.ts +14 -291
  23. package/dist/devices/closure.js +6 -13
  24. package/dist/devices/closurePanel.d.ts +13 -370
  25. package/dist/devices/closurePanel.js +9 -15
  26. package/dist/devices/evse.d.ts +7 -1
  27. package/dist/devices/heatPump.js +5 -5
  28. package/dist/devices/irrigationSystem.js +2 -2
  29. package/dist/devices/microwaveOven.d.ts +5 -76
  30. package/dist/devices/roboticVacuumCleaner.js +5 -5
  31. package/dist/devices/soilSensor.d.ts +0 -15
  32. package/dist/devices/soilSensor.js +4 -20
  33. package/dist/devices/temperatureControl.d.ts +10 -130
  34. package/dist/frontend.js +9 -9
  35. package/dist/helpers.js +0 -8
  36. package/dist/jestutils/jestBroadcastServerSpy.d.ts +2 -2
  37. package/dist/jestutils/jestMatterTest.js +4 -4
  38. package/dist/jestutils/jestMatterbridgeEndpointSpy.d.ts +34 -37
  39. package/dist/jestutils/jestMatterbridgePlatformSpy.d.ts +4 -4
  40. package/dist/jestutils/jestMatterbridgeTest.js +1 -1
  41. package/dist/matter/export.d.ts +11 -0
  42. package/dist/matter/export.js +11 -0
  43. package/dist/matterbridge.d.ts +3 -0
  44. package/dist/matterbridge.js +10 -4
  45. package/dist/matterbridgeDeviceTypes.d.ts +15 -0
  46. package/dist/matterbridgeDeviceTypes.js +305 -162
  47. package/dist/matterbridgeEndpoint.d.ts +35 -25
  48. package/dist/matterbridgeEndpoint.js +6 -7
  49. package/dist/matterbridgeEndpointCommandHandler.d.ts +3 -59
  50. package/dist/matterbridgeEndpointHelpers.d.ts +83 -1382
  51. package/dist/matterbridgeEndpointHelpers.js +20 -5
  52. package/package.json +8 -8
@@ -1,304 +1,14 @@
1
1
  import { DeviceEnergyManagementServer } from '@matter/node/behaviors/device-energy-management';
2
2
  import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-management';
3
- declare const MatterbridgeDeviceEnergyManagementServer_base: import("@matter/node").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<import("@matter/types").ClusterType.Of<{
4
- readonly id: 152;
5
- readonly name: "DeviceEnergyManagement";
6
- readonly revision: 4;
7
- readonly features: {
8
- readonly powerAdjustment: import("@matter/types").BitFlag;
9
- readonly powerForecastReporting: import("@matter/types").BitFlag;
10
- readonly stateForecastReporting: import("@matter/types").BitFlag;
11
- readonly startTimeAdjustment: import("@matter/types").BitFlag;
12
- readonly pausable: import("@matter/types").BitFlag;
13
- readonly forecastAdjustment: import("@matter/types").BitFlag;
14
- readonly constraintBasedAdjustment: import("@matter/types").BitFlag;
15
- };
16
- readonly attributes: {
17
- readonly esaType: import("@matter/types").FixedAttribute<DeviceEnergyManagement.EsaType, any>;
18
- readonly esaCanGenerate: import("@matter/types").FixedAttribute<boolean, any>;
19
- readonly esaState: import("@matter/types").Attribute<DeviceEnergyManagement.EsaState, any>;
20
- readonly absMinPower: import("@matter/types").Attribute<number | bigint, any>;
21
- readonly absMaxPower: import("@matter/types").Attribute<number | bigint, any>;
22
- };
23
- readonly extensions: readonly [{
24
- readonly flags: {
25
- readonly powerAdjustment: true;
26
- };
27
- readonly component: {
28
- readonly attributes: {
29
- readonly powerAdjustmentCapability: import("@matter/types").Attribute<import("@matter/types").TypeFromFields<{
30
- powerAdjustCapability: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
31
- minPower: import("@matter/types").FieldType<number | bigint>;
32
- maxPower: import("@matter/types").FieldType<number | bigint>;
33
- minDuration: import("@matter/types").FieldType<number>;
34
- maxDuration: import("@matter/types").FieldType<number>;
35
- }>[] | null>;
36
- cause: import("@matter/types").FieldType<DeviceEnergyManagement.PowerAdjustReason>;
37
- }> | null, any>;
38
- };
39
- readonly commands: {
40
- readonly powerAdjustRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
41
- power: import("@matter/types").FieldType<number | bigint>;
42
- duration: import("@matter/types").FieldType<number>;
43
- cause: import("@matter/types").FieldType<DeviceEnergyManagement.AdjustmentCause>;
44
- }>, void, any>;
45
- readonly cancelPowerAdjustRequest: import("@matter/types").Command<void, void, any>;
46
- };
47
- readonly events: {
48
- readonly powerAdjustStart: import("@matter/types").Event<void, any>;
49
- readonly powerAdjustEnd: import("@matter/types").Event<import("@matter/types").TypeFromFields<{
50
- cause: import("@matter/types").FieldType<DeviceEnergyManagement.Cause>;
51
- duration: import("@matter/types").FieldType<number>;
52
- energyUse: import("@matter/types").FieldType<number | bigint>;
53
- }>, any>;
54
- };
55
- };
56
- }, {
57
- readonly flags: {
58
- readonly powerForecastReporting: true;
59
- };
60
- readonly component: {
61
- readonly attributes: {
62
- readonly forecast: import("@matter/types").Attribute<import("@matter/types").TypeFromFields<{
63
- forecastId: import("@matter/types").FieldType<number>;
64
- activeSlotNumber: import("@matter/types").FieldType<number | null>;
65
- startTime: import("@matter/types").FieldType<number>;
66
- endTime: import("@matter/types").FieldType<number>;
67
- earliestStartTime: import("@matter/types").OptionalFieldType<number | null>;
68
- latestEndTime: import("@matter/types").OptionalFieldType<number>;
69
- isPausable: import("@matter/types").FieldType<boolean>;
70
- slots: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
71
- minDuration: import("@matter/types").FieldType<number>;
72
- maxDuration: import("@matter/types").FieldType<number>;
73
- defaultDuration: import("@matter/types").FieldType<number>;
74
- elapsedSlotTime: import("@matter/types").FieldType<number>;
75
- remainingSlotTime: import("@matter/types").FieldType<number>;
76
- slotIsPausable: import("@matter/types").OptionalFieldType<boolean>;
77
- minPauseDuration: import("@matter/types").OptionalFieldType<number>;
78
- maxPauseDuration: import("@matter/types").OptionalFieldType<number>;
79
- manufacturerEsaState: import("@matter/types").OptionalFieldType<number>;
80
- nominalPower: import("@matter/types").OptionalFieldType<number | bigint>;
81
- minPower: import("@matter/types").OptionalFieldType<number | bigint>;
82
- maxPower: import("@matter/types").OptionalFieldType<number | bigint>;
83
- nominalEnergy: import("@matter/types").OptionalFieldType<number | bigint>;
84
- costs: import("@matter/types").OptionalFieldType<import("@matter/types").TypeFromFields<{
85
- costType: import("@matter/types").FieldType<DeviceEnergyManagement.CostType>;
86
- value: import("@matter/types").FieldType<number>;
87
- decimalPoints: import("@matter/types").FieldType<number>;
88
- currency: import("@matter/types").OptionalFieldType<number>;
89
- }>[]>;
90
- minPowerAdjustment: import("@matter/types").OptionalFieldType<number | bigint>;
91
- maxPowerAdjustment: import("@matter/types").OptionalFieldType<number | bigint>;
92
- minDurationAdjustment: import("@matter/types").OptionalFieldType<number>;
93
- maxDurationAdjustment: import("@matter/types").OptionalFieldType<number>;
94
- }>[]>;
95
- forecastUpdateReason: import("@matter/types").FieldType<DeviceEnergyManagement.ForecastUpdateReason>;
96
- }> | null, any>;
97
- };
98
- };
99
- }, {
100
- readonly flags: {
101
- readonly stateForecastReporting: true;
102
- };
103
- readonly component: {
104
- readonly attributes: {
105
- readonly forecast: import("@matter/types").Attribute<import("@matter/types").TypeFromFields<{
106
- forecastId: import("@matter/types").FieldType<number>;
107
- activeSlotNumber: import("@matter/types").FieldType<number | null>;
108
- startTime: import("@matter/types").FieldType<number>;
109
- endTime: import("@matter/types").FieldType<number>;
110
- earliestStartTime: import("@matter/types").OptionalFieldType<number | null>;
111
- latestEndTime: import("@matter/types").OptionalFieldType<number>;
112
- isPausable: import("@matter/types").FieldType<boolean>;
113
- slots: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
114
- minDuration: import("@matter/types").FieldType<number>;
115
- maxDuration: import("@matter/types").FieldType<number>;
116
- defaultDuration: import("@matter/types").FieldType<number>;
117
- elapsedSlotTime: import("@matter/types").FieldType<number>;
118
- remainingSlotTime: import("@matter/types").FieldType<number>;
119
- slotIsPausable: import("@matter/types").OptionalFieldType<boolean>;
120
- minPauseDuration: import("@matter/types").OptionalFieldType<number>;
121
- maxPauseDuration: import("@matter/types").OptionalFieldType<number>;
122
- manufacturerEsaState: import("@matter/types").OptionalFieldType<number>;
123
- nominalPower: import("@matter/types").OptionalFieldType<number | bigint>;
124
- minPower: import("@matter/types").OptionalFieldType<number | bigint>;
125
- maxPower: import("@matter/types").OptionalFieldType<number | bigint>;
126
- nominalEnergy: import("@matter/types").OptionalFieldType<number | bigint>;
127
- costs: import("@matter/types").OptionalFieldType<import("@matter/types").TypeFromFields<{
128
- costType: import("@matter/types").FieldType<DeviceEnergyManagement.CostType>;
129
- value: import("@matter/types").FieldType<number>;
130
- decimalPoints: import("@matter/types").FieldType<number>;
131
- currency: import("@matter/types").OptionalFieldType<number>;
132
- }>[]>;
133
- minPowerAdjustment: import("@matter/types").OptionalFieldType<number | bigint>;
134
- maxPowerAdjustment: import("@matter/types").OptionalFieldType<number | bigint>;
135
- minDurationAdjustment: import("@matter/types").OptionalFieldType<number>;
136
- maxDurationAdjustment: import("@matter/types").OptionalFieldType<number>;
137
- }>[]>;
138
- forecastUpdateReason: import("@matter/types").FieldType<DeviceEnergyManagement.ForecastUpdateReason>;
139
- }> | null, any>;
140
- };
141
- };
142
- }, {
143
- readonly flags: {
144
- readonly powerAdjustment: true;
145
- };
146
- readonly component: {
147
- readonly attributes: {
148
- readonly optOutState: import("@matter/types").Attribute<DeviceEnergyManagement.OptOutState, any>;
149
- };
150
- };
151
- }, {
152
- readonly flags: {
153
- readonly startTimeAdjustment: true;
154
- };
155
- readonly component: {
156
- readonly attributes: {
157
- readonly optOutState: import("@matter/types").Attribute<DeviceEnergyManagement.OptOutState, any>;
158
- };
159
- };
160
- }, {
161
- readonly flags: {
162
- readonly pausable: true;
163
- };
164
- readonly component: {
165
- readonly attributes: {
166
- readonly optOutState: import("@matter/types").Attribute<DeviceEnergyManagement.OptOutState, any>;
167
- };
168
- };
169
- }, {
170
- readonly flags: {
171
- readonly forecastAdjustment: true;
172
- };
173
- readonly component: {
174
- readonly attributes: {
175
- readonly optOutState: import("@matter/types").Attribute<DeviceEnergyManagement.OptOutState, any>;
176
- };
177
- };
178
- }, {
179
- readonly flags: {
180
- readonly constraintBasedAdjustment: true;
181
- };
182
- readonly component: {
183
- readonly attributes: {
184
- readonly optOutState: import("@matter/types").Attribute<DeviceEnergyManagement.OptOutState, any>;
185
- };
186
- };
187
- }, {
188
- readonly flags: {
189
- readonly pausable: true;
190
- };
191
- readonly component: {
192
- readonly commands: {
193
- readonly pauseRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
194
- duration: import("@matter/types").FieldType<number>;
195
- cause: import("@matter/types").FieldType<DeviceEnergyManagement.AdjustmentCause>;
196
- }>, void, any>;
197
- readonly resumeRequest: import("@matter/types").Command<void, void, any>;
198
- };
199
- readonly events: {
200
- readonly paused: import("@matter/types").Event<void, any>;
201
- readonly resumed: import("@matter/types").Event<import("@matter/types").TypeFromFields<{
202
- cause: import("@matter/types").FieldType<DeviceEnergyManagement.Cause>;
203
- }>, any>;
204
- };
205
- };
206
- }, {
207
- readonly flags: {
208
- readonly startTimeAdjustment: true;
209
- };
210
- readonly component: {
211
- readonly commands: {
212
- readonly startTimeAdjustRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
213
- requestedStartTime: import("@matter/types").FieldType<number>;
214
- cause: import("@matter/types").FieldType<DeviceEnergyManagement.AdjustmentCause>;
215
- }>, void, any>;
216
- };
217
- };
218
- }, {
219
- readonly flags: {
220
- readonly forecastAdjustment: true;
221
- };
222
- readonly component: {
223
- readonly commands: {
224
- readonly modifyForecastRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
225
- forecastId: import("@matter/types").FieldType<number>;
226
- slotAdjustments: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
227
- slotIndex: import("@matter/types").FieldType<number>;
228
- nominalPower: import("@matter/types").OptionalFieldType<number | bigint>;
229
- duration: import("@matter/types").FieldType<number>;
230
- }>[]>;
231
- cause: import("@matter/types").FieldType<DeviceEnergyManagement.AdjustmentCause>;
232
- }>, void, any>;
233
- };
234
- };
235
- }, {
236
- readonly flags: {
237
- readonly constraintBasedAdjustment: true;
238
- };
239
- readonly component: {
240
- readonly commands: {
241
- readonly requestConstraintBasedForecast: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
242
- constraints: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
243
- startTime: import("@matter/types").FieldType<number>;
244
- duration: import("@matter/types").FieldType<number>;
245
- nominalPower: import("@matter/types").OptionalFieldType<number | bigint>;
246
- maximumEnergy: import("@matter/types").OptionalFieldType<number | bigint>;
247
- loadControl: import("@matter/types").OptionalFieldType<number>;
248
- }>[]>;
249
- cause: import("@matter/types").FieldType<DeviceEnergyManagement.AdjustmentCause>;
250
- }>, void, any>;
251
- };
252
- };
253
- }, {
254
- readonly flags: {
255
- readonly startTimeAdjustment: true;
256
- };
257
- readonly component: {
258
- readonly commands: {
259
- readonly cancelRequest: import("@matter/types").Command<void, void, any>;
260
- };
261
- };
262
- }, {
263
- readonly flags: {
264
- readonly forecastAdjustment: true;
265
- };
266
- readonly component: {
267
- readonly commands: {
268
- readonly cancelRequest: import("@matter/types").Command<void, void, any>;
269
- };
270
- };
271
- }, {
272
- readonly flags: {
273
- readonly constraintBasedAdjustment: true;
274
- };
275
- readonly component: {
276
- readonly commands: {
277
- readonly cancelRequest: import("@matter/types").Command<void, void, any>;
278
- };
279
- };
280
- }, {
281
- readonly flags: {
282
- readonly staTrue: true;
283
- readonly pauTrue: false;
284
- readonly faTrue: false;
285
- readonly conTrue: false;
286
- };
287
- readonly component: false;
288
- }, {
289
- readonly flags: {
290
- readonly powerForecastReporting: true;
291
- readonly stateForecastReporting: true;
292
- };
293
- readonly component: false;
294
- }, {
295
- readonly flags: {
296
- readonly powerForecastReporting: false;
297
- readonly stateForecastReporting: false;
298
- };
299
- readonly component: false;
300
- }];
301
- }>, readonly [DeviceEnergyManagement.Feature.PowerForecastReporting, DeviceEnergyManagement.Feature.PowerAdjustment]>, typeof DeviceEnergyManagementServer, import("@matter/node/behaviors/device-energy-management").DeviceEnergyManagementInterface>;
3
+ declare const MatterbridgeDeviceEnergyManagementServer_base: import("@matter/node").ClusterBehavior.Type<typeof DeviceEnergyManagementServer, import("@matter/types").ClusterType.WithSupportedFeatures<DeviceEnergyManagement, {
4
+ powerAdjustment: true;
5
+ powerForecastReporting: true;
6
+ stateForecastReporting: false;
7
+ startTimeAdjustment: false;
8
+ pausable: false;
9
+ forecastAdjustment: false;
10
+ constraintBasedAdjustment: false;
11
+ }>, import("@matter/types").ClusterType.Concrete, new () => {}, "deviceEnergyManagement">;
302
12
  export declare class MatterbridgeDeviceEnergyManagementServer extends MatterbridgeDeviceEnergyManagementServer_base {
303
13
  powerAdjustRequest(request: DeviceEnergyManagement.PowerAdjustRequest): Promise<void>;
304
14
  cancelPowerAdjustRequest(): Promise<void>;
@@ -1,20 +1,35 @@
1
1
  import { DoorLockServer } from '@matter/node/behaviors/door-lock';
2
2
  import { DoorLock } from '@matter/types/clusters/door-lock';
3
- import { FabricIndex } from '@matter/types/datatype';
4
- declare const MatterbridgeDoorLockServer_base: import("@matter/node").ClusterBehavior.Type<import("@matter/types").ClusterTypeModifier.WithAlterations<import("@matter/types").ClusterComposer.WithFeatures<DoorLock.Cluster, readonly [DoorLock.Feature.User, DoorLock.Feature.PinCredential]>, import("@matter/types").ClusterTypeModifier.ElementFlagAlterations<{
5
- readonly events: {
6
- readonly doorLockAlarm: true;
7
- readonly lockOperation: true;
8
- readonly lockOperationError: true;
9
- };
10
- readonly commands: {
11
- readonly lockDoor: true;
12
- readonly unlockDoor: true;
13
- readonly unlockWithTimeout: true;
14
- };
15
- }>>, import("@matter/node").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<DoorLock.Cluster, readonly [DoorLock.Feature.User, DoorLock.Feature.PinCredential]>, typeof DoorLockServer, import("@matter/node/behaviors/door-lock").DoorLockInterface>, import("@matter/node/behaviors/door-lock").DoorLockInterface>;
3
+ declare const MatterbridgeDoorLockServer_base: import("@matter/node").ClusterBehavior.Type<import("@matter/node").ClusterBehavior.Type<typeof DoorLockServer, import("@matter/types").ClusterType.WithSupportedFeatures<DoorLock, {
4
+ pinCredential: true;
5
+ rfidCredential: false;
6
+ fingerCredentials: false;
7
+ weekDayAccessSchedules: false;
8
+ doorPositionSensor: false;
9
+ faceCredentials: false;
10
+ credentialOverTheAirAccess: false;
11
+ user: true;
12
+ yearDayAccessSchedules: false;
13
+ holidaySchedules: false;
14
+ unbolting: false;
15
+ aliroProvisioning: false;
16
+ aliroBleuwb: false;
17
+ }>, import("@matter/types").ClusterType.Concrete, typeof import("@matter/node/behaviors/door-lock").DoorLockBaseServer.Internal, "doorLock">, import("@matter/types").ClusterType.WithEnabledAttributes<import("@matter/types").ClusterType.WithEnabledEvents<import("@matter/types").ClusterType.WithSupportedFeatures<DoorLock, {
18
+ pinCredential: true;
19
+ rfidCredential: false;
20
+ fingerCredentials: false;
21
+ weekDayAccessSchedules: false;
22
+ doorPositionSensor: false;
23
+ faceCredentials: false;
24
+ credentialOverTheAirAccess: false;
25
+ user: true;
26
+ yearDayAccessSchedules: false;
27
+ holidaySchedules: false;
28
+ unbolting: false;
29
+ aliroProvisioning: false;
30
+ aliroBleuwb: false;
31
+ }>, "doorLockAlarm" | "lockOperation" | "lockOperationError">, never>, import("@matter/types").ClusterType.Concrete, typeof import("@matter/node/behaviors/door-lock").DoorLockBaseServer.Internal, "doorLock">;
16
32
  export declare class MatterbridgeDoorLockServer extends MatterbridgeDoorLockServer_base {
17
- protected internal: MatterbridgeDoorLockServer.Internal;
18
33
  initialize(): Promise<void>;
19
34
  lockDoor(request: DoorLock.LockDoorRequest): Promise<void>;
20
35
  unlockDoor(request: DoorLock.UnlockDoorRequest): Promise<void>;
@@ -25,38 +40,5 @@ export declare class MatterbridgeDoorLockServer extends MatterbridgeDoorLockServ
25
40
  setCredential(request: DoorLock.SetCredentialRequest): Promise<DoorLock.SetCredentialResponse>;
26
41
  getCredentialStatus(request: DoorLock.GetCredentialStatusRequest): Promise<DoorLock.GetCredentialStatusResponse>;
27
42
  clearCredential(request: DoorLock.ClearCredentialRequest): Promise<void>;
28
- private validateUserIndex;
29
- private getNextUserIndex;
30
- private getAccessingFabricIndex;
31
- private getAccessingNodeId;
32
- private getOperationSource;
33
- private getLockDataTypeForCredentialType;
34
- private getCredentialDataIndex;
35
- private getStoredCredentialTypes;
36
- private findStoredCredential;
37
- private getNextOccupiedCredentialIndex;
38
- }
39
- export declare namespace MatterbridgeDoorLockServer {
40
- type StoredCredential = DoorLock.Credential & {
41
- creatorFabricIndex: FabricIndex | null;
42
- lastModifiedFabricIndex: FabricIndex | null;
43
- credentialData: Uint8Array;
44
- };
45
- type StoredUser = {
46
- userIndex: number;
47
- userName: string | null;
48
- userUniqueId: number | null;
49
- userStatus: DoorLock.UserStatus | null;
50
- userType: DoorLock.UserType | null;
51
- credentialRule: DoorLock.CredentialRule | null;
52
- credentials: StoredCredential[] | null;
53
- creatorFabricIndex: FabricIndex | null;
54
- lastModifiedFabricIndex: FabricIndex | null;
55
- };
56
- class Internal {
57
- enableTimeout: boolean;
58
- unlockTimeout: NodeJS.Timeout | undefined;
59
- users: StoredUser[];
60
- }
61
43
  }
62
44
  export {};