@seamapi/types 1.104.0 → 1.106.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 (36) hide show
  1. package/dist/connect.cjs +33 -3
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +15 -0
  4. package/dist/devicedb.cjs +20 -1
  5. package/dist/devicedb.cjs.map +1 -1
  6. package/dist/devicedb.d.cts +149 -1
  7. package/lib/seam/connect/openapi.d.ts +12 -0
  8. package/lib/seam/connect/openapi.js +33 -3
  9. package/lib/seam/connect/openapi.js.map +1 -1
  10. package/lib/seam/connect/route-types.d.ts +3 -0
  11. package/lib/seam/connect/unstable/models/acs/entrance.d.ts +5 -0
  12. package/lib/seam/connect/unstable/models/acs/entrance.js +7 -0
  13. package/lib/seam/connect/unstable/models/acs/entrance.js.map +1 -1
  14. package/lib/seam/devicedb/public-models/device-capability.d.ts +21 -0
  15. package/lib/seam/devicedb/public-models/device-capability.js +15 -0
  16. package/lib/seam/devicedb/public-models/device-capability.js.map +1 -0
  17. package/lib/seam/devicedb/public-models/device-model-v1.d.ts +38 -0
  18. package/lib/seam/devicedb/public-models/device-model-v1.js +10 -2
  19. package/lib/seam/devicedb/public-models/device-model-v1.js.map +1 -1
  20. package/lib/seam/devicedb/public-models/hardware.d.ts +8 -0
  21. package/lib/seam/devicedb/public-models/hardware.js +7 -0
  22. package/lib/seam/devicedb/public-models/hardware.js.map +1 -0
  23. package/lib/seam/devicedb/public-models/index.d.ts +1 -0
  24. package/lib/seam/devicedb/public-models/index.js +1 -0
  25. package/lib/seam/devicedb/public-models/index.js.map +1 -1
  26. package/lib/seam/devicedb/route-specs.d.ts +88 -0
  27. package/lib/seam/devicedb/route-types.d.ts +10 -0
  28. package/package.json +1 -1
  29. package/src/lib/seam/connect/openapi.ts +33 -3
  30. package/src/lib/seam/connect/route-types.ts +18 -0
  31. package/src/lib/seam/connect/unstable/models/acs/entrance.ts +7 -0
  32. package/src/lib/seam/devicedb/public-models/device-capability.ts +20 -0
  33. package/src/lib/seam/devicedb/public-models/device-model-v1.ts +33 -23
  34. package/src/lib/seam/devicedb/public-models/hardware.ts +7 -0
  35. package/src/lib/seam/devicedb/public-models/index.ts +1 -0
  36. package/src/lib/seam/devicedb/route-types.ts +10 -0
@@ -6813,6 +6813,10 @@ declare const _default: {
6813
6813
  visionline_metadata: {
6814
6814
  nullable: boolean;
6815
6815
  properties: {
6816
+ door_category: {
6817
+ enum: string[];
6818
+ type: string;
6819
+ };
6816
6820
  door_name: {
6817
6821
  type: string;
6818
6822
  };
@@ -7008,6 +7012,10 @@ declare const _default: {
7008
7012
  visionline_metadata: {
7009
7013
  nullable: boolean;
7010
7014
  properties: {
7015
+ door_category: {
7016
+ enum: string[];
7017
+ type: string;
7018
+ };
7011
7019
  door_name: {
7012
7020
  type: string;
7013
7021
  };
@@ -7859,6 +7867,10 @@ declare const _default: {
7859
7867
  visionline_metadata: {
7860
7868
  nullable: boolean;
7861
7869
  properties: {
7870
+ door_category: {
7871
+ enum: string[];
7872
+ type: string;
7873
+ };
7862
7874
  door_name: {
7863
7875
  type: string;
7864
7876
  };
@@ -17485,6 +17497,7 @@ interface Routes {
17485
17497
  created_at: string;
17486
17498
  visionline_metadata: {
17487
17499
  door_name: string;
17500
+ door_category: 'entrance' | 'guest' | 'elevator reader' | 'common' | 'common (PMS)';
17488
17501
  profiles?: Array<{
17489
17502
  visionline_door_profile_id: string;
17490
17503
  visionline_door_profile_type: 'BLE' | 'commonDoor' | 'touch';
@@ -17523,6 +17536,7 @@ interface Routes {
17523
17536
  created_at: string;
17524
17537
  visionline_metadata: {
17525
17538
  door_name: string;
17539
+ door_category: 'entrance' | 'guest' | 'elevator reader' | 'common' | 'common (PMS)';
17526
17540
  profiles?: Array<{
17527
17541
  visionline_door_profile_id: string;
17528
17542
  visionline_door_profile_type: 'BLE' | 'commonDoor' | 'touch';
@@ -17775,6 +17789,7 @@ interface Routes {
17775
17789
  created_at: string;
17776
17790
  visionline_metadata: {
17777
17791
  door_name: string;
17792
+ door_category: 'entrance' | 'guest' | 'elevator reader' | 'common' | 'common (PMS)';
17778
17793
  profiles?: Array<{
17779
17794
  visionline_door_profile_id: string;
17780
17795
  visionline_door_profile_type: 'BLE' | 'commonDoor' | 'touch';
package/dist/devicedb.cjs CHANGED
@@ -12,6 +12,7 @@ var __export = (target, all) => {
12
12
  var public_models_exports = {};
13
13
  __export(public_models_exports, {
14
14
  base_device_model_v1: () => base_device_model_v1,
15
+ device_capability_flags: () => device_capability_flags,
15
16
  device_category: () => device_category,
16
17
  device_connection_type: () => device_connection_type,
17
18
  device_model_category_specific_properties: () => device_model_category_specific_properties,
@@ -24,6 +25,15 @@ __export(public_models_exports, {
24
25
  manufacturer_integration_support_level: () => manufacturer_integration_support_level,
25
26
  thermostat: () => thermostat
26
27
  });
28
+ var device_capability_flags = zod.z.object({
29
+ can_remotely_unlock: zod.z.boolean(),
30
+ can_program_online_access_codes: zod.z.boolean()
31
+ }).partial();
32
+ var device_model_capability_flags_map = {
33
+ can_remotely_unlock: zod.z.literal(true),
34
+ can_program_online_access_codes: zod.z.literal(true)
35
+ };
36
+ var device_model_capability_flags = zod.z.object(device_model_capability_flags_map).partial();
27
37
  var device_model_v0 = zod.z.object({
28
38
  main_category: zod.z.string(),
29
39
  model_name: zod.z.string(),
@@ -34,6 +44,9 @@ var device_model_v0 = zod.z.object({
34
44
  icon_url: zod.z.string(),
35
45
  seam_device_model_page_url: zod.z.string()
36
46
  });
47
+ var hardware = zod.z.object({
48
+ has_physical_key: zod.z.boolean()
49
+ }).partial();
37
50
  var image_reference = zod.z.object({
38
51
  url: zod.z.string().url(),
39
52
  width: zod.z.number(),
@@ -101,7 +114,12 @@ var smartlock = zod.z.object({
101
114
  can_program_access_schedules: zod.z.boolean(),
102
115
  can_program_access_codes_offline: zod.z.boolean()
103
116
  })
104
- });
117
+ }).merge(
118
+ device_model_capability_flags.pick({
119
+ can_remotely_unlock: true,
120
+ can_program_online_access_codes: true
121
+ })
122
+ );
105
123
  var sensor = zod.z.object({
106
124
  main_category: zod.z.literal(device_category.enum.sensor),
107
125
  physical_properties: zod.z.object({
@@ -161,6 +179,7 @@ var base_device_model_v1 = zod.z.object({
161
179
  description: zod.z.string(),
162
180
  product_url: zod.z.string().optional(),
163
181
  main_connection_type: device_connection_type,
182
+ hardware,
164
183
  aesthetic_variants: zod.z.object({
165
184
  slug: zod.z.string(),
166
185
  display_name: zod.z.string(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts","../src/lib/seam/devicedb/route-specs.ts"],"names":["z"],"mappings":"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","sourcesContent":["export * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nexport const device_category = z.enum([\n 'smartlock',\n 'sensor',\n 'thermostat',\n 'relay',\n 'intercom',\n 'accessory',\n])\n\nexport type DeviceCategory = z.infer<typeof device_category>\n\nexport const device_connection_type = z.enum([\n 'wifi',\n 'zwave',\n 'zigbee',\n 'unknown',\n])\n\nexport type DeviceConnectionType = z.infer<typeof device_connection_type>\n\nconst smartlock = z.object({\n main_category: z.literal(device_category.enum.smartlock),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n 'unknown',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n})\n\nconst sensor = z.object({\n main_category: z.literal(device_category.enum.sensor),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nexport const thermostat = z.object({\n main_category: z.literal(device_category.enum.thermostat),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nexport type ThermostatPropertiesV1 = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal(device_category.enum.relay),\n})\n\nconst intercom = z.object({\n main_category: z.literal(device_category.enum.intercom),\n physical_properties: z.object({\n has_camera: z.boolean(),\n has_rfid_reader: z.boolean().default(false),\n has_nfc_reader: z.boolean().default(false),\n has_wiegand_interface: z.boolean().default(false),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_unlock_with_face_recognition: z.boolean().default(false),\n supports_onvif: z.boolean().default(false),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal(device_category.enum.accessory),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer: manufacturer.omit({\n device_model_count: true,\n }),\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: device_connection_type,\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string().optional(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n images: image_reference.array(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer_integration_support_level = z.enum([\n 'stable',\n 'beta',\n 'planned',\n 'unsupported',\n 'inquire',\n])\n\nexport type ManufacturerIntegrationSupportLevel = z.infer<\n typeof manufacturer_integration_support_level\n>\n\nexport const manufacturer_annotation_code = z.enum(['subscription_required'])\n\nexport type ManufacturerAnnotationCode = z.infer<\n typeof manufacturer_annotation_code\n>\n\nexport const manufacturer_annotation = z.object({\n annotation_code: manufacturer_annotation_code,\n message: z.string().trim().nonempty(),\n})\n\nexport type ManufacturerAnnotation = z.infer<typeof manufacturer_annotation>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n /** @deprecated */\n integration: manufacturer_integration_support_level,\n integration_support_level: manufacturer_integration_support_level,\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n device_model_count: z.number(),\n annotations: z.array(manufacturer_annotation),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './public-models/index.js'\n\nconst dot_path = z.string().regex(/^([a-z])[a-z_.]*[a-z]+$/)\n\nexport const routes = {\n '/api/v1/device_models/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n device_model_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n device_model: schemas.device_model_v1,\n }),\n },\n '/api/v1/device_models/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n main_category: schemas.device_category.optional(),\n manufacturer_id: z.string().uuid().optional(),\n manufacturer_ids: z.string().uuid().array().optional(),\n /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n text_search: z.string().optional(),\n include_if: z.array(dot_path).optional(),\n exclude_if: z.array(dot_path).optional(),\n }),\n jsonResponse: z.object({\n device_models: schemas.device_model_v1.array(),\n }),\n },\n '/api/v1/manufacturers/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n manufacturer_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n manufacturer: schemas.manufacturer,\n }),\n },\n '/api/v1/manufacturers/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n liqe_query: z.string().optional(),\n }),\n jsonResponse: z.object({\n manufacturers: schemas.manufacturer.array(),\n }),\n },\n} as const\n"]}
1
+ {"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-capability.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/hardware.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts","../src/lib/seam/devicedb/route-specs.ts"],"names":["z"],"mappings":"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","sourcesContent":["export { device_capability_flags } from './device-capability.js'\nexport * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z, type ZodLiteral } from 'zod'\n\nexport const device_capability_flags = z\n .object({\n can_remotely_unlock: z.boolean(),\n can_program_online_access_codes: z.boolean(),\n })\n .partial()\n\nconst device_model_capability_flags_map: Record<\n keyof z.infer<typeof device_capability_flags>,\n ZodLiteral<true>\n> = {\n can_remotely_unlock: z.literal(true),\n can_program_online_access_codes: z.literal(true),\n}\n\nexport const device_model_capability_flags = z\n .object(device_model_capability_flags_map)\n .partial()\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { device_model_capability_flags } from './device-capability.js'\nimport { hardware } from './hardware.js'\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nexport const device_category = z.enum([\n 'smartlock',\n 'sensor',\n 'thermostat',\n 'relay',\n 'intercom',\n 'accessory',\n])\n\nexport type DeviceCategory = z.infer<typeof device_category>\n\nexport const device_connection_type = z.enum([\n 'wifi',\n 'zwave',\n 'zigbee',\n 'unknown',\n])\n\nexport type DeviceConnectionType = z.infer<typeof device_connection_type>\n\nconst smartlock = z\n .object({\n main_category: z.literal(device_category.enum.smartlock),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n 'unknown',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n })\n .merge(\n device_model_capability_flags.pick({\n can_remotely_unlock: true,\n can_program_online_access_codes: true,\n }),\n )\n\nconst sensor = z.object({\n main_category: z.literal(device_category.enum.sensor),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nexport const thermostat = z.object({\n main_category: z.literal(device_category.enum.thermostat),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nexport type ThermostatPropertiesV1 = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal(device_category.enum.relay),\n})\n\nconst intercom = z.object({\n main_category: z.literal(device_category.enum.intercom),\n physical_properties: z.object({\n has_camera: z.boolean(),\n has_rfid_reader: z.boolean().default(false),\n has_nfc_reader: z.boolean().default(false),\n has_wiegand_interface: z.boolean().default(false),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_unlock_with_face_recognition: z.boolean().default(false),\n supports_onvif: z.boolean().default(false),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal(device_category.enum.accessory),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer: manufacturer.omit({\n device_model_count: true,\n }),\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: device_connection_type,\n hardware,\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string().optional(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n images: image_reference.array(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const hardware = z\n .object({\n has_physical_key: z.boolean(),\n })\n .partial()\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer_integration_support_level = z.enum([\n 'stable',\n 'beta',\n 'planned',\n 'unsupported',\n 'inquire',\n])\n\nexport type ManufacturerIntegrationSupportLevel = z.infer<\n typeof manufacturer_integration_support_level\n>\n\nexport const manufacturer_annotation_code = z.enum(['subscription_required'])\n\nexport type ManufacturerAnnotationCode = z.infer<\n typeof manufacturer_annotation_code\n>\n\nexport const manufacturer_annotation = z.object({\n annotation_code: manufacturer_annotation_code,\n message: z.string().trim().nonempty(),\n})\n\nexport type ManufacturerAnnotation = z.infer<typeof manufacturer_annotation>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n /** @deprecated */\n integration: manufacturer_integration_support_level,\n integration_support_level: manufacturer_integration_support_level,\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n device_model_count: z.number(),\n annotations: z.array(manufacturer_annotation),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './public-models/index.js'\n\nconst dot_path = z.string().regex(/^([a-z])[a-z_.]*[a-z]+$/)\n\nexport const routes = {\n '/api/v1/device_models/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n device_model_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n device_model: schemas.device_model_v1,\n }),\n },\n '/api/v1/device_models/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n main_category: schemas.device_category.optional(),\n manufacturer_id: z.string().uuid().optional(),\n manufacturer_ids: z.string().uuid().array().optional(),\n /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n text_search: z.string().optional(),\n include_if: z.array(dot_path).optional(),\n exclude_if: z.array(dot_path).optional(),\n }),\n jsonResponse: z.object({\n device_models: schemas.device_model_v1.array(),\n }),\n },\n '/api/v1/manufacturers/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n manufacturer_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n manufacturer: schemas.manufacturer,\n }),\n },\n '/api/v1/manufacturers/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n liqe_query: z.string().optional(),\n }),\n jsonResponse: z.object({\n manufacturers: schemas.manufacturer.array(),\n }),\n },\n} as const\n"]}
@@ -1,5 +1,16 @@
1
1
  import { z } from 'zod';
2
2
 
3
+ declare const device_capability_flags: z.ZodObject<{
4
+ can_remotely_unlock: z.ZodOptional<z.ZodBoolean>;
5
+ can_program_online_access_codes: z.ZodOptional<z.ZodBoolean>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ can_remotely_unlock?: boolean | undefined;
8
+ can_program_online_access_codes?: boolean | undefined;
9
+ }, {
10
+ can_remotely_unlock?: boolean | undefined;
11
+ can_program_online_access_codes?: boolean | undefined;
12
+ }>;
13
+
3
14
  declare const device_model_v0: z.ZodObject<{
4
15
  main_category: z.ZodString;
5
16
  model_name: z.ZodString;
@@ -129,6 +140,8 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
129
140
  can_program_access_schedules: boolean;
130
141
  can_program_access_codes_offline: boolean;
131
142
  }>;
143
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
144
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
132
145
  }, "strip", z.ZodTypeAny, {
133
146
  main_category: "smartlock";
134
147
  physical_properties: {
@@ -142,6 +155,8 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
142
155
  can_program_access_schedules: boolean;
143
156
  can_program_access_codes_offline: boolean;
144
157
  };
158
+ can_remotely_unlock?: true | undefined;
159
+ can_program_online_access_codes?: true | undefined;
145
160
  }, {
146
161
  main_category: "smartlock";
147
162
  physical_properties: {
@@ -155,6 +170,8 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
155
170
  can_program_access_schedules: boolean;
156
171
  can_program_access_codes_offline: boolean;
157
172
  };
173
+ can_remotely_unlock?: true | undefined;
174
+ can_program_online_access_codes?: true | undefined;
158
175
  }>, z.ZodObject<{
159
176
  main_category: z.ZodLiteral<"sensor">;
160
177
  physical_properties: z.ZodObject<{
@@ -397,6 +414,13 @@ declare const base_device_model_v1: z.ZodObject<{
397
414
  description: z.ZodString;
398
415
  product_url: z.ZodOptional<z.ZodString>;
399
416
  main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
417
+ hardware: z.ZodObject<{
418
+ has_physical_key: z.ZodOptional<z.ZodBoolean>;
419
+ }, "strip", z.ZodTypeAny, {
420
+ has_physical_key?: boolean | undefined;
421
+ }, {
422
+ has_physical_key?: boolean | undefined;
423
+ }>;
400
424
  aesthetic_variants: z.ZodArray<z.ZodObject<{
401
425
  slug: z.ZodString;
402
426
  display_name: z.ZodString;
@@ -506,6 +530,9 @@ declare const base_device_model_v1: z.ZodObject<{
506
530
  };
507
531
  is_device_supported: boolean;
508
532
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
533
+ hardware: {
534
+ has_physical_key?: boolean | undefined;
535
+ };
509
536
  aesthetic_variants: {
510
537
  display_name: string;
511
538
  slug: string;
@@ -552,6 +579,9 @@ declare const base_device_model_v1: z.ZodObject<{
552
579
  };
553
580
  is_device_supported: boolean;
554
581
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
582
+ hardware: {
583
+ has_physical_key?: boolean | undefined;
584
+ };
555
585
  aesthetic_variants: {
556
586
  display_name: string;
557
587
  slug: string;
@@ -648,6 +678,13 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
648
678
  description: z.ZodString;
649
679
  product_url: z.ZodOptional<z.ZodString>;
650
680
  main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
681
+ hardware: z.ZodObject<{
682
+ has_physical_key: z.ZodOptional<z.ZodBoolean>;
683
+ }, "strip", z.ZodTypeAny, {
684
+ has_physical_key?: boolean | undefined;
685
+ }, {
686
+ has_physical_key?: boolean | undefined;
687
+ }>;
651
688
  aesthetic_variants: z.ZodArray<z.ZodObject<{
652
689
  slug: z.ZodString;
653
690
  display_name: z.ZodString;
@@ -757,6 +794,9 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
757
794
  };
758
795
  is_device_supported: boolean;
759
796
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
797
+ hardware: {
798
+ has_physical_key?: boolean | undefined;
799
+ };
760
800
  aesthetic_variants: {
761
801
  display_name: string;
762
802
  slug: string;
@@ -803,6 +843,9 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
803
843
  };
804
844
  is_device_supported: boolean;
805
845
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
846
+ hardware: {
847
+ has_physical_key?: boolean | undefined;
848
+ };
806
849
  aesthetic_variants: {
807
850
  display_name: string;
808
851
  slug: string;
@@ -857,6 +900,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
857
900
  can_program_access_schedules: boolean;
858
901
  can_program_access_codes_offline: boolean;
859
902
  }>;
903
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
904
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
860
905
  }, "strip", z.ZodTypeAny, {
861
906
  main_category: "smartlock";
862
907
  physical_properties: {
@@ -870,6 +915,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
870
915
  can_program_access_schedules: boolean;
871
916
  can_program_access_codes_offline: boolean;
872
917
  };
918
+ can_remotely_unlock?: true | undefined;
919
+ can_program_online_access_codes?: true | undefined;
873
920
  }, {
874
921
  main_category: "smartlock";
875
922
  physical_properties: {
@@ -883,6 +930,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
883
930
  can_program_access_schedules: boolean;
884
931
  can_program_access_codes_offline: boolean;
885
932
  };
933
+ can_remotely_unlock?: true | undefined;
934
+ can_program_online_access_codes?: true | undefined;
886
935
  }>, z.ZodObject<{
887
936
  main_category: z.ZodLiteral<"sensor">;
888
937
  physical_properties: z.ZodObject<{
@@ -1167,6 +1216,7 @@ type index_ManufacturerAnnotationCode = ManufacturerAnnotationCode;
1167
1216
  type index_ManufacturerIntegrationSupportLevel = ManufacturerIntegrationSupportLevel;
1168
1217
  type index_ThermostatPropertiesV1 = ThermostatPropertiesV1;
1169
1218
  declare const index_base_device_model_v1: typeof base_device_model_v1;
1219
+ declare const index_device_capability_flags: typeof device_capability_flags;
1170
1220
  declare const index_device_category: typeof device_category;
1171
1221
  declare const index_device_connection_type: typeof device_connection_type;
1172
1222
  declare const index_device_model_category_specific_properties: typeof device_model_category_specific_properties;
@@ -1179,7 +1229,7 @@ declare const index_manufacturer_annotation_code: typeof manufacturer_annotation
1179
1229
  declare const index_manufacturer_integration_support_level: typeof manufacturer_integration_support_level;
1180
1230
  declare const index_thermostat: typeof thermostat;
1181
1231
  declare namespace index {
1182
- export { type index_BaseDeviceModelV1 as BaseDeviceModelV1, type index_DeviceCategory as DeviceCategory, type index_DeviceConnectionType as DeviceConnectionType, type index_DeviceModelV0 as DeviceModelV0, type index_DeviceModelV1 as DeviceModelV1, type index_ImageReference as ImageReference, type index_Manufacturer as Manufacturer, type index_ManufacturerAnnotation as ManufacturerAnnotation, type index_ManufacturerAnnotationCode as ManufacturerAnnotationCode, type index_ManufacturerIntegrationSupportLevel as ManufacturerIntegrationSupportLevel, type index_ThermostatPropertiesV1 as ThermostatPropertiesV1, index_base_device_model_v1 as base_device_model_v1, index_device_category as device_category, index_device_connection_type as device_connection_type, index_device_model_category_specific_properties as device_model_category_specific_properties, index_device_model_v0 as device_model_v0, index_device_model_v1 as device_model_v1, index_image_reference as image_reference, index_manufacturer as manufacturer, index_manufacturer_annotation as manufacturer_annotation, index_manufacturer_annotation_code as manufacturer_annotation_code, index_manufacturer_integration_support_level as manufacturer_integration_support_level, index_thermostat as thermostat };
1232
+ export { type index_BaseDeviceModelV1 as BaseDeviceModelV1, type index_DeviceCategory as DeviceCategory, type index_DeviceConnectionType as DeviceConnectionType, type index_DeviceModelV0 as DeviceModelV0, type index_DeviceModelV1 as DeviceModelV1, type index_ImageReference as ImageReference, type index_Manufacturer as Manufacturer, type index_ManufacturerAnnotation as ManufacturerAnnotation, type index_ManufacturerAnnotationCode as ManufacturerAnnotationCode, type index_ManufacturerIntegrationSupportLevel as ManufacturerIntegrationSupportLevel, type index_ThermostatPropertiesV1 as ThermostatPropertiesV1, index_base_device_model_v1 as base_device_model_v1, index_device_capability_flags as device_capability_flags, index_device_category as device_category, index_device_connection_type as device_connection_type, index_device_model_category_specific_properties as device_model_category_specific_properties, index_device_model_v0 as device_model_v0, index_device_model_v1 as device_model_v1, index_image_reference as image_reference, index_manufacturer as manufacturer, index_manufacturer_annotation as manufacturer_annotation, index_manufacturer_annotation_code as manufacturer_annotation_code, index_manufacturer_integration_support_level as manufacturer_integration_support_level, index_thermostat as thermostat };
1183
1233
  }
1184
1234
 
1185
1235
  declare const routes: {
@@ -1265,6 +1315,13 @@ declare const routes: {
1265
1315
  description: z.ZodString;
1266
1316
  product_url: z.ZodOptional<z.ZodString>;
1267
1317
  main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
1318
+ hardware: z.ZodObject<{
1319
+ has_physical_key: z.ZodOptional<z.ZodBoolean>;
1320
+ }, "strip", z.ZodTypeAny, {
1321
+ has_physical_key?: boolean | undefined;
1322
+ }, {
1323
+ has_physical_key?: boolean | undefined;
1324
+ }>;
1268
1325
  aesthetic_variants: z.ZodArray<z.ZodObject<{
1269
1326
  slug: z.ZodString;
1270
1327
  display_name: z.ZodString;
@@ -1374,6 +1431,9 @@ declare const routes: {
1374
1431
  };
1375
1432
  is_device_supported: boolean;
1376
1433
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1434
+ hardware: {
1435
+ has_physical_key?: boolean | undefined;
1436
+ };
1377
1437
  aesthetic_variants: {
1378
1438
  display_name: string;
1379
1439
  slug: string;
@@ -1420,6 +1480,9 @@ declare const routes: {
1420
1480
  };
1421
1481
  is_device_supported: boolean;
1422
1482
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1483
+ hardware: {
1484
+ has_physical_key?: boolean | undefined;
1485
+ };
1423
1486
  aesthetic_variants: {
1424
1487
  display_name: string;
1425
1488
  slug: string;
@@ -1474,6 +1537,8 @@ declare const routes: {
1474
1537
  can_program_access_schedules: boolean;
1475
1538
  can_program_access_codes_offline: boolean;
1476
1539
  }>;
1540
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
1541
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
1477
1542
  }, "strip", z.ZodTypeAny, {
1478
1543
  main_category: "smartlock";
1479
1544
  physical_properties: {
@@ -1487,6 +1552,8 @@ declare const routes: {
1487
1552
  can_program_access_schedules: boolean;
1488
1553
  can_program_access_codes_offline: boolean;
1489
1554
  };
1555
+ can_remotely_unlock?: true | undefined;
1556
+ can_program_online_access_codes?: true | undefined;
1490
1557
  }, {
1491
1558
  main_category: "smartlock";
1492
1559
  physical_properties: {
@@ -1500,6 +1567,8 @@ declare const routes: {
1500
1567
  can_program_access_schedules: boolean;
1501
1568
  can_program_access_codes_offline: boolean;
1502
1569
  };
1570
+ can_remotely_unlock?: true | undefined;
1571
+ can_program_online_access_codes?: true | undefined;
1503
1572
  }>, z.ZodObject<{
1504
1573
  main_category: z.ZodLiteral<"sensor">;
1505
1574
  physical_properties: z.ZodObject<{
@@ -1695,6 +1764,9 @@ declare const routes: {
1695
1764
  };
1696
1765
  is_device_supported: boolean;
1697
1766
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1767
+ hardware: {
1768
+ has_physical_key?: boolean | undefined;
1769
+ };
1698
1770
  aesthetic_variants: {
1699
1771
  display_name: string;
1700
1772
  slug: string;
@@ -1731,6 +1803,8 @@ declare const routes: {
1731
1803
  can_program_access_schedules: boolean;
1732
1804
  can_program_access_codes_offline: boolean;
1733
1805
  };
1806
+ can_remotely_unlock?: true | undefined;
1807
+ can_program_online_access_codes?: true | undefined;
1734
1808
  }) | ({
1735
1809
  display_name: string;
1736
1810
  description: string;
@@ -1754,6 +1828,9 @@ declare const routes: {
1754
1828
  };
1755
1829
  is_device_supported: boolean;
1756
1830
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1831
+ hardware: {
1832
+ has_physical_key?: boolean | undefined;
1833
+ };
1757
1834
  aesthetic_variants: {
1758
1835
  display_name: string;
1759
1836
  slug: string;
@@ -1808,6 +1885,9 @@ declare const routes: {
1808
1885
  };
1809
1886
  is_device_supported: boolean;
1810
1887
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1888
+ hardware: {
1889
+ has_physical_key?: boolean | undefined;
1890
+ };
1811
1891
  aesthetic_variants: {
1812
1892
  display_name: string;
1813
1893
  slug: string;
@@ -1868,6 +1948,9 @@ declare const routes: {
1868
1948
  };
1869
1949
  is_device_supported: boolean;
1870
1950
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1951
+ hardware: {
1952
+ has_physical_key?: boolean | undefined;
1953
+ };
1871
1954
  aesthetic_variants: {
1872
1955
  display_name: string;
1873
1956
  slug: string;
@@ -1916,6 +1999,9 @@ declare const routes: {
1916
1999
  };
1917
2000
  is_device_supported: boolean;
1918
2001
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2002
+ hardware: {
2003
+ has_physical_key?: boolean | undefined;
2004
+ };
1919
2005
  aesthetic_variants: {
1920
2006
  display_name: string;
1921
2007
  slug: string;
@@ -1976,6 +2062,9 @@ declare const routes: {
1976
2062
  };
1977
2063
  is_device_supported: boolean;
1978
2064
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2065
+ hardware: {
2066
+ has_physical_key?: boolean | undefined;
2067
+ };
1979
2068
  aesthetic_variants: {
1980
2069
  display_name: string;
1981
2070
  slug: string;
@@ -2026,6 +2115,9 @@ declare const routes: {
2026
2115
  };
2027
2116
  is_device_supported: boolean;
2028
2117
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2118
+ hardware: {
2119
+ has_physical_key?: boolean | undefined;
2120
+ };
2029
2121
  aesthetic_variants: {
2030
2122
  display_name: string;
2031
2123
  slug: string;
@@ -2062,6 +2154,8 @@ declare const routes: {
2062
2154
  can_program_access_schedules: boolean;
2063
2155
  can_program_access_codes_offline: boolean;
2064
2156
  };
2157
+ can_remotely_unlock?: true | undefined;
2158
+ can_program_online_access_codes?: true | undefined;
2065
2159
  }) | ({
2066
2160
  display_name: string;
2067
2161
  description: string;
@@ -2085,6 +2179,9 @@ declare const routes: {
2085
2179
  };
2086
2180
  is_device_supported: boolean;
2087
2181
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2182
+ hardware: {
2183
+ has_physical_key?: boolean | undefined;
2184
+ };
2088
2185
  aesthetic_variants: {
2089
2186
  display_name: string;
2090
2187
  slug: string;
@@ -2139,6 +2236,9 @@ declare const routes: {
2139
2236
  };
2140
2237
  is_device_supported: boolean;
2141
2238
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2239
+ hardware: {
2240
+ has_physical_key?: boolean | undefined;
2241
+ };
2142
2242
  aesthetic_variants: {
2143
2243
  display_name: string;
2144
2244
  slug: string;
@@ -2199,6 +2299,9 @@ declare const routes: {
2199
2299
  };
2200
2300
  is_device_supported: boolean;
2201
2301
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2302
+ hardware: {
2303
+ has_physical_key?: boolean | undefined;
2304
+ };
2202
2305
  aesthetic_variants: {
2203
2306
  display_name: string;
2204
2307
  slug: string;
@@ -2247,6 +2350,9 @@ declare const routes: {
2247
2350
  };
2248
2351
  is_device_supported: boolean;
2249
2352
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2353
+ hardware: {
2354
+ has_physical_key?: boolean | undefined;
2355
+ };
2250
2356
  aesthetic_variants: {
2251
2357
  display_name: string;
2252
2358
  slug: string;
@@ -2307,6 +2413,9 @@ declare const routes: {
2307
2413
  };
2308
2414
  is_device_supported: boolean;
2309
2415
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2416
+ hardware: {
2417
+ has_physical_key?: boolean | undefined;
2418
+ };
2310
2419
  aesthetic_variants: {
2311
2420
  display_name: string;
2312
2421
  slug: string;
@@ -2439,6 +2548,13 @@ declare const routes: {
2439
2548
  description: z.ZodString;
2440
2549
  product_url: z.ZodOptional<z.ZodString>;
2441
2550
  main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
2551
+ hardware: z.ZodObject<{
2552
+ has_physical_key: z.ZodOptional<z.ZodBoolean>;
2553
+ }, "strip", z.ZodTypeAny, {
2554
+ has_physical_key?: boolean | undefined;
2555
+ }, {
2556
+ has_physical_key?: boolean | undefined;
2557
+ }>;
2442
2558
  aesthetic_variants: z.ZodArray<z.ZodObject<{
2443
2559
  slug: z.ZodString;
2444
2560
  display_name: z.ZodString;
@@ -2548,6 +2664,9 @@ declare const routes: {
2548
2664
  };
2549
2665
  is_device_supported: boolean;
2550
2666
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2667
+ hardware: {
2668
+ has_physical_key?: boolean | undefined;
2669
+ };
2551
2670
  aesthetic_variants: {
2552
2671
  display_name: string;
2553
2672
  slug: string;
@@ -2594,6 +2713,9 @@ declare const routes: {
2594
2713
  };
2595
2714
  is_device_supported: boolean;
2596
2715
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2716
+ hardware: {
2717
+ has_physical_key?: boolean | undefined;
2718
+ };
2597
2719
  aesthetic_variants: {
2598
2720
  display_name: string;
2599
2721
  slug: string;
@@ -2648,6 +2770,8 @@ declare const routes: {
2648
2770
  can_program_access_schedules: boolean;
2649
2771
  can_program_access_codes_offline: boolean;
2650
2772
  }>;
2773
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
2774
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
2651
2775
  }, "strip", z.ZodTypeAny, {
2652
2776
  main_category: "smartlock";
2653
2777
  physical_properties: {
@@ -2661,6 +2785,8 @@ declare const routes: {
2661
2785
  can_program_access_schedules: boolean;
2662
2786
  can_program_access_codes_offline: boolean;
2663
2787
  };
2788
+ can_remotely_unlock?: true | undefined;
2789
+ can_program_online_access_codes?: true | undefined;
2664
2790
  }, {
2665
2791
  main_category: "smartlock";
2666
2792
  physical_properties: {
@@ -2674,6 +2800,8 @@ declare const routes: {
2674
2800
  can_program_access_schedules: boolean;
2675
2801
  can_program_access_codes_offline: boolean;
2676
2802
  };
2803
+ can_remotely_unlock?: true | undefined;
2804
+ can_program_online_access_codes?: true | undefined;
2677
2805
  }>, z.ZodObject<{
2678
2806
  main_category: z.ZodLiteral<"sensor">;
2679
2807
  physical_properties: z.ZodObject<{
@@ -2869,6 +2997,9 @@ declare const routes: {
2869
2997
  };
2870
2998
  is_device_supported: boolean;
2871
2999
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
3000
+ hardware: {
3001
+ has_physical_key?: boolean | undefined;
3002
+ };
2872
3003
  aesthetic_variants: {
2873
3004
  display_name: string;
2874
3005
  slug: string;
@@ -2905,6 +3036,8 @@ declare const routes: {
2905
3036
  can_program_access_schedules: boolean;
2906
3037
  can_program_access_codes_offline: boolean;
2907
3038
  };
3039
+ can_remotely_unlock?: true | undefined;
3040
+ can_program_online_access_codes?: true | undefined;
2908
3041
  } | {
2909
3042
  main_category: "sensor";
2910
3043
  physical_properties: {
@@ -2970,6 +3103,9 @@ declare const routes: {
2970
3103
  };
2971
3104
  is_device_supported: boolean;
2972
3105
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
3106
+ hardware: {
3107
+ has_physical_key?: boolean | undefined;
3108
+ };
2973
3109
  aesthetic_variants: {
2974
3110
  display_name: string;
2975
3111
  slug: string;
@@ -3006,6 +3142,8 @@ declare const routes: {
3006
3142
  can_program_access_schedules: boolean;
3007
3143
  can_program_access_codes_offline: boolean;
3008
3144
  };
3145
+ can_remotely_unlock?: true | undefined;
3146
+ can_program_online_access_codes?: true | undefined;
3009
3147
  } | {
3010
3148
  main_category: "sensor";
3011
3149
  physical_properties: {
@@ -3327,6 +3465,9 @@ interface Routes {
3327
3465
  description: string;
3328
3466
  product_url?: string | undefined;
3329
3467
  main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown';
3468
+ hardware: {
3469
+ has_physical_key?: boolean | undefined;
3470
+ };
3330
3471
  aesthetic_variants: Array<{
3331
3472
  slug: string;
3332
3473
  display_name: string;
@@ -3362,6 +3503,8 @@ interface Routes {
3362
3503
  can_program_access_schedules: boolean;
3363
3504
  can_program_access_codes_offline: boolean;
3364
3505
  };
3506
+ can_remotely_unlock?: true | undefined;
3507
+ can_program_online_access_codes?: true | undefined;
3365
3508
  } | {
3366
3509
  main_category: 'sensor';
3367
3510
  physical_properties: {
@@ -3446,6 +3589,9 @@ interface Routes {
3446
3589
  description: string;
3447
3590
  product_url?: string | undefined;
3448
3591
  main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown';
3592
+ hardware: {
3593
+ has_physical_key?: boolean | undefined;
3594
+ };
3449
3595
  aesthetic_variants: Array<{
3450
3596
  slug: string;
3451
3597
  display_name: string;
@@ -3481,6 +3627,8 @@ interface Routes {
3481
3627
  can_program_access_schedules: boolean;
3482
3628
  can_program_access_codes_offline: boolean;
3483
3629
  };
3630
+ can_remotely_unlock?: true | undefined;
3631
+ can_program_online_access_codes?: true | undefined;
3484
3632
  } | {
3485
3633
  main_category: 'sensor';
3486
3634
  physical_properties: {