@seamapi/types 1.113.1 → 1.113.2

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 (58) hide show
  1. package/connect.d.ts +1 -0
  2. package/devicedb.d.ts +1 -0
  3. package/index.d.ts +2 -0
  4. package/lib/seam/connect/enums.d.ts +1 -0
  5. package/lib/seam/connect/index.d.ts +6 -0
  6. package/lib/seam/connect/internal.d.ts +1 -0
  7. package/lib/seam/connect/openapi.d.ts +16823 -0
  8. package/lib/seam/connect/route-types.d.ts +7657 -0
  9. package/lib/seam/connect/stable/model-types.d.ts +1 -0
  10. package/lib/seam/connect/stable/models/connect-webview.d.ts +63 -0
  11. package/lib/seam/connect/stable/models/custom-metadata.d.ts +3 -0
  12. package/lib/seam/connect/stable/models/index.d.ts +2 -0
  13. package/lib/seam/connect/stable/schemas.d.ts +1 -0
  14. package/lib/seam/connect/unstable/index.d.ts +3 -0
  15. package/lib/seam/connect/unstable/model-types.d.ts +1 -0
  16. package/lib/seam/connect/unstable/models/access-codes/index.d.ts +2 -0
  17. package/lib/seam/connect/unstable/models/access-codes/managed-access-code.d.ts +69 -0
  18. package/lib/seam/connect/unstable/models/access-codes/unmanaged-access-code.d.ts +42 -0
  19. package/lib/seam/connect/unstable/models/acs/access_group.d.ts +35 -0
  20. package/lib/seam/connect/unstable/models/acs/credential.d.ts +127 -0
  21. package/lib/seam/connect/unstable/models/acs/credential_pool.d.ts +29 -0
  22. package/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.d.ts +41 -0
  23. package/lib/seam/connect/unstable/models/acs/entrance.d.ts +62 -0
  24. package/lib/seam/connect/unstable/models/acs/index.d.ts +7 -0
  25. package/lib/seam/connect/unstable/models/acs/system.d.ts +35 -0
  26. package/lib/seam/connect/unstable/models/acs/user.d.ts +74 -0
  27. package/lib/seam/connect/unstable/models/capability-properties/access-code.d.ts +93 -0
  28. package/lib/seam/connect/unstable/models/capability-properties/index.d.ts +819 -0
  29. package/lib/seam/connect/unstable/models/capability-properties/lock.d.ts +24 -0
  30. package/lib/seam/connect/unstable/models/capability-properties/thermostat.d.ts +1572 -0
  31. package/lib/seam/connect/unstable/models/devices/capabilities-supported.d.ts +3 -0
  32. package/lib/seam/connect/unstable/models/devices/device-metadata.d.ts +982 -0
  33. package/lib/seam/connect/unstable/models/devices/device-type.d.ts +65 -0
  34. package/lib/seam/connect/unstable/models/devices/index.d.ts +6 -0
  35. package/lib/seam/connect/unstable/models/devices/managed-device.d.ts +3711 -0
  36. package/lib/seam/connect/unstable/models/devices/phone-properties.d.ts +44 -0
  37. package/lib/seam/connect/unstable/models/devices/phone.d.ts +148 -0
  38. package/lib/seam/connect/unstable/models/devices/unmanaged-device.d.ts +188 -0
  39. package/lib/seam/connect/unstable/models/events/access_code_events.d.ts +70 -0
  40. package/lib/seam/connect/unstable/models/events/connected_account_events.d.ts +48 -0
  41. package/lib/seam/connect/unstable/models/events/device_events.d.ts +63 -0
  42. package/lib/seam/connect/unstable/models/events/lock_events.d.ts +42 -0
  43. package/lib/seam/connect/unstable/models/index.d.ts +7 -0
  44. package/lib/seam/connect/unstable/models/network.d.ts +18 -0
  45. package/lib/seam/connect/unstable/models/phone-number.d.ts +2 -0
  46. package/lib/seam/connect/unstable/models/schedule.d.ts +21 -0
  47. package/lib/seam/connect/unstable/models/user-identity.d.ts +30 -0
  48. package/lib/seam/connect/unstable/schemas.d.ts +1 -0
  49. package/lib/seam/devicedb/index.d.ts +5 -0
  50. package/lib/seam/devicedb/models/device-capability.d.ts +21 -0
  51. package/lib/seam/devicedb/models/device-model.d.ts +1064 -0
  52. package/lib/seam/devicedb/models/hardware.d.ts +8 -0
  53. package/lib/seam/devicedb/models/image-reference.d.ts +15 -0
  54. package/lib/seam/devicedb/models/index.d.ts +4 -0
  55. package/lib/seam/devicedb/models/manufacturer.d.ts +84 -0
  56. package/lib/seam/devicedb/route-specs.d.ts +2198 -0
  57. package/lib/seam/devicedb/route-types.d.ts +308 -0
  58. package/package.json +1 -1
@@ -0,0 +1,1064 @@
1
+ import { z } from 'zod';
2
+ export declare const device_category: z.ZodEnum<["smartlock", "sensor", "thermostat", "relay", "intercom", "accessory"]>;
3
+ export type DeviceCategory = z.infer<typeof device_category>;
4
+ export declare const device_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
5
+ export type DeviceConnectionType = z.infer<typeof device_connection_type>;
6
+ export declare const thermostat: z.ZodObject<{
7
+ main_category: z.ZodLiteral<"thermostat">;
8
+ physical_properties: z.ZodObject<{
9
+ available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
10
+ is_heat_pump_compatible: z.ZodBoolean;
11
+ has_occupancy_detection: z.ZodBoolean;
12
+ supports_demand_response: z.ZodBoolean;
13
+ has_humidity_sensor: z.ZodBoolean;
14
+ has_temperature_sensor: z.ZodBoolean;
15
+ supports_emergency_heating_mode: z.ZodBoolean;
16
+ }, "strip", z.ZodTypeAny, {
17
+ has_humidity_sensor: boolean;
18
+ has_temperature_sensor: boolean;
19
+ has_occupancy_detection: boolean;
20
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
21
+ is_heat_pump_compatible: boolean;
22
+ supports_demand_response: boolean;
23
+ supports_emergency_heating_mode: boolean;
24
+ }, {
25
+ has_humidity_sensor: boolean;
26
+ has_temperature_sensor: boolean;
27
+ has_occupancy_detection: boolean;
28
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
29
+ is_heat_pump_compatible: boolean;
30
+ supports_demand_response: boolean;
31
+ supports_emergency_heating_mode: boolean;
32
+ }>;
33
+ software_features: z.ZodObject<{
34
+ can_program_climate_schedules: z.ZodBoolean;
35
+ }, "strip", z.ZodTypeAny, {
36
+ can_program_climate_schedules: boolean;
37
+ }, {
38
+ can_program_climate_schedules: boolean;
39
+ }>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ main_category: "thermostat";
42
+ physical_properties: {
43
+ has_humidity_sensor: boolean;
44
+ has_temperature_sensor: boolean;
45
+ has_occupancy_detection: boolean;
46
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
47
+ is_heat_pump_compatible: boolean;
48
+ supports_demand_response: boolean;
49
+ supports_emergency_heating_mode: boolean;
50
+ };
51
+ software_features: {
52
+ can_program_climate_schedules: boolean;
53
+ };
54
+ }, {
55
+ main_category: "thermostat";
56
+ physical_properties: {
57
+ has_humidity_sensor: boolean;
58
+ has_temperature_sensor: boolean;
59
+ has_occupancy_detection: boolean;
60
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
61
+ is_heat_pump_compatible: boolean;
62
+ supports_demand_response: boolean;
63
+ supports_emergency_heating_mode: boolean;
64
+ };
65
+ software_features: {
66
+ can_program_climate_schedules: boolean;
67
+ };
68
+ }>;
69
+ export type ThermostatProperties = z.infer<typeof thermostat>;
70
+ export declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
71
+ main_category: z.ZodLiteral<"smartlock">;
72
+ physical_properties: z.ZodObject<{
73
+ lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
74
+ has_physical_key: z.ZodBoolean;
75
+ has_camera: z.ZodBoolean;
76
+ }, "strip", z.ZodTypeAny, {
77
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
78
+ has_physical_key: boolean;
79
+ has_camera: boolean;
80
+ }, {
81
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
82
+ has_physical_key: boolean;
83
+ has_camera: boolean;
84
+ }>;
85
+ software_features: z.ZodObject<{
86
+ can_remotely_unlock: z.ZodBoolean;
87
+ can_program_access_codes: z.ZodBoolean;
88
+ can_program_access_schedules: z.ZodBoolean;
89
+ can_program_access_codes_offline: z.ZodBoolean;
90
+ }, "strip", z.ZodTypeAny, {
91
+ can_remotely_unlock: boolean;
92
+ can_program_access_codes: boolean;
93
+ can_program_access_schedules: boolean;
94
+ can_program_access_codes_offline: boolean;
95
+ }, {
96
+ can_remotely_unlock: boolean;
97
+ can_program_access_codes: boolean;
98
+ can_program_access_schedules: boolean;
99
+ can_program_access_codes_offline: boolean;
100
+ }>;
101
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
102
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
103
+ }, "strip", z.ZodTypeAny, {
104
+ main_category: "smartlock";
105
+ physical_properties: {
106
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
107
+ has_physical_key: boolean;
108
+ has_camera: boolean;
109
+ };
110
+ software_features: {
111
+ can_remotely_unlock: boolean;
112
+ can_program_access_codes: boolean;
113
+ can_program_access_schedules: boolean;
114
+ can_program_access_codes_offline: boolean;
115
+ };
116
+ can_remotely_unlock?: true | undefined;
117
+ can_program_online_access_codes?: true | undefined;
118
+ }, {
119
+ main_category: "smartlock";
120
+ physical_properties: {
121
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
122
+ has_physical_key: boolean;
123
+ has_camera: boolean;
124
+ };
125
+ software_features: {
126
+ can_remotely_unlock: boolean;
127
+ can_program_access_codes: boolean;
128
+ can_program_access_schedules: boolean;
129
+ can_program_access_codes_offline: boolean;
130
+ };
131
+ can_remotely_unlock?: true | undefined;
132
+ can_program_online_access_codes?: true | undefined;
133
+ }>, z.ZodObject<{
134
+ main_category: z.ZodLiteral<"sensor">;
135
+ physical_properties: z.ZodObject<{
136
+ has_noise_sensor: z.ZodBoolean;
137
+ has_humidity_sensor: z.ZodBoolean;
138
+ has_temperature_sensor: z.ZodBoolean;
139
+ has_occupancy_detection: z.ZodBoolean;
140
+ }, "strip", z.ZodTypeAny, {
141
+ has_noise_sensor: boolean;
142
+ has_humidity_sensor: boolean;
143
+ has_temperature_sensor: boolean;
144
+ has_occupancy_detection: boolean;
145
+ }, {
146
+ has_noise_sensor: boolean;
147
+ has_humidity_sensor: boolean;
148
+ has_temperature_sensor: boolean;
149
+ has_occupancy_detection: boolean;
150
+ }>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ main_category: "sensor";
153
+ physical_properties: {
154
+ has_noise_sensor: boolean;
155
+ has_humidity_sensor: boolean;
156
+ has_temperature_sensor: boolean;
157
+ has_occupancy_detection: boolean;
158
+ };
159
+ }, {
160
+ main_category: "sensor";
161
+ physical_properties: {
162
+ has_noise_sensor: boolean;
163
+ has_humidity_sensor: boolean;
164
+ has_temperature_sensor: boolean;
165
+ has_occupancy_detection: boolean;
166
+ };
167
+ }>, z.ZodObject<{
168
+ main_category: z.ZodLiteral<"thermostat">;
169
+ physical_properties: z.ZodObject<{
170
+ available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
171
+ is_heat_pump_compatible: z.ZodBoolean;
172
+ has_occupancy_detection: z.ZodBoolean;
173
+ supports_demand_response: z.ZodBoolean;
174
+ has_humidity_sensor: z.ZodBoolean;
175
+ has_temperature_sensor: z.ZodBoolean;
176
+ supports_emergency_heating_mode: z.ZodBoolean;
177
+ }, "strip", z.ZodTypeAny, {
178
+ has_humidity_sensor: boolean;
179
+ has_temperature_sensor: boolean;
180
+ has_occupancy_detection: boolean;
181
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
182
+ is_heat_pump_compatible: boolean;
183
+ supports_demand_response: boolean;
184
+ supports_emergency_heating_mode: boolean;
185
+ }, {
186
+ has_humidity_sensor: boolean;
187
+ has_temperature_sensor: boolean;
188
+ has_occupancy_detection: boolean;
189
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
190
+ is_heat_pump_compatible: boolean;
191
+ supports_demand_response: boolean;
192
+ supports_emergency_heating_mode: boolean;
193
+ }>;
194
+ software_features: z.ZodObject<{
195
+ can_program_climate_schedules: z.ZodBoolean;
196
+ }, "strip", z.ZodTypeAny, {
197
+ can_program_climate_schedules: boolean;
198
+ }, {
199
+ can_program_climate_schedules: boolean;
200
+ }>;
201
+ }, "strip", z.ZodTypeAny, {
202
+ main_category: "thermostat";
203
+ physical_properties: {
204
+ has_humidity_sensor: boolean;
205
+ has_temperature_sensor: boolean;
206
+ has_occupancy_detection: boolean;
207
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
208
+ is_heat_pump_compatible: boolean;
209
+ supports_demand_response: boolean;
210
+ supports_emergency_heating_mode: boolean;
211
+ };
212
+ software_features: {
213
+ can_program_climate_schedules: boolean;
214
+ };
215
+ }, {
216
+ main_category: "thermostat";
217
+ physical_properties: {
218
+ has_humidity_sensor: boolean;
219
+ has_temperature_sensor: boolean;
220
+ has_occupancy_detection: boolean;
221
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
222
+ is_heat_pump_compatible: boolean;
223
+ supports_demand_response: boolean;
224
+ supports_emergency_heating_mode: boolean;
225
+ };
226
+ software_features: {
227
+ can_program_climate_schedules: boolean;
228
+ };
229
+ }>, z.ZodObject<{
230
+ main_category: z.ZodLiteral<"relay">;
231
+ }, "strip", z.ZodTypeAny, {
232
+ main_category: "relay";
233
+ }, {
234
+ main_category: "relay";
235
+ }>, z.ZodObject<{
236
+ main_category: z.ZodLiteral<"intercom">;
237
+ physical_properties: z.ZodObject<{
238
+ has_camera: z.ZodBoolean;
239
+ has_rfid_reader: z.ZodDefault<z.ZodBoolean>;
240
+ has_nfc_reader: z.ZodDefault<z.ZodBoolean>;
241
+ has_wiegand_interface: z.ZodDefault<z.ZodBoolean>;
242
+ }, "strip", z.ZodTypeAny, {
243
+ has_camera: boolean;
244
+ has_rfid_reader: boolean;
245
+ has_nfc_reader: boolean;
246
+ has_wiegand_interface: boolean;
247
+ }, {
248
+ has_camera: boolean;
249
+ has_rfid_reader?: boolean | undefined;
250
+ has_nfc_reader?: boolean | undefined;
251
+ has_wiegand_interface?: boolean | undefined;
252
+ }>;
253
+ software_features: z.ZodObject<{
254
+ can_remotely_unlock: z.ZodBoolean;
255
+ can_program_access_codes: z.ZodBoolean;
256
+ can_unlock_with_face_recognition: z.ZodDefault<z.ZodBoolean>;
257
+ supports_onvif: z.ZodDefault<z.ZodBoolean>;
258
+ }, "strip", z.ZodTypeAny, {
259
+ can_remotely_unlock: boolean;
260
+ can_program_access_codes: boolean;
261
+ can_unlock_with_face_recognition: boolean;
262
+ supports_onvif: boolean;
263
+ }, {
264
+ can_remotely_unlock: boolean;
265
+ can_program_access_codes: boolean;
266
+ can_unlock_with_face_recognition?: boolean | undefined;
267
+ supports_onvif?: boolean | undefined;
268
+ }>;
269
+ }, "strip", z.ZodTypeAny, {
270
+ main_category: "intercom";
271
+ physical_properties: {
272
+ has_camera: boolean;
273
+ has_rfid_reader: boolean;
274
+ has_nfc_reader: boolean;
275
+ has_wiegand_interface: boolean;
276
+ };
277
+ software_features: {
278
+ can_remotely_unlock: boolean;
279
+ can_program_access_codes: boolean;
280
+ can_unlock_with_face_recognition: boolean;
281
+ supports_onvif: boolean;
282
+ };
283
+ }, {
284
+ main_category: "intercom";
285
+ physical_properties: {
286
+ has_camera: boolean;
287
+ has_rfid_reader?: boolean | undefined;
288
+ has_nfc_reader?: boolean | undefined;
289
+ has_wiegand_interface?: boolean | undefined;
290
+ };
291
+ software_features: {
292
+ can_remotely_unlock: boolean;
293
+ can_program_access_codes: boolean;
294
+ can_unlock_with_face_recognition?: boolean | undefined;
295
+ supports_onvif?: boolean | undefined;
296
+ };
297
+ }>, z.ZodObject<{
298
+ main_category: z.ZodLiteral<"accessory">;
299
+ }, "strip", z.ZodTypeAny, {
300
+ main_category: "accessory";
301
+ }, {
302
+ main_category: "accessory";
303
+ }>]>;
304
+ export declare const base_device_model_v1: z.ZodObject<{
305
+ device_model_id: z.ZodString;
306
+ manufacturer: z.ZodObject<Omit<{
307
+ manufacturer_id: z.ZodString;
308
+ display_name: z.ZodString;
309
+ logo: z.ZodOptional<z.ZodObject<{
310
+ url: z.ZodString;
311
+ width: z.ZodNumber;
312
+ height: z.ZodNumber;
313
+ }, "strip", z.ZodTypeAny, {
314
+ height: number;
315
+ width: number;
316
+ url: string;
317
+ }, {
318
+ height: number;
319
+ width: number;
320
+ url: string;
321
+ }>>;
322
+ integration: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
323
+ integration_support_level: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
324
+ is_connect_webview_supported: z.ZodBoolean;
325
+ requires_seam_support_to_add_account: z.ZodBoolean;
326
+ device_model_count: z.ZodNumber;
327
+ annotations: z.ZodArray<z.ZodObject<{
328
+ annotation_code: z.ZodEnum<["subscription_required"]>;
329
+ message: z.ZodString;
330
+ }, "strip", z.ZodTypeAny, {
331
+ message: string;
332
+ annotation_code: "subscription_required";
333
+ }, {
334
+ message: string;
335
+ annotation_code: "subscription_required";
336
+ }>, "many">;
337
+ }, "device_model_count">, "strip", z.ZodTypeAny, {
338
+ display_name: string;
339
+ manufacturer_id: string;
340
+ integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
341
+ integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
342
+ is_connect_webview_supported: boolean;
343
+ requires_seam_support_to_add_account: boolean;
344
+ annotations: {
345
+ message: string;
346
+ annotation_code: "subscription_required";
347
+ }[];
348
+ logo?: {
349
+ height: number;
350
+ width: number;
351
+ url: string;
352
+ } | undefined;
353
+ }, {
354
+ display_name: string;
355
+ manufacturer_id: string;
356
+ integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
357
+ integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
358
+ is_connect_webview_supported: boolean;
359
+ requires_seam_support_to_add_account: boolean;
360
+ annotations: {
361
+ message: string;
362
+ annotation_code: "subscription_required";
363
+ }[];
364
+ logo?: {
365
+ height: number;
366
+ width: number;
367
+ url: string;
368
+ } | undefined;
369
+ }>;
370
+ is_device_supported: z.ZodBoolean;
371
+ display_name: z.ZodString;
372
+ description: z.ZodString;
373
+ product_url: z.ZodOptional<z.ZodString>;
374
+ main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
375
+ hardware: z.ZodObject<{
376
+ has_physical_key: z.ZodOptional<z.ZodBoolean>;
377
+ }, "strip", z.ZodTypeAny, {
378
+ has_physical_key?: boolean | undefined;
379
+ }, {
380
+ has_physical_key?: boolean | undefined;
381
+ }>;
382
+ aesthetic_variants: z.ZodArray<z.ZodObject<{
383
+ slug: z.ZodString;
384
+ display_name: z.ZodString;
385
+ primary_color_hex: z.ZodOptional<z.ZodString>;
386
+ manufacturer_sku: z.ZodOptional<z.ZodString>;
387
+ front_image: z.ZodOptional<z.ZodObject<{
388
+ url: z.ZodString;
389
+ width: z.ZodNumber;
390
+ height: z.ZodNumber;
391
+ }, "strip", z.ZodTypeAny, {
392
+ height: number;
393
+ width: number;
394
+ url: string;
395
+ }, {
396
+ height: number;
397
+ width: number;
398
+ url: string;
399
+ }>>;
400
+ back_image: z.ZodOptional<z.ZodObject<{
401
+ url: z.ZodString;
402
+ width: z.ZodNumber;
403
+ height: z.ZodNumber;
404
+ }, "strip", z.ZodTypeAny, {
405
+ height: number;
406
+ width: number;
407
+ url: string;
408
+ }, {
409
+ height: number;
410
+ width: number;
411
+ url: string;
412
+ }>>;
413
+ images: z.ZodArray<z.ZodObject<{
414
+ url: z.ZodString;
415
+ width: z.ZodNumber;
416
+ height: z.ZodNumber;
417
+ }, "strip", z.ZodTypeAny, {
418
+ height: number;
419
+ width: number;
420
+ url: string;
421
+ }, {
422
+ height: number;
423
+ width: number;
424
+ url: string;
425
+ }>, "many">;
426
+ }, "strip", z.ZodTypeAny, {
427
+ display_name: string;
428
+ slug: string;
429
+ images: {
430
+ height: number;
431
+ width: number;
432
+ url: string;
433
+ }[];
434
+ primary_color_hex?: string | undefined;
435
+ manufacturer_sku?: string | undefined;
436
+ front_image?: {
437
+ height: number;
438
+ width: number;
439
+ url: string;
440
+ } | undefined;
441
+ back_image?: {
442
+ height: number;
443
+ width: number;
444
+ url: string;
445
+ } | undefined;
446
+ }, {
447
+ display_name: string;
448
+ slug: string;
449
+ images: {
450
+ height: number;
451
+ width: number;
452
+ url: string;
453
+ }[];
454
+ primary_color_hex?: string | undefined;
455
+ manufacturer_sku?: string | undefined;
456
+ front_image?: {
457
+ height: number;
458
+ width: number;
459
+ url: string;
460
+ } | undefined;
461
+ back_image?: {
462
+ height: number;
463
+ width: number;
464
+ url: string;
465
+ } | undefined;
466
+ }>, "many">;
467
+ power_sources: z.ZodArray<z.ZodEnum<["battery", "hardwired", "mechanical_harvesting", "wireless", "ethernet"]>, "many">;
468
+ }, "strip", z.ZodTypeAny, {
469
+ description: string;
470
+ display_name: string;
471
+ device_model_id: string;
472
+ manufacturer: {
473
+ display_name: string;
474
+ manufacturer_id: string;
475
+ integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
476
+ integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
477
+ is_connect_webview_supported: boolean;
478
+ requires_seam_support_to_add_account: boolean;
479
+ annotations: {
480
+ message: string;
481
+ annotation_code: "subscription_required";
482
+ }[];
483
+ logo?: {
484
+ height: number;
485
+ width: number;
486
+ url: string;
487
+ } | undefined;
488
+ };
489
+ is_device_supported: boolean;
490
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
491
+ hardware: {
492
+ has_physical_key?: boolean | undefined;
493
+ };
494
+ aesthetic_variants: {
495
+ display_name: string;
496
+ slug: string;
497
+ images: {
498
+ height: number;
499
+ width: number;
500
+ url: string;
501
+ }[];
502
+ primary_color_hex?: string | undefined;
503
+ manufacturer_sku?: string | undefined;
504
+ front_image?: {
505
+ height: number;
506
+ width: number;
507
+ url: string;
508
+ } | undefined;
509
+ back_image?: {
510
+ height: number;
511
+ width: number;
512
+ url: string;
513
+ } | undefined;
514
+ }[];
515
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
516
+ product_url?: string | undefined;
517
+ }, {
518
+ description: string;
519
+ display_name: string;
520
+ device_model_id: string;
521
+ manufacturer: {
522
+ display_name: string;
523
+ manufacturer_id: string;
524
+ integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
525
+ integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
526
+ is_connect_webview_supported: boolean;
527
+ requires_seam_support_to_add_account: boolean;
528
+ annotations: {
529
+ message: string;
530
+ annotation_code: "subscription_required";
531
+ }[];
532
+ logo?: {
533
+ height: number;
534
+ width: number;
535
+ url: string;
536
+ } | undefined;
537
+ };
538
+ is_device_supported: boolean;
539
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
540
+ hardware: {
541
+ has_physical_key?: boolean | undefined;
542
+ };
543
+ aesthetic_variants: {
544
+ display_name: string;
545
+ slug: string;
546
+ images: {
547
+ height: number;
548
+ width: number;
549
+ url: string;
550
+ }[];
551
+ primary_color_hex?: string | undefined;
552
+ manufacturer_sku?: string | undefined;
553
+ front_image?: {
554
+ height: number;
555
+ width: number;
556
+ url: string;
557
+ } | undefined;
558
+ back_image?: {
559
+ height: number;
560
+ width: number;
561
+ url: string;
562
+ } | undefined;
563
+ }[];
564
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
565
+ product_url?: string | undefined;
566
+ }>;
567
+ export type BaseDeviceModel = z.infer<typeof base_device_model_v1>;
568
+ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
569
+ device_model_id: z.ZodString;
570
+ manufacturer: z.ZodObject<Omit<{
571
+ manufacturer_id: z.ZodString;
572
+ display_name: z.ZodString;
573
+ logo: z.ZodOptional<z.ZodObject<{
574
+ url: z.ZodString;
575
+ width: z.ZodNumber;
576
+ height: z.ZodNumber;
577
+ }, "strip", z.ZodTypeAny, {
578
+ height: number;
579
+ width: number;
580
+ url: string;
581
+ }, {
582
+ height: number;
583
+ width: number;
584
+ url: string;
585
+ }>>;
586
+ integration: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
587
+ integration_support_level: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
588
+ is_connect_webview_supported: z.ZodBoolean;
589
+ requires_seam_support_to_add_account: z.ZodBoolean;
590
+ device_model_count: z.ZodNumber;
591
+ annotations: z.ZodArray<z.ZodObject<{
592
+ annotation_code: z.ZodEnum<["subscription_required"]>;
593
+ message: z.ZodString;
594
+ }, "strip", z.ZodTypeAny, {
595
+ message: string;
596
+ annotation_code: "subscription_required";
597
+ }, {
598
+ message: string;
599
+ annotation_code: "subscription_required";
600
+ }>, "many">;
601
+ }, "device_model_count">, "strip", z.ZodTypeAny, {
602
+ display_name: string;
603
+ manufacturer_id: string;
604
+ integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
605
+ integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
606
+ is_connect_webview_supported: boolean;
607
+ requires_seam_support_to_add_account: boolean;
608
+ annotations: {
609
+ message: string;
610
+ annotation_code: "subscription_required";
611
+ }[];
612
+ logo?: {
613
+ height: number;
614
+ width: number;
615
+ url: string;
616
+ } | undefined;
617
+ }, {
618
+ display_name: string;
619
+ manufacturer_id: string;
620
+ integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
621
+ integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
622
+ is_connect_webview_supported: boolean;
623
+ requires_seam_support_to_add_account: boolean;
624
+ annotations: {
625
+ message: string;
626
+ annotation_code: "subscription_required";
627
+ }[];
628
+ logo?: {
629
+ height: number;
630
+ width: number;
631
+ url: string;
632
+ } | undefined;
633
+ }>;
634
+ is_device_supported: z.ZodBoolean;
635
+ display_name: z.ZodString;
636
+ description: z.ZodString;
637
+ product_url: z.ZodOptional<z.ZodString>;
638
+ main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
639
+ hardware: z.ZodObject<{
640
+ has_physical_key: z.ZodOptional<z.ZodBoolean>;
641
+ }, "strip", z.ZodTypeAny, {
642
+ has_physical_key?: boolean | undefined;
643
+ }, {
644
+ has_physical_key?: boolean | undefined;
645
+ }>;
646
+ aesthetic_variants: z.ZodArray<z.ZodObject<{
647
+ slug: z.ZodString;
648
+ display_name: z.ZodString;
649
+ primary_color_hex: z.ZodOptional<z.ZodString>;
650
+ manufacturer_sku: z.ZodOptional<z.ZodString>;
651
+ front_image: z.ZodOptional<z.ZodObject<{
652
+ url: z.ZodString;
653
+ width: z.ZodNumber;
654
+ height: z.ZodNumber;
655
+ }, "strip", z.ZodTypeAny, {
656
+ height: number;
657
+ width: number;
658
+ url: string;
659
+ }, {
660
+ height: number;
661
+ width: number;
662
+ url: string;
663
+ }>>;
664
+ back_image: z.ZodOptional<z.ZodObject<{
665
+ url: z.ZodString;
666
+ width: z.ZodNumber;
667
+ height: z.ZodNumber;
668
+ }, "strip", z.ZodTypeAny, {
669
+ height: number;
670
+ width: number;
671
+ url: string;
672
+ }, {
673
+ height: number;
674
+ width: number;
675
+ url: string;
676
+ }>>;
677
+ images: z.ZodArray<z.ZodObject<{
678
+ url: z.ZodString;
679
+ width: z.ZodNumber;
680
+ height: z.ZodNumber;
681
+ }, "strip", z.ZodTypeAny, {
682
+ height: number;
683
+ width: number;
684
+ url: string;
685
+ }, {
686
+ height: number;
687
+ width: number;
688
+ url: string;
689
+ }>, "many">;
690
+ }, "strip", z.ZodTypeAny, {
691
+ display_name: string;
692
+ slug: string;
693
+ images: {
694
+ height: number;
695
+ width: number;
696
+ url: string;
697
+ }[];
698
+ primary_color_hex?: string | undefined;
699
+ manufacturer_sku?: string | undefined;
700
+ front_image?: {
701
+ height: number;
702
+ width: number;
703
+ url: string;
704
+ } | undefined;
705
+ back_image?: {
706
+ height: number;
707
+ width: number;
708
+ url: string;
709
+ } | undefined;
710
+ }, {
711
+ display_name: string;
712
+ slug: string;
713
+ images: {
714
+ height: number;
715
+ width: number;
716
+ url: string;
717
+ }[];
718
+ primary_color_hex?: string | undefined;
719
+ manufacturer_sku?: string | undefined;
720
+ front_image?: {
721
+ height: number;
722
+ width: number;
723
+ url: string;
724
+ } | undefined;
725
+ back_image?: {
726
+ height: number;
727
+ width: number;
728
+ url: string;
729
+ } | undefined;
730
+ }>, "many">;
731
+ power_sources: z.ZodArray<z.ZodEnum<["battery", "hardwired", "mechanical_harvesting", "wireless", "ethernet"]>, "many">;
732
+ }, "strip", z.ZodTypeAny, {
733
+ description: string;
734
+ display_name: string;
735
+ device_model_id: string;
736
+ manufacturer: {
737
+ display_name: string;
738
+ manufacturer_id: string;
739
+ integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
740
+ integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
741
+ is_connect_webview_supported: boolean;
742
+ requires_seam_support_to_add_account: boolean;
743
+ annotations: {
744
+ message: string;
745
+ annotation_code: "subscription_required";
746
+ }[];
747
+ logo?: {
748
+ height: number;
749
+ width: number;
750
+ url: string;
751
+ } | undefined;
752
+ };
753
+ is_device_supported: boolean;
754
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
755
+ hardware: {
756
+ has_physical_key?: boolean | undefined;
757
+ };
758
+ aesthetic_variants: {
759
+ display_name: string;
760
+ slug: string;
761
+ images: {
762
+ height: number;
763
+ width: number;
764
+ url: string;
765
+ }[];
766
+ primary_color_hex?: string | undefined;
767
+ manufacturer_sku?: string | undefined;
768
+ front_image?: {
769
+ height: number;
770
+ width: number;
771
+ url: string;
772
+ } | undefined;
773
+ back_image?: {
774
+ height: number;
775
+ width: number;
776
+ url: string;
777
+ } | undefined;
778
+ }[];
779
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
780
+ product_url?: string | undefined;
781
+ }, {
782
+ description: string;
783
+ display_name: string;
784
+ device_model_id: string;
785
+ manufacturer: {
786
+ display_name: string;
787
+ manufacturer_id: string;
788
+ integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
789
+ integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
790
+ is_connect_webview_supported: boolean;
791
+ requires_seam_support_to_add_account: boolean;
792
+ annotations: {
793
+ message: string;
794
+ annotation_code: "subscription_required";
795
+ }[];
796
+ logo?: {
797
+ height: number;
798
+ width: number;
799
+ url: string;
800
+ } | undefined;
801
+ };
802
+ is_device_supported: boolean;
803
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
804
+ hardware: {
805
+ has_physical_key?: boolean | undefined;
806
+ };
807
+ aesthetic_variants: {
808
+ display_name: string;
809
+ slug: string;
810
+ images: {
811
+ height: number;
812
+ width: number;
813
+ url: string;
814
+ }[];
815
+ primary_color_hex?: string | undefined;
816
+ manufacturer_sku?: string | undefined;
817
+ front_image?: {
818
+ height: number;
819
+ width: number;
820
+ url: string;
821
+ } | undefined;
822
+ back_image?: {
823
+ height: number;
824
+ width: number;
825
+ url: string;
826
+ } | undefined;
827
+ }[];
828
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
829
+ product_url?: string | undefined;
830
+ }>, z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
831
+ main_category: z.ZodLiteral<"smartlock">;
832
+ physical_properties: z.ZodObject<{
833
+ lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
834
+ has_physical_key: z.ZodBoolean;
835
+ has_camera: z.ZodBoolean;
836
+ }, "strip", z.ZodTypeAny, {
837
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
838
+ has_physical_key: boolean;
839
+ has_camera: boolean;
840
+ }, {
841
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
842
+ has_physical_key: boolean;
843
+ has_camera: boolean;
844
+ }>;
845
+ software_features: z.ZodObject<{
846
+ can_remotely_unlock: z.ZodBoolean;
847
+ can_program_access_codes: z.ZodBoolean;
848
+ can_program_access_schedules: z.ZodBoolean;
849
+ can_program_access_codes_offline: z.ZodBoolean;
850
+ }, "strip", z.ZodTypeAny, {
851
+ can_remotely_unlock: boolean;
852
+ can_program_access_codes: boolean;
853
+ can_program_access_schedules: boolean;
854
+ can_program_access_codes_offline: boolean;
855
+ }, {
856
+ can_remotely_unlock: boolean;
857
+ can_program_access_codes: boolean;
858
+ can_program_access_schedules: boolean;
859
+ can_program_access_codes_offline: boolean;
860
+ }>;
861
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
862
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
863
+ }, "strip", z.ZodTypeAny, {
864
+ main_category: "smartlock";
865
+ physical_properties: {
866
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
867
+ has_physical_key: boolean;
868
+ has_camera: boolean;
869
+ };
870
+ software_features: {
871
+ can_remotely_unlock: boolean;
872
+ can_program_access_codes: boolean;
873
+ can_program_access_schedules: boolean;
874
+ can_program_access_codes_offline: boolean;
875
+ };
876
+ can_remotely_unlock?: true | undefined;
877
+ can_program_online_access_codes?: true | undefined;
878
+ }, {
879
+ main_category: "smartlock";
880
+ physical_properties: {
881
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
882
+ has_physical_key: boolean;
883
+ has_camera: boolean;
884
+ };
885
+ software_features: {
886
+ can_remotely_unlock: boolean;
887
+ can_program_access_codes: boolean;
888
+ can_program_access_schedules: boolean;
889
+ can_program_access_codes_offline: boolean;
890
+ };
891
+ can_remotely_unlock?: true | undefined;
892
+ can_program_online_access_codes?: true | undefined;
893
+ }>, z.ZodObject<{
894
+ main_category: z.ZodLiteral<"sensor">;
895
+ physical_properties: z.ZodObject<{
896
+ has_noise_sensor: z.ZodBoolean;
897
+ has_humidity_sensor: z.ZodBoolean;
898
+ has_temperature_sensor: z.ZodBoolean;
899
+ has_occupancy_detection: z.ZodBoolean;
900
+ }, "strip", z.ZodTypeAny, {
901
+ has_noise_sensor: boolean;
902
+ has_humidity_sensor: boolean;
903
+ has_temperature_sensor: boolean;
904
+ has_occupancy_detection: boolean;
905
+ }, {
906
+ has_noise_sensor: boolean;
907
+ has_humidity_sensor: boolean;
908
+ has_temperature_sensor: boolean;
909
+ has_occupancy_detection: boolean;
910
+ }>;
911
+ }, "strip", z.ZodTypeAny, {
912
+ main_category: "sensor";
913
+ physical_properties: {
914
+ has_noise_sensor: boolean;
915
+ has_humidity_sensor: boolean;
916
+ has_temperature_sensor: boolean;
917
+ has_occupancy_detection: boolean;
918
+ };
919
+ }, {
920
+ main_category: "sensor";
921
+ physical_properties: {
922
+ has_noise_sensor: boolean;
923
+ has_humidity_sensor: boolean;
924
+ has_temperature_sensor: boolean;
925
+ has_occupancy_detection: boolean;
926
+ };
927
+ }>, z.ZodObject<{
928
+ main_category: z.ZodLiteral<"thermostat">;
929
+ physical_properties: z.ZodObject<{
930
+ available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
931
+ is_heat_pump_compatible: z.ZodBoolean;
932
+ has_occupancy_detection: z.ZodBoolean;
933
+ supports_demand_response: z.ZodBoolean;
934
+ has_humidity_sensor: z.ZodBoolean;
935
+ has_temperature_sensor: z.ZodBoolean;
936
+ supports_emergency_heating_mode: z.ZodBoolean;
937
+ }, "strip", z.ZodTypeAny, {
938
+ has_humidity_sensor: boolean;
939
+ has_temperature_sensor: boolean;
940
+ has_occupancy_detection: boolean;
941
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
942
+ is_heat_pump_compatible: boolean;
943
+ supports_demand_response: boolean;
944
+ supports_emergency_heating_mode: boolean;
945
+ }, {
946
+ has_humidity_sensor: boolean;
947
+ has_temperature_sensor: boolean;
948
+ has_occupancy_detection: boolean;
949
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
950
+ is_heat_pump_compatible: boolean;
951
+ supports_demand_response: boolean;
952
+ supports_emergency_heating_mode: boolean;
953
+ }>;
954
+ software_features: z.ZodObject<{
955
+ can_program_climate_schedules: z.ZodBoolean;
956
+ }, "strip", z.ZodTypeAny, {
957
+ can_program_climate_schedules: boolean;
958
+ }, {
959
+ can_program_climate_schedules: boolean;
960
+ }>;
961
+ }, "strip", z.ZodTypeAny, {
962
+ main_category: "thermostat";
963
+ physical_properties: {
964
+ has_humidity_sensor: boolean;
965
+ has_temperature_sensor: boolean;
966
+ has_occupancy_detection: boolean;
967
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
968
+ is_heat_pump_compatible: boolean;
969
+ supports_demand_response: boolean;
970
+ supports_emergency_heating_mode: boolean;
971
+ };
972
+ software_features: {
973
+ can_program_climate_schedules: boolean;
974
+ };
975
+ }, {
976
+ main_category: "thermostat";
977
+ physical_properties: {
978
+ has_humidity_sensor: boolean;
979
+ has_temperature_sensor: boolean;
980
+ has_occupancy_detection: boolean;
981
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
982
+ is_heat_pump_compatible: boolean;
983
+ supports_demand_response: boolean;
984
+ supports_emergency_heating_mode: boolean;
985
+ };
986
+ software_features: {
987
+ can_program_climate_schedules: boolean;
988
+ };
989
+ }>, z.ZodObject<{
990
+ main_category: z.ZodLiteral<"relay">;
991
+ }, "strip", z.ZodTypeAny, {
992
+ main_category: "relay";
993
+ }, {
994
+ main_category: "relay";
995
+ }>, z.ZodObject<{
996
+ main_category: z.ZodLiteral<"intercom">;
997
+ physical_properties: z.ZodObject<{
998
+ has_camera: z.ZodBoolean;
999
+ has_rfid_reader: z.ZodDefault<z.ZodBoolean>;
1000
+ has_nfc_reader: z.ZodDefault<z.ZodBoolean>;
1001
+ has_wiegand_interface: z.ZodDefault<z.ZodBoolean>;
1002
+ }, "strip", z.ZodTypeAny, {
1003
+ has_camera: boolean;
1004
+ has_rfid_reader: boolean;
1005
+ has_nfc_reader: boolean;
1006
+ has_wiegand_interface: boolean;
1007
+ }, {
1008
+ has_camera: boolean;
1009
+ has_rfid_reader?: boolean | undefined;
1010
+ has_nfc_reader?: boolean | undefined;
1011
+ has_wiegand_interface?: boolean | undefined;
1012
+ }>;
1013
+ software_features: z.ZodObject<{
1014
+ can_remotely_unlock: z.ZodBoolean;
1015
+ can_program_access_codes: z.ZodBoolean;
1016
+ can_unlock_with_face_recognition: z.ZodDefault<z.ZodBoolean>;
1017
+ supports_onvif: z.ZodDefault<z.ZodBoolean>;
1018
+ }, "strip", z.ZodTypeAny, {
1019
+ can_remotely_unlock: boolean;
1020
+ can_program_access_codes: boolean;
1021
+ can_unlock_with_face_recognition: boolean;
1022
+ supports_onvif: boolean;
1023
+ }, {
1024
+ can_remotely_unlock: boolean;
1025
+ can_program_access_codes: boolean;
1026
+ can_unlock_with_face_recognition?: boolean | undefined;
1027
+ supports_onvif?: boolean | undefined;
1028
+ }>;
1029
+ }, "strip", z.ZodTypeAny, {
1030
+ main_category: "intercom";
1031
+ physical_properties: {
1032
+ has_camera: boolean;
1033
+ has_rfid_reader: boolean;
1034
+ has_nfc_reader: boolean;
1035
+ has_wiegand_interface: boolean;
1036
+ };
1037
+ software_features: {
1038
+ can_remotely_unlock: boolean;
1039
+ can_program_access_codes: boolean;
1040
+ can_unlock_with_face_recognition: boolean;
1041
+ supports_onvif: boolean;
1042
+ };
1043
+ }, {
1044
+ main_category: "intercom";
1045
+ physical_properties: {
1046
+ has_camera: boolean;
1047
+ has_rfid_reader?: boolean | undefined;
1048
+ has_nfc_reader?: boolean | undefined;
1049
+ has_wiegand_interface?: boolean | undefined;
1050
+ };
1051
+ software_features: {
1052
+ can_remotely_unlock: boolean;
1053
+ can_program_access_codes: boolean;
1054
+ can_unlock_with_face_recognition?: boolean | undefined;
1055
+ supports_onvif?: boolean | undefined;
1056
+ };
1057
+ }>, z.ZodObject<{
1058
+ main_category: z.ZodLiteral<"accessory">;
1059
+ }, "strip", z.ZodTypeAny, {
1060
+ main_category: "accessory";
1061
+ }, {
1062
+ main_category: "accessory";
1063
+ }>]>>;
1064
+ export type DeviceModel = z.infer<typeof device_model_v1>;