@camera.ui/browser 0.0.110 → 0.0.111

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 (133) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/bundle.js.LICENSE.txt +11 -20
  3. package/dist/types/packages/client/browser/src/client.d.ts +5 -7
  4. package/dist/types/packages/client/browser/src/proxy/cameraDevice.d.ts +20 -24
  5. package/dist/types/packages/client/browser/src/proxy/coreManager.d.ts +10 -12
  6. package/dist/types/packages/client/browser/src/proxy/deviceManager.d.ts +10 -12
  7. package/dist/types/packages/client/browser/src/proxy.d.ts +7 -0
  8. package/dist/types/packages/client/browser/src/streaming/config.d.ts +21 -0
  9. package/dist/types/packages/client/browser/src/streaming/go2rts-session.d.ts +255 -40
  10. package/dist/types/packages/client/browser/src/streaming/types.d.ts +38 -0
  11. package/dist/types/packages/client/browser/src/types.d.ts +6 -8
  12. package/dist/types/packages/types/src/index.d.ts +302 -220
  13. package/dist/types/server/src/api/database/types.d.ts +17 -25
  14. package/dist/types/server/src/api/go2rtc/types.d.ts +66 -11
  15. package/dist/types/server/src/api/schemas/backup.schema.d.ts +24 -24
  16. package/dist/types/server/src/api/schemas/cameras.schema.d.ts +1407 -523
  17. package/dist/types/server/src/api/schemas/config.schema.d.ts +30 -42
  18. package/dist/types/server/src/api/schemas/go2rtc.schema.d.ts +186 -154
  19. package/dist/types/server/src/api/schemas/plugins.schema.d.ts +17 -17
  20. package/dist/types/server/src/api/schemas/storage.schema.d.ts +22 -0
  21. package/dist/types/server/src/api/schemas/system.schema.d.ts +171 -3
  22. package/dist/types/server/src/api/schemas/users.schema.d.ts +162 -318
  23. package/dist/types/server/src/api/types/index.d.ts +48 -46
  24. package/dist/types/server/src/api/websocket/types.d.ts +4 -2
  25. package/dist/types/server/src/camera/classes.d.ts +2 -0
  26. package/dist/types/{packages/plugineer/src/polyglot/node → server/src}/camera/index.d.ts +31 -30
  27. package/dist/types/server/src/camera/interfaces.d.ts +17 -0
  28. package/dist/types/server/src/camera/types.d.ts +16 -10
  29. package/dist/types/server/src/go2rtc/types.d.ts +5 -4
  30. package/dist/types/server/src/manager/types.d.ts +15 -0
  31. package/dist/types/server/src/plugins/schema.d.ts +27 -34
  32. package/dist/types/server/src/plugins/types.d.ts +43 -1
  33. package/dist/types/server/src/rpc/namespaces.d.ts +35 -0
  34. package/dist/types/server/src/rpc/types.d.ts +111 -0
  35. package/dist/types/server/src/services/config/defaults.d.ts +12 -0
  36. package/dist/types/server/src/services/config/types.d.ts +10 -4
  37. package/dist/types/server/src/types.d.ts +3 -0
  38. package/dist/types/shared/types/index.d.ts +9 -8
  39. package/package.json +19 -16
  40. package/dist/types/packages/client/browser/src/socket.d.ts +0 -15
  41. package/dist/types/packages/common/src/nats/messageQueue.d.ts +0 -48
  42. package/dist/types/packages/common/src/nats/nats.d.ts +0 -30
  43. package/dist/types/packages/common/src/nats/packer.d.ts +0 -2
  44. package/dist/types/packages/plugineer/src/polyglot/node/camera/interfaces/camera.d.ts +0 -8
  45. package/dist/types/packages/plugineer/src/polyglot/node/camera/interfaces/ptz.d.ts +0 -11
  46. package/dist/types/packages/plugineer/src/polyglot/node/camera/types.d.ts +0 -18
  47. package/dist/types/packages/plugineer/src/polyglot/node/plugins/schema.d.ts +0 -62
  48. package/dist/types/packages/plugineer/src/polyglot/node/plugins/types.d.ts +0 -135
  49. package/dist/types/packages/plugineer/src/types.d.ts +0 -4
  50. package/dist/types/server/src/api/controllers/api.controller.d.ts +0 -7
  51. package/dist/types/server/src/api/controllers/auth.controller.d.ts +0 -16
  52. package/dist/types/server/src/api/controllers/backup.controller.d.ts +0 -10
  53. package/dist/types/server/src/api/controllers/cameras.controller.d.ts +0 -38
  54. package/dist/types/server/src/api/controllers/config.controller.d.ts +0 -14
  55. package/dist/types/server/src/api/controllers/files.controller.d.ts +0 -8
  56. package/dist/types/server/src/api/controllers/frameWorkers.controller.d.ts +0 -11
  57. package/dist/types/server/src/api/controllers/plugins.controller.d.ts +0 -48
  58. package/dist/types/server/src/api/controllers/system.controller.d.ts +0 -23
  59. package/dist/types/server/src/api/controllers/users.controller.d.ts +0 -28
  60. package/dist/types/server/src/api/database/checks.d.ts +0 -55
  61. package/dist/types/server/src/api/database/constants.d.ts +0 -8
  62. package/dist/types/server/src/api/database/index.d.ts +0 -30
  63. package/dist/types/server/src/api/database/migration.d.ts +0 -15
  64. package/dist/types/server/src/api/database/selfcheck.d.ts +0 -48
  65. package/dist/types/server/src/api/go2rtc/api/application.d.ts +0 -9
  66. package/dist/types/server/src/api/go2rtc/api/config.d.ts +0 -8
  67. package/dist/types/server/src/api/go2rtc/api/index.d.ts +0 -1
  68. package/dist/types/server/src/api/go2rtc/api/snapshot.d.ts +0 -8
  69. package/dist/types/server/src/api/go2rtc/api/streams.d.ts +0 -12
  70. package/dist/types/server/src/api/go2rtc/index.d.ts +0 -14
  71. package/dist/types/server/src/api/go2rtc/queue.d.ts +0 -10
  72. package/dist/types/server/src/api/index.d.ts +0 -22
  73. package/dist/types/server/src/api/middlewares/authPermission.middleware.d.ts +0 -5
  74. package/dist/types/server/src/api/middlewares/authValidation.middleware.d.ts +0 -4
  75. package/dist/types/server/src/api/middlewares/pagination.middleware.d.ts +0 -3
  76. package/dist/types/server/src/api/middlewares/socketAuth.middleware.d.ts +0 -41
  77. package/dist/types/server/src/api/plugins/header.plugin.d.ts +0 -2
  78. package/dist/types/server/src/api/plugins/socket.plugin.d.ts +0 -11
  79. package/dist/types/server/src/api/plugins/system.plugin.d.ts +0 -20
  80. package/dist/types/server/src/api/plugins/useragent.plugin.d.ts +0 -8
  81. package/dist/types/server/src/api/routes/api.routes.d.ts +0 -2
  82. package/dist/types/server/src/api/routes/auth.routes.d.ts +0 -2
  83. package/dist/types/server/src/api/routes/backup.routes.d.ts +0 -2
  84. package/dist/types/server/src/api/routes/cameras.routes.d.ts +0 -2
  85. package/dist/types/server/src/api/routes/config.routes.d.ts +0 -2
  86. package/dist/types/server/src/api/routes/files.routes.d.ts +0 -2
  87. package/dist/types/server/src/api/routes/frameWorkers.routes.d.ts +0 -2
  88. package/dist/types/server/src/api/routes/index.d.ts +0 -6
  89. package/dist/types/server/src/api/routes/plugins.routes.d.ts +0 -2
  90. package/dist/types/server/src/api/routes/system.routes.d.ts +0 -2
  91. package/dist/types/server/src/api/routes/users.routes.d.ts +0 -2
  92. package/dist/types/server/src/api/services/auth.service.d.ts +0 -24
  93. package/dist/types/server/src/api/services/backup.service.d.ts +0 -11
  94. package/dist/types/server/src/api/services/cameras.service.d.ts +0 -54
  95. package/dist/types/server/src/api/services/plugins.service.d.ts +0 -38
  96. package/dist/types/server/src/api/services/system.service.d.ts +0 -13
  97. package/dist/types/server/src/api/services/users.service.d.ts +0 -25
  98. package/dist/types/server/src/api/utils/cameraSource.d.ts +0 -6
  99. package/dist/types/server/src/api/utils/cert.d.ts +0 -11
  100. package/dist/types/server/src/api/utils/constants.d.ts +0 -13
  101. package/dist/types/server/src/api/utils/fetch.d.ts +0 -1
  102. package/dist/types/server/src/api/utils/moveFiles.d.ts +0 -4
  103. package/dist/types/server/src/api/utils/parse.d.ts +0 -2
  104. package/dist/types/server/src/api/websocket/go2rtc.d.ts +0 -21
  105. package/dist/types/server/src/api/websocket/index.d.ts +0 -16
  106. package/dist/types/server/src/api/websocket/nsp/logs.d.ts +0 -19
  107. package/dist/types/server/src/api/websocket/nsp/main.d.ts +0 -9
  108. package/dist/types/server/src/api/websocket/nsp/metrics.d.ts +0 -24
  109. package/dist/types/server/src/api/websocket/nsp/notifications.d.ts +0 -12
  110. package/dist/types/server/src/api/websocket/nsp/plugins.d.ts +0 -13
  111. package/dist/types/server/src/api/websocket/nsp/proxy.d.ts +0 -27
  112. package/dist/types/server/src/api/websocket/nsp/server.d.ts +0 -26
  113. package/dist/types/server/src/api/websocket/nsp/status.d.ts +0 -15
  114. package/dist/types/server/src/api.d.ts +0 -29
  115. package/dist/types/server/src/camera/controller.d.ts +0 -61
  116. package/dist/types/server/src/camera/frameWorker.d.ts +0 -45
  117. package/dist/types/server/src/go2rtc/index.d.ts +0 -25
  118. package/dist/types/server/src/main.d.ts +0 -25
  119. package/dist/types/server/src/nats/index.d.ts +0 -40
  120. package/dist/types/server/src/nats/proxy/cameraDevice.d.ts +0 -22
  121. package/dist/types/server/src/nats/proxy/coreManager.d.ts +0 -14
  122. package/dist/types/server/src/nats/proxy/deviceManager.d.ts +0 -14
  123. package/dist/types/server/src/nats/server.d.ts +0 -38
  124. package/dist/types/server/src/nats/types.d.ts +0 -18
  125. package/dist/types/server/src/nats/utils.d.ts +0 -2
  126. package/dist/types/server/src/plugins/index.d.ts +0 -33
  127. package/dist/types/server/src/plugins/plugin.d.ts +0 -35
  128. package/dist/types/server/src/plugins/worker.d.ts +0 -55
  129. package/dist/types/server/src/services/config/constants.d.ts +0 -6
  130. package/dist/types/server/src/services/config/index.d.ts +0 -67
  131. package/dist/types/server/src/services/logger/index.d.ts +0 -16
  132. /package/dist/types/{packages/plugineer/src/polyglot/node → server/src}/camera/iou.d.ts +0 -0
  133. /package/dist/types/{packages/plugineer/src/polyglot/node → server/src}/camera/polygon.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import zod from 'zod';
1
+ import * as zod from 'zod';
2
2
  export declare const recordingsSettingsSchema: zod.ZodObject<{
3
3
  enabled: zod.ZodDefault<zod.ZodBoolean>;
4
4
  }, "strict", zod.ZodTypeAny, {
@@ -6,120 +6,33 @@ export declare const recordingsSettingsSchema: zod.ZodObject<{
6
6
  }, {
7
7
  enabled?: boolean | undefined;
8
8
  }>;
9
- export declare const coordsSchema: zod.ZodObject<{
10
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
11
- points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
9
+ export declare const objectClassesSchema: zod.ZodUnion<[zod.ZodLiteral<"animal">, zod.ZodLiteral<"person">, zod.ZodLiteral<"vehicle">, zod.ZodLiteral<"other">, zod.ZodLiteral<"motion">]>;
10
+ export declare const pointsSchema: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
11
+ export declare const detectionZoneSchema: zod.ZodArray<zod.ZodObject<{
12
+ name: zod.ZodString;
13
+ points: zod.ZodArray<zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>, "many">;
14
+ type: zod.ZodUnion<[zod.ZodLiteral<"intersect">, zod.ZodLiteral<"contain">]>;
15
+ filter: zod.ZodUnion<[zod.ZodLiteral<"include">, zod.ZodLiteral<"exclude">]>;
16
+ classes: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"animal">, zod.ZodLiteral<"person">, zod.ZodLiteral<"vehicle">, zod.ZodLiteral<"other">, zod.ZodLiteral<"motion">]>, "many">;
17
+ isPrivacyMask: zod.ZodBoolean;
18
+ color: zod.ZodDefault<zod.ZodString>;
12
19
  }, "strip", zod.ZodTypeAny, {
13
- _id: string;
14
- points: [number, number];
15
- }, {
16
- points: [number, number];
17
- _id?: string | undefined;
18
- }>;
19
- export declare const objectClassesSchema: zod.ZodUnion<[zod.ZodLiteral<"person">, zod.ZodLiteral<"bicycle">, zod.ZodLiteral<"car">, zod.ZodLiteral<"motorcycle">, zod.ZodLiteral<"airplane">, zod.ZodLiteral<"bus">, zod.ZodLiteral<"train">, zod.ZodLiteral<"truck">, zod.ZodLiteral<"boat">, zod.ZodLiteral<"traffic light">, zod.ZodLiteral<"fire hydrant">, zod.ZodLiteral<"stop sign">, zod.ZodLiteral<"parking meter">, zod.ZodLiteral<"bench">, zod.ZodLiteral<"bird">, zod.ZodLiteral<"cat">, zod.ZodLiteral<"dog">, zod.ZodLiteral<"horse">, zod.ZodLiteral<"sheep">, zod.ZodLiteral<"cow">, zod.ZodLiteral<"elephant">, zod.ZodLiteral<"bear">, zod.ZodLiteral<"zebra">, zod.ZodLiteral<"giraffe">, zod.ZodLiteral<"backpack">, zod.ZodLiteral<"umbrella">, zod.ZodLiteral<"handbag">, zod.ZodLiteral<"tie">, zod.ZodLiteral<"suitcase">, zod.ZodLiteral<"frisbee">, zod.ZodLiteral<"skis">, zod.ZodLiteral<"snowboard">, zod.ZodLiteral<"sports ball">, zod.ZodLiteral<"kite">, zod.ZodLiteral<"baseball bat">, zod.ZodLiteral<"baseball glove">, zod.ZodLiteral<"skateboard">, zod.ZodLiteral<"surfboard">, zod.ZodLiteral<"tennis racket">, zod.ZodLiteral<"bottle">, zod.ZodLiteral<"wine glass">, zod.ZodLiteral<"cup">, zod.ZodLiteral<"fork">, zod.ZodLiteral<"knife">, zod.ZodLiteral<"spoon">, zod.ZodLiteral<"bowl">, zod.ZodLiteral<"banana">, zod.ZodLiteral<"apple">, zod.ZodLiteral<"sandwich">, zod.ZodLiteral<"orange">, zod.ZodLiteral<"broccoli">, zod.ZodLiteral<"carrot">, zod.ZodLiteral<"hot dog">, zod.ZodLiteral<"pizza">, zod.ZodLiteral<"donut">, zod.ZodLiteral<"cake">, zod.ZodLiteral<"chair">, zod.ZodLiteral<"couch">, zod.ZodLiteral<"potted plant">, zod.ZodLiteral<"bed">, zod.ZodLiteral<"dining table">, zod.ZodLiteral<"toilet">, zod.ZodLiteral<"tv">, zod.ZodLiteral<"laptop">, zod.ZodLiteral<"mouse">, zod.ZodLiteral<"remote">, zod.ZodLiteral<"keyboard">, zod.ZodLiteral<"cell phone">, zod.ZodLiteral<"microwave">, zod.ZodLiteral<"oven">, zod.ZodLiteral<"toaster">, zod.ZodLiteral<"sink">, zod.ZodLiteral<"refrigerator">, zod.ZodLiteral<"book">, zod.ZodLiteral<"clock">, zod.ZodLiteral<"vase">, zod.ZodLiteral<"scissors">, zod.ZodLiteral<"teddy bear">, zod.ZodLiteral<"hair drier">, zod.ZodLiteral<"toothbrush">, zod.ZodLiteral<"motion">]>;
20
- export declare const regionsSchema: zod.ZodObject<{
21
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
22
- coords: zod.ZodArray<zod.ZodObject<{
23
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
24
- points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
25
- }, "strip", zod.ZodTypeAny, {
26
- _id: string;
27
- points: [number, number];
28
- }, {
29
- points: [number, number];
30
- _id?: string | undefined;
31
- }>, "many">;
32
- type: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"intersect">, zod.ZodLiteral<"contain">]>>;
33
- filter: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"include">, zod.ZodLiteral<"exclude">]>>;
34
- classes: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"person">, zod.ZodLiteral<"bicycle">, zod.ZodLiteral<"car">, zod.ZodLiteral<"motorcycle">, zod.ZodLiteral<"airplane">, zod.ZodLiteral<"bus">, zod.ZodLiteral<"train">, zod.ZodLiteral<"truck">, zod.ZodLiteral<"boat">, zod.ZodLiteral<"traffic light">, zod.ZodLiteral<"fire hydrant">, zod.ZodLiteral<"stop sign">, zod.ZodLiteral<"parking meter">, zod.ZodLiteral<"bench">, zod.ZodLiteral<"bird">, zod.ZodLiteral<"cat">, zod.ZodLiteral<"dog">, zod.ZodLiteral<"horse">, zod.ZodLiteral<"sheep">, zod.ZodLiteral<"cow">, zod.ZodLiteral<"elephant">, zod.ZodLiteral<"bear">, zod.ZodLiteral<"zebra">, zod.ZodLiteral<"giraffe">, zod.ZodLiteral<"backpack">, zod.ZodLiteral<"umbrella">, zod.ZodLiteral<"handbag">, zod.ZodLiteral<"tie">, zod.ZodLiteral<"suitcase">, zod.ZodLiteral<"frisbee">, zod.ZodLiteral<"skis">, zod.ZodLiteral<"snowboard">, zod.ZodLiteral<"sports ball">, zod.ZodLiteral<"kite">, zod.ZodLiteral<"baseball bat">, zod.ZodLiteral<"baseball glove">, zod.ZodLiteral<"skateboard">, zod.ZodLiteral<"surfboard">, zod.ZodLiteral<"tennis racket">, zod.ZodLiteral<"bottle">, zod.ZodLiteral<"wine glass">, zod.ZodLiteral<"cup">, zod.ZodLiteral<"fork">, zod.ZodLiteral<"knife">, zod.ZodLiteral<"spoon">, zod.ZodLiteral<"bowl">, zod.ZodLiteral<"banana">, zod.ZodLiteral<"apple">, zod.ZodLiteral<"sandwich">, zod.ZodLiteral<"orange">, zod.ZodLiteral<"broccoli">, zod.ZodLiteral<"carrot">, zod.ZodLiteral<"hot dog">, zod.ZodLiteral<"pizza">, zod.ZodLiteral<"donut">, zod.ZodLiteral<"cake">, zod.ZodLiteral<"chair">, zod.ZodLiteral<"couch">, zod.ZodLiteral<"potted plant">, zod.ZodLiteral<"bed">, zod.ZodLiteral<"dining table">, zod.ZodLiteral<"toilet">, zod.ZodLiteral<"tv">, zod.ZodLiteral<"laptop">, zod.ZodLiteral<"mouse">, zod.ZodLiteral<"remote">, zod.ZodLiteral<"keyboard">, zod.ZodLiteral<"cell phone">, zod.ZodLiteral<"microwave">, zod.ZodLiteral<"oven">, zod.ZodLiteral<"toaster">, zod.ZodLiteral<"sink">, zod.ZodLiteral<"refrigerator">, zod.ZodLiteral<"book">, zod.ZodLiteral<"clock">, zod.ZodLiteral<"vase">, zod.ZodLiteral<"scissors">, zod.ZodLiteral<"teddy bear">, zod.ZodLiteral<"hair drier">, zod.ZodLiteral<"toothbrush">, zod.ZodLiteral<"motion">]>, "many">;
35
- isPrivacyMask: zod.ZodDefault<zod.ZodBoolean>;
36
- }, "strict", zod.ZodTypeAny, {
37
20
  filter: "include" | "exclude";
38
- _id: string;
21
+ name: string;
39
22
  type: "intersect" | "contain";
40
- coords: {
41
- _id: string;
42
- points: [number, number];
43
- }[];
44
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
23
+ color: string;
24
+ points: [number, number][];
25
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
45
26
  isPrivacyMask: boolean;
46
27
  }, {
47
- coords: {
48
- points: [number, number];
49
- _id?: string | undefined;
50
- }[];
51
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
52
- filter?: "include" | "exclude" | undefined;
53
- _id?: string | undefined;
54
- type?: "intersect" | "contain" | undefined;
55
- isPrivacyMask?: boolean | undefined;
56
- }>;
57
- export declare const detectionZoneSchema: zod.ZodObject<{
58
- name: zod.ZodString;
59
- regions: zod.ZodArray<zod.ZodObject<{
60
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
61
- coords: zod.ZodArray<zod.ZodObject<{
62
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
63
- points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
64
- }, "strip", zod.ZodTypeAny, {
65
- _id: string;
66
- points: [number, number];
67
- }, {
68
- points: [number, number];
69
- _id?: string | undefined;
70
- }>, "many">;
71
- type: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"intersect">, zod.ZodLiteral<"contain">]>>;
72
- filter: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"include">, zod.ZodLiteral<"exclude">]>>;
73
- classes: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"person">, zod.ZodLiteral<"bicycle">, zod.ZodLiteral<"car">, zod.ZodLiteral<"motorcycle">, zod.ZodLiteral<"airplane">, zod.ZodLiteral<"bus">, zod.ZodLiteral<"train">, zod.ZodLiteral<"truck">, zod.ZodLiteral<"boat">, zod.ZodLiteral<"traffic light">, zod.ZodLiteral<"fire hydrant">, zod.ZodLiteral<"stop sign">, zod.ZodLiteral<"parking meter">, zod.ZodLiteral<"bench">, zod.ZodLiteral<"bird">, zod.ZodLiteral<"cat">, zod.ZodLiteral<"dog">, zod.ZodLiteral<"horse">, zod.ZodLiteral<"sheep">, zod.ZodLiteral<"cow">, zod.ZodLiteral<"elephant">, zod.ZodLiteral<"bear">, zod.ZodLiteral<"zebra">, zod.ZodLiteral<"giraffe">, zod.ZodLiteral<"backpack">, zod.ZodLiteral<"umbrella">, zod.ZodLiteral<"handbag">, zod.ZodLiteral<"tie">, zod.ZodLiteral<"suitcase">, zod.ZodLiteral<"frisbee">, zod.ZodLiteral<"skis">, zod.ZodLiteral<"snowboard">, zod.ZodLiteral<"sports ball">, zod.ZodLiteral<"kite">, zod.ZodLiteral<"baseball bat">, zod.ZodLiteral<"baseball glove">, zod.ZodLiteral<"skateboard">, zod.ZodLiteral<"surfboard">, zod.ZodLiteral<"tennis racket">, zod.ZodLiteral<"bottle">, zod.ZodLiteral<"wine glass">, zod.ZodLiteral<"cup">, zod.ZodLiteral<"fork">, zod.ZodLiteral<"knife">, zod.ZodLiteral<"spoon">, zod.ZodLiteral<"bowl">, zod.ZodLiteral<"banana">, zod.ZodLiteral<"apple">, zod.ZodLiteral<"sandwich">, zod.ZodLiteral<"orange">, zod.ZodLiteral<"broccoli">, zod.ZodLiteral<"carrot">, zod.ZodLiteral<"hot dog">, zod.ZodLiteral<"pizza">, zod.ZodLiteral<"donut">, zod.ZodLiteral<"cake">, zod.ZodLiteral<"chair">, zod.ZodLiteral<"couch">, zod.ZodLiteral<"potted plant">, zod.ZodLiteral<"bed">, zod.ZodLiteral<"dining table">, zod.ZodLiteral<"toilet">, zod.ZodLiteral<"tv">, zod.ZodLiteral<"laptop">, zod.ZodLiteral<"mouse">, zod.ZodLiteral<"remote">, zod.ZodLiteral<"keyboard">, zod.ZodLiteral<"cell phone">, zod.ZodLiteral<"microwave">, zod.ZodLiteral<"oven">, zod.ZodLiteral<"toaster">, zod.ZodLiteral<"sink">, zod.ZodLiteral<"refrigerator">, zod.ZodLiteral<"book">, zod.ZodLiteral<"clock">, zod.ZodLiteral<"vase">, zod.ZodLiteral<"scissors">, zod.ZodLiteral<"teddy bear">, zod.ZodLiteral<"hair drier">, zod.ZodLiteral<"toothbrush">, zod.ZodLiteral<"motion">]>, "many">;
74
- isPrivacyMask: zod.ZodDefault<zod.ZodBoolean>;
75
- }, "strict", zod.ZodTypeAny, {
76
- filter: "include" | "exclude";
77
- _id: string;
78
- type: "intersect" | "contain";
79
- coords: {
80
- _id: string;
81
- points: [number, number];
82
- }[];
83
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
84
- isPrivacyMask: boolean;
85
- }, {
86
- coords: {
87
- points: [number, number];
88
- _id?: string | undefined;
89
- }[];
90
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
91
- filter?: "include" | "exclude" | undefined;
92
- _id?: string | undefined;
93
- type?: "intersect" | "contain" | undefined;
94
- isPrivacyMask?: boolean | undefined;
95
- }>, "many">;
96
- }, "strip", zod.ZodTypeAny, {
97
- name: string;
98
- regions: {
99
- filter: "include" | "exclude";
100
- _id: string;
101
- type: "intersect" | "contain";
102
- coords: {
103
- _id: string;
104
- points: [number, number];
105
- }[];
106
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
107
- isPrivacyMask: boolean;
108
- }[];
109
- }, {
28
+ filter: "include" | "exclude";
110
29
  name: string;
111
- regions: {
112
- coords: {
113
- points: [number, number];
114
- _id?: string | undefined;
115
- }[];
116
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
117
- filter?: "include" | "exclude" | undefined;
118
- _id?: string | undefined;
119
- type?: "intersect" | "contain" | undefined;
120
- isPrivacyMask?: boolean | undefined;
121
- }[];
122
- }>;
30
+ type: "intersect" | "contain";
31
+ points: [number, number][];
32
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
33
+ isPrivacyMask: boolean;
34
+ color?: string | undefined;
35
+ }>, "many">;
123
36
  export declare const detectionSettingsSchema: zod.ZodObject<{
124
37
  motion: zod.ZodObject<{
125
38
  timeout: zod.ZodNumber;
@@ -151,95 +64,220 @@ export declare const detectionSettingsSchema: zod.ZodObject<{
151
64
  };
152
65
  }>;
153
66
  export declare const inputRoleSchema: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>;
154
- export declare const streamingSourceRole: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">]>;
155
- export declare const inputProtocolSchema: zod.ZodUnion<[zod.ZodLiteral<"bubble://">, zod.ZodLiteral<"dvrip://">, zod.ZodLiteral<"echo:">, zod.ZodLiteral<"exec:">, zod.ZodLiteral<"expr:">, zod.ZodLiteral<"ffmpeg:">, zod.ZodLiteral<"gopro://">, zod.ZodLiteral<"hass:">, zod.ZodLiteral<"homekit://">, zod.ZodLiteral<"http://">, zod.ZodLiteral<"https://">, zod.ZodLiteral<"httpx://">, zod.ZodLiteral<"isapi://">, zod.ZodLiteral<"ivideon:">, zod.ZodLiteral<"kasa://">, zod.ZodLiteral<"nest:">, zod.ZodLiteral<"onvif://">, zod.ZodLiteral<"roborock://">, zod.ZodLiteral<"rtmp://">, zod.ZodLiteral<"rtsp://">, zod.ZodLiteral<"rtspx://">, zod.ZodLiteral<"tapo://">, zod.ZodLiteral<"tcp://">, zod.ZodLiteral<"webrtc:">, zod.ZodLiteral<"webtorrent:">]>;
67
+ export declare const streamingSourceRole: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"auto">]>;
68
+ export declare const inputProtocolSchema: zod.ZodUnion<[zod.ZodLiteral<"bubble://">, zod.ZodLiteral<"cui://">, zod.ZodLiteral<"doorbird://">, zod.ZodLiteral<"dvrip://">, zod.ZodLiteral<"echo:">, zod.ZodLiteral<"eseecloud://">, zod.ZodLiteral<"exec:">, zod.ZodLiteral<"expr:">, zod.ZodLiteral<"ffmpeg:">, zod.ZodLiteral<"flussonic://">, zod.ZodLiteral<"gopro://">, zod.ZodLiteral<"hass:">, zod.ZodLiteral<"homekit://">, zod.ZodLiteral<"http://">, zod.ZodLiteral<"https://">, zod.ZodLiteral<"httpx://">, zod.ZodLiteral<"isapi://">, zod.ZodLiteral<"ivideon:">, zod.ZodLiteral<"kasa://">, zod.ZodLiteral<"nest:">, zod.ZodLiteral<"onvif://">, zod.ZodLiteral<"ring:">, zod.ZodLiteral<"roborock://">, zod.ZodLiteral<"rtmp://">, zod.ZodLiteral<"rtsp://">, zod.ZodLiteral<"rtspx://">, zod.ZodLiteral<"tapo://">, zod.ZodLiteral<"tcp://">, zod.ZodLiteral<"webrtc:">, zod.ZodLiteral<"webtorrent:">]>;
156
69
  export declare const inputSchema: zod.ZodObject<{
157
70
  _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
158
71
  name: zod.ZodEffects<zod.ZodString, string, string>;
159
- roles: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>, "many">;
72
+ role: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>;
73
+ useForSnapshot: zod.ZodDefault<zod.ZodBoolean>;
74
+ hotMode: zod.ZodDefault<zod.ZodBoolean>;
160
75
  urls: zod.ZodArray<zod.ZodEffects<zod.ZodString, string, string>, "many">;
161
- internal: zod.ZodDefault<zod.ZodBoolean>;
162
76
  }, "strict", zod.ZodTypeAny, {
163
- _id: string;
164
77
  name: string;
165
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
78
+ _id: string;
166
79
  urls: string[];
167
- internal: boolean;
80
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
81
+ useForSnapshot: boolean;
82
+ hotMode: boolean;
168
83
  }, {
169
84
  name: string;
170
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
171
85
  urls: string[];
86
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
172
87
  _id?: string | undefined;
173
- internal?: boolean | undefined;
88
+ useForSnapshot?: boolean | undefined;
89
+ hotMode?: boolean | undefined;
174
90
  }>;
175
91
  export declare const patchInputSchema: zod.ZodObject<{
176
92
  _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
177
93
  name: zod.ZodEffects<zod.ZodString, string, string>;
178
- roles: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>, "many">;
94
+ role: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>;
95
+ useForSnapshot: zod.ZodDefault<zod.ZodBoolean>;
96
+ hotMode: zod.ZodDefault<zod.ZodBoolean>;
179
97
  urls: zod.ZodArray<zod.ZodEffects<zod.ZodString, string, string>, "many">;
180
- internal: zod.ZodDefault<zod.ZodBoolean>;
181
98
  }, "strict", zod.ZodTypeAny, {
182
- _id: string;
183
99
  name: string;
184
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
100
+ _id: string;
185
101
  urls: string[];
186
- internal: boolean;
102
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
103
+ useForSnapshot: boolean;
104
+ hotMode: boolean;
187
105
  }, {
188
106
  name: string;
189
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
190
107
  urls: string[];
108
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
191
109
  _id?: string | undefined;
192
- internal?: boolean | undefined;
110
+ useForSnapshot?: boolean | undefined;
111
+ hotMode?: boolean | undefined;
112
+ }>;
113
+ export declare const extensionSchema: zod.ZodObject<{
114
+ id: zod.ZodString;
115
+ name: zod.ZodString;
116
+ }, "strip", zod.ZodTypeAny, {
117
+ id: string;
118
+ name: string;
119
+ }, {
120
+ id: string;
121
+ name: string;
193
122
  }>;
194
123
  export declare const extensionsSettingsSchema: zod.ZodObject<{
195
- hub: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
196
- cameraController: zod.ZodOptional<zod.ZodString>;
197
- motionDetection: zod.ZodOptional<zod.ZodString>;
198
- audioDetection: zod.ZodOptional<zod.ZodString>;
199
- objectDetection: zod.ZodOptional<zod.ZodString>;
200
- ptz: zod.ZodOptional<zod.ZodString>;
201
- plugins: zod.ZodArray<zod.ZodString, "many">;
124
+ hub: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
125
+ id: zod.ZodString;
126
+ name: zod.ZodString;
127
+ }, "strip", zod.ZodTypeAny, {
128
+ id: string;
129
+ name: string;
130
+ }, {
131
+ id: string;
132
+ name: string;
133
+ }>, "many">>;
134
+ cameraController: zod.ZodOptional<zod.ZodObject<{
135
+ id: zod.ZodString;
136
+ name: zod.ZodString;
137
+ }, "strip", zod.ZodTypeAny, {
138
+ id: string;
139
+ name: string;
140
+ }, {
141
+ id: string;
142
+ name: string;
143
+ }>>;
144
+ motionDetection: zod.ZodOptional<zod.ZodObject<{
145
+ id: zod.ZodString;
146
+ name: zod.ZodString;
147
+ }, "strip", zod.ZodTypeAny, {
148
+ id: string;
149
+ name: string;
150
+ }, {
151
+ id: string;
152
+ name: string;
153
+ }>>;
154
+ audioDetection: zod.ZodOptional<zod.ZodObject<{
155
+ id: zod.ZodString;
156
+ name: zod.ZodString;
157
+ }, "strip", zod.ZodTypeAny, {
158
+ id: string;
159
+ name: string;
160
+ }, {
161
+ id: string;
162
+ name: string;
163
+ }>>;
164
+ objectDetection: zod.ZodOptional<zod.ZodObject<{
165
+ id: zod.ZodString;
166
+ name: zod.ZodString;
167
+ }, "strip", zod.ZodTypeAny, {
168
+ id: string;
169
+ name: string;
170
+ }, {
171
+ id: string;
172
+ name: string;
173
+ }>>;
174
+ ptz: zod.ZodOptional<zod.ZodObject<{
175
+ id: zod.ZodString;
176
+ name: zod.ZodString;
177
+ }, "strip", zod.ZodTypeAny, {
178
+ id: string;
179
+ name: string;
180
+ }, {
181
+ id: string;
182
+ name: string;
183
+ }>>;
184
+ plugins: zod.ZodArray<zod.ZodObject<{
185
+ id: zod.ZodString;
186
+ name: zod.ZodString;
187
+ }, "strip", zod.ZodTypeAny, {
188
+ id: string;
189
+ name: string;
190
+ }, {
191
+ id: string;
192
+ name: string;
193
+ }>, "many">;
202
194
  }, "strict", zod.ZodTypeAny, {
203
- plugins: string[];
204
- cameraController?: string | undefined;
205
- hub?: string[] | undefined;
206
- motionDetection?: string | undefined;
207
- objectDetection?: string | undefined;
208
- audioDetection?: string | undefined;
209
- ptz?: string | undefined;
195
+ plugins: {
196
+ id: string;
197
+ name: string;
198
+ }[];
199
+ cameraController?: {
200
+ id: string;
201
+ name: string;
202
+ } | undefined;
203
+ hub?: {
204
+ id: string;
205
+ name: string;
206
+ }[] | undefined;
207
+ motionDetection?: {
208
+ id: string;
209
+ name: string;
210
+ } | undefined;
211
+ objectDetection?: {
212
+ id: string;
213
+ name: string;
214
+ } | undefined;
215
+ audioDetection?: {
216
+ id: string;
217
+ name: string;
218
+ } | undefined;
219
+ ptz?: {
220
+ id: string;
221
+ name: string;
222
+ } | undefined;
210
223
  }, {
211
- plugins: string[];
212
- cameraController?: string | undefined;
213
- hub?: string[] | undefined;
214
- motionDetection?: string | undefined;
215
- objectDetection?: string | undefined;
216
- audioDetection?: string | undefined;
217
- ptz?: string | undefined;
224
+ plugins: {
225
+ id: string;
226
+ name: string;
227
+ }[];
228
+ cameraController?: {
229
+ id: string;
230
+ name: string;
231
+ } | undefined;
232
+ hub?: {
233
+ id: string;
234
+ name: string;
235
+ }[] | undefined;
236
+ motionDetection?: {
237
+ id: string;
238
+ name: string;
239
+ } | undefined;
240
+ objectDetection?: {
241
+ id: string;
242
+ name: string;
243
+ } | undefined;
244
+ audioDetection?: {
245
+ id: string;
246
+ name: string;
247
+ } | undefined;
248
+ ptz?: {
249
+ id: string;
250
+ name: string;
251
+ } | undefined;
218
252
  }>;
219
- export declare const streamingModeSchema: zod.ZodUnion<[zod.ZodLiteral<"auto">, zod.ZodLiteral<"mse">, zod.ZodLiteral<"webrtc">, zod.ZodLiteral<"webrtc/tcp">, zod.ZodLiteral<"mjpeg">, zod.ZodLiteral<"hls">, zod.ZodLiteral<"mp4">]>;
253
+ export declare const streamingModeSchema: zod.ZodUnion<[zod.ZodLiteral<"auto">, zod.ZodLiteral<"mse">, zod.ZodLiteral<"webrtc">, zod.ZodLiteral<"webrtc/tcp">]>;
254
+ export declare const aspectRatioSchema: zod.ZodUnion<[zod.ZodLiteral<"16:9">, zod.ZodLiteral<"8:3">, zod.ZodLiteral<"4:3">, zod.ZodLiteral<"auto">]>;
220
255
  export declare const frameWorkerSettingsSchema: zod.ZodObject<{
221
- decoder: zod.ZodUnion<[zod.ZodLiteral<"pillow">, zod.ZodLiteral<"wasm">, zod.ZodLiteral<"rust">]>;
256
+ decoder: zod.ZodUnion<[zod.ZodLiteral<"pillow">, zod.ZodLiteral<"wasm">, zod.ZodLiteral<"rust">, zod.ZodLiteral<"gpu">]>;
222
257
  fps: zod.ZodNumber;
223
- resolution: zod.ZodUnion<[zod.ZodLiteral<"3840x2160">, zod.ZodLiteral<"3072x1728">, zod.ZodLiteral<"2560x1440">, zod.ZodLiteral<"1920x1080">, zod.ZodLiteral<"1440x1080">, zod.ZodLiteral<"1280x720">, zod.ZodLiteral<"960x540">, zod.ZodLiteral<"640x480">, zod.ZodLiteral<"640x360">, zod.ZodLiteral<"320x240">, zod.ZodLiteral<"320x180">]>;
258
+ resolution: zod.ZodUnion<[zod.ZodLiteral<"640x480">, zod.ZodLiteral<"640x360">, zod.ZodLiteral<"320x240">, zod.ZodLiteral<"320x180">]>;
224
259
  }, "strip", zod.ZodTypeAny, {
225
- decoder: "pillow" | "wasm" | "rust";
260
+ decoder: "pillow" | "wasm" | "rust" | "gpu";
226
261
  fps: number;
227
- resolution: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180";
262
+ resolution: "640x480" | "640x360" | "320x240" | "320x180";
228
263
  }, {
229
- decoder: "pillow" | "wasm" | "rust";
264
+ decoder: "pillow" | "wasm" | "rust" | "gpu";
230
265
  fps: number;
231
- resolution: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180";
266
+ resolution: "640x480" | "640x360" | "320x240" | "320x180";
232
267
  }>;
233
268
  export declare const cameraTypeSchema: zod.ZodUnion<[zod.ZodLiteral<"camera">, zod.ZodLiteral<"doorbell">]>;
234
269
  export declare const interfaceSettingsSchema: zod.ZodObject<{
235
- streamingMode: zod.ZodUnion<[zod.ZodLiteral<"auto">, zod.ZodLiteral<"mse">, zod.ZodLiteral<"webrtc">, zod.ZodLiteral<"webrtc/tcp">, zod.ZodLiteral<"mjpeg">, zod.ZodLiteral<"hls">, zod.ZodLiteral<"mp4">]>;
236
- streamingSource: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">]>;
270
+ streamingMode: zod.ZodUnion<[zod.ZodLiteral<"auto">, zod.ZodLiteral<"mse">, zod.ZodLiteral<"webrtc">, zod.ZodLiteral<"webrtc/tcp">]>;
271
+ streamingSource: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"auto">]>;
272
+ aspectRatio: zod.ZodUnion<[zod.ZodLiteral<"16:9">, zod.ZodLiteral<"8:3">, zod.ZodLiteral<"4:3">, zod.ZodLiteral<"auto">]>;
237
273
  }, "strip", zod.ZodTypeAny, {
238
- streamingMode: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls";
239
- streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
274
+ streamingMode: "auto" | "webrtc" | "mse" | "webrtc/tcp";
275
+ streamingSource: "high-resolution" | "mid-resolution" | "low-resolution" | "auto";
276
+ aspectRatio: "auto" | "16:9" | "8:3" | "4:3";
240
277
  }, {
241
- streamingMode: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls";
242
- streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
278
+ streamingMode: "auto" | "webrtc" | "mse" | "webrtc/tcp";
279
+ streamingSource: "high-resolution" | "mid-resolution" | "low-resolution" | "auto";
280
+ aspectRatio: "auto" | "16:9" | "8:3" | "4:3";
243
281
  }>;
244
282
  export declare const cameraInfoSchema: zod.ZodObject<{
245
283
  model: zod.ZodOptional<zod.ZodString>;
@@ -263,7 +301,236 @@ export declare const cameraInfoSchema: zod.ZodObject<{
263
301
  firmwareVersion?: string | undefined;
264
302
  supportUrl?: string | undefined;
265
303
  }>;
266
- export declare const createCameraSchema: zod.ZodObject<{
304
+ export declare const pairCameraSchema: zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodObject<{
305
+ name: zod.ZodString;
306
+ url: zod.ZodString;
307
+ type: zod.ZodUnion<[zod.ZodLiteral<"Google">, zod.ZodLiteral<"Ring">, zod.ZodLiteral<"HomeKit">, zod.ZodLiteral<"Onvif">, zod.ZodLiteral<"Hass">, zod.ZodLiteral<"GoPro">, zod.ZodLiteral<"Roborock">, zod.ZodLiteral<"FFmpeg">, zod.ZodLiteral<"DVRip">, zod.ZodLiteral<"Webtorrent">]>;
308
+ username: zod.ZodOptional<zod.ZodString>;
309
+ email: zod.ZodOptional<zod.ZodString>;
310
+ password: zod.ZodOptional<zod.ZodString>;
311
+ pin: zod.ZodOptional<zod.ZodString>;
312
+ clientId: zod.ZodOptional<zod.ZodString>;
313
+ clientSecret: zod.ZodOptional<zod.ZodString>;
314
+ refreshToken: zod.ZodOptional<zod.ZodString>;
315
+ projectId: zod.ZodOptional<zod.ZodString>;
316
+ }, "strict", zod.ZodTypeAny, {
317
+ name: string;
318
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
319
+ url: string;
320
+ email?: string | undefined;
321
+ password?: string | undefined;
322
+ username?: string | undefined;
323
+ pin?: string | undefined;
324
+ clientId?: string | undefined;
325
+ clientSecret?: string | undefined;
326
+ refreshToken?: string | undefined;
327
+ projectId?: string | undefined;
328
+ }, {
329
+ name: string;
330
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
331
+ url: string;
332
+ email?: string | undefined;
333
+ password?: string | undefined;
334
+ username?: string | undefined;
335
+ pin?: string | undefined;
336
+ clientId?: string | undefined;
337
+ clientSecret?: string | undefined;
338
+ refreshToken?: string | undefined;
339
+ projectId?: string | undefined;
340
+ }>, {
341
+ name: string;
342
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
343
+ url: string;
344
+ email?: string | undefined;
345
+ password?: string | undefined;
346
+ username?: string | undefined;
347
+ pin?: string | undefined;
348
+ clientId?: string | undefined;
349
+ clientSecret?: string | undefined;
350
+ refreshToken?: string | undefined;
351
+ projectId?: string | undefined;
352
+ }, {
353
+ name: string;
354
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
355
+ url: string;
356
+ email?: string | undefined;
357
+ password?: string | undefined;
358
+ username?: string | undefined;
359
+ pin?: string | undefined;
360
+ clientId?: string | undefined;
361
+ clientSecret?: string | undefined;
362
+ refreshToken?: string | undefined;
363
+ projectId?: string | undefined;
364
+ }>, {
365
+ name: string;
366
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
367
+ url: string;
368
+ email?: string | undefined;
369
+ password?: string | undefined;
370
+ username?: string | undefined;
371
+ pin?: string | undefined;
372
+ clientId?: string | undefined;
373
+ clientSecret?: string | undefined;
374
+ refreshToken?: string | undefined;
375
+ projectId?: string | undefined;
376
+ }, {
377
+ name: string;
378
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
379
+ url: string;
380
+ email?: string | undefined;
381
+ password?: string | undefined;
382
+ username?: string | undefined;
383
+ pin?: string | undefined;
384
+ clientId?: string | undefined;
385
+ clientSecret?: string | undefined;
386
+ refreshToken?: string | undefined;
387
+ projectId?: string | undefined;
388
+ }>, {
389
+ name: string;
390
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
391
+ url: string;
392
+ email?: string | undefined;
393
+ password?: string | undefined;
394
+ username?: string | undefined;
395
+ pin?: string | undefined;
396
+ clientId?: string | undefined;
397
+ clientSecret?: string | undefined;
398
+ refreshToken?: string | undefined;
399
+ projectId?: string | undefined;
400
+ }, {
401
+ name: string;
402
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
403
+ url: string;
404
+ email?: string | undefined;
405
+ password?: string | undefined;
406
+ username?: string | undefined;
407
+ pin?: string | undefined;
408
+ clientId?: string | undefined;
409
+ clientSecret?: string | undefined;
410
+ refreshToken?: string | undefined;
411
+ projectId?: string | undefined;
412
+ }>, {
413
+ name: string;
414
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
415
+ url: string;
416
+ email?: string | undefined;
417
+ password?: string | undefined;
418
+ username?: string | undefined;
419
+ pin?: string | undefined;
420
+ clientId?: string | undefined;
421
+ clientSecret?: string | undefined;
422
+ refreshToken?: string | undefined;
423
+ projectId?: string | undefined;
424
+ }, {
425
+ name: string;
426
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
427
+ url: string;
428
+ email?: string | undefined;
429
+ password?: string | undefined;
430
+ username?: string | undefined;
431
+ pin?: string | undefined;
432
+ clientId?: string | undefined;
433
+ clientSecret?: string | undefined;
434
+ refreshToken?: string | undefined;
435
+ projectId?: string | undefined;
436
+ }>, {
437
+ name: string;
438
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
439
+ url: string;
440
+ email?: string | undefined;
441
+ password?: string | undefined;
442
+ username?: string | undefined;
443
+ pin?: string | undefined;
444
+ clientId?: string | undefined;
445
+ clientSecret?: string | undefined;
446
+ refreshToken?: string | undefined;
447
+ projectId?: string | undefined;
448
+ }, {
449
+ name: string;
450
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
451
+ url: string;
452
+ email?: string | undefined;
453
+ password?: string | undefined;
454
+ username?: string | undefined;
455
+ pin?: string | undefined;
456
+ clientId?: string | undefined;
457
+ clientSecret?: string | undefined;
458
+ refreshToken?: string | undefined;
459
+ projectId?: string | undefined;
460
+ }>, {
461
+ name: string;
462
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
463
+ url: string;
464
+ email?: string | undefined;
465
+ password?: string | undefined;
466
+ username?: string | undefined;
467
+ pin?: string | undefined;
468
+ clientId?: string | undefined;
469
+ clientSecret?: string | undefined;
470
+ refreshToken?: string | undefined;
471
+ projectId?: string | undefined;
472
+ }, {
473
+ name: string;
474
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
475
+ url: string;
476
+ email?: string | undefined;
477
+ password?: string | undefined;
478
+ username?: string | undefined;
479
+ pin?: string | undefined;
480
+ clientId?: string | undefined;
481
+ clientSecret?: string | undefined;
482
+ refreshToken?: string | undefined;
483
+ projectId?: string | undefined;
484
+ }>, {
485
+ name: string;
486
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
487
+ url: string;
488
+ email?: string | undefined;
489
+ password?: string | undefined;
490
+ username?: string | undefined;
491
+ pin?: string | undefined;
492
+ clientId?: string | undefined;
493
+ clientSecret?: string | undefined;
494
+ refreshToken?: string | undefined;
495
+ projectId?: string | undefined;
496
+ }, {
497
+ name: string;
498
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
499
+ url: string;
500
+ email?: string | undefined;
501
+ password?: string | undefined;
502
+ username?: string | undefined;
503
+ pin?: string | undefined;
504
+ clientId?: string | undefined;
505
+ clientSecret?: string | undefined;
506
+ refreshToken?: string | undefined;
507
+ projectId?: string | undefined;
508
+ }>, {
509
+ name: string;
510
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
511
+ url: string;
512
+ email?: string | undefined;
513
+ password?: string | undefined;
514
+ username?: string | undefined;
515
+ pin?: string | undefined;
516
+ clientId?: string | undefined;
517
+ clientSecret?: string | undefined;
518
+ refreshToken?: string | undefined;
519
+ projectId?: string | undefined;
520
+ }, {
521
+ name: string;
522
+ type: "Google" | "Ring" | "Roborock" | "HomeKit" | "Onvif" | "Hass" | "GoPro" | "FFmpeg" | "DVRip" | "Webtorrent";
523
+ url: string;
524
+ email?: string | undefined;
525
+ password?: string | undefined;
526
+ username?: string | undefined;
527
+ pin?: string | undefined;
528
+ clientId?: string | undefined;
529
+ clientSecret?: string | undefined;
530
+ refreshToken?: string | undefined;
531
+ projectId?: string | undefined;
532
+ }>;
533
+ export declare const createCameraSchema: zod.ZodEffects<zod.ZodObject<{
267
534
  _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
268
535
  nativeId: zod.ZodOptional<zod.ZodString>;
269
536
  pluginId: zod.ZodDefault<zod.ZodString>;
@@ -271,10 +538,6 @@ export declare const createCameraSchema: zod.ZodObject<{
271
538
  name: zod.ZodString;
272
539
  type: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"camera">, zod.ZodLiteral<"doorbell">]>>;
273
540
  isCloud: zod.ZodDefault<zod.ZodBoolean>;
274
- hasLight: zod.ZodDefault<zod.ZodBoolean>;
275
- hasSiren: zod.ZodDefault<zod.ZodBoolean>;
276
- hasBinarySensor: zod.ZodDefault<zod.ZodBoolean>;
277
- hasBattery: zod.ZodDefault<zod.ZodBoolean>;
278
541
  snapshotTTL: zod.ZodDefault<zod.ZodNumber>;
279
542
  info: zod.ZodDefault<zod.ZodObject<{
280
543
  model: zod.ZodOptional<zod.ZodString>;
@@ -298,61 +561,213 @@ export declare const createCameraSchema: zod.ZodObject<{
298
561
  firmwareVersion?: string | undefined;
299
562
  supportUrl?: string | undefined;
300
563
  }>>;
301
- sources: zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
564
+ sources: zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
302
565
  _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
303
566
  name: zod.ZodEffects<zod.ZodString, string, string>;
304
- roles: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>, "many">;
567
+ role: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>;
568
+ useForSnapshot: zod.ZodDefault<zod.ZodBoolean>;
569
+ hotMode: zod.ZodDefault<zod.ZodBoolean>;
305
570
  urls: zod.ZodArray<zod.ZodEffects<zod.ZodString, string, string>, "many">;
306
- internal: zod.ZodDefault<zod.ZodBoolean>;
307
571
  }, "strict", zod.ZodTypeAny, {
308
- _id: string;
309
572
  name: string;
310
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
573
+ _id: string;
311
574
  urls: string[];
312
- internal: boolean;
575
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
576
+ useForSnapshot: boolean;
577
+ hotMode: boolean;
313
578
  }, {
314
579
  name: string;
315
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
316
580
  urls: string[];
581
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
317
582
  _id?: string | undefined;
318
- internal?: boolean | undefined;
583
+ useForSnapshot?: boolean | undefined;
584
+ hotMode?: boolean | undefined;
319
585
  }>, "many">, {
586
+ name: string;
587
+ _id: string;
588
+ urls: string[];
589
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
590
+ useForSnapshot: boolean;
591
+ hotMode: boolean;
592
+ }[], {
593
+ name: string;
594
+ urls: string[];
595
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
596
+ _id?: string | undefined;
597
+ useForSnapshot?: boolean | undefined;
598
+ hotMode?: boolean | undefined;
599
+ }[]>, {
600
+ name: string;
320
601
  _id: string;
602
+ urls: string[];
603
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
604
+ useForSnapshot: boolean;
605
+ hotMode: boolean;
606
+ }[], {
321
607
  name: string;
322
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
323
608
  urls: string[];
324
- internal: boolean;
609
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
610
+ _id?: string | undefined;
611
+ useForSnapshot?: boolean | undefined;
612
+ hotMode?: boolean | undefined;
613
+ }[]>, {
614
+ name: string;
615
+ _id: string;
616
+ urls: string[];
617
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
618
+ useForSnapshot: boolean;
619
+ hotMode: boolean;
325
620
  }[], {
326
621
  name: string;
327
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
328
622
  urls: string[];
623
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
329
624
  _id?: string | undefined;
330
- internal?: boolean | undefined;
625
+ useForSnapshot?: boolean | undefined;
626
+ hotMode?: boolean | undefined;
627
+ }[]>, {
628
+ name: string;
629
+ _id: string;
630
+ urls: string[];
631
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
632
+ useForSnapshot: boolean;
633
+ hotMode: boolean;
634
+ }[], {
635
+ name: string;
636
+ urls: string[];
637
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
638
+ _id?: string | undefined;
639
+ useForSnapshot?: boolean | undefined;
640
+ hotMode?: boolean | undefined;
331
641
  }[]>;
332
642
  extensions: zod.ZodDefault<zod.ZodObject<{
333
- hub: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
334
- cameraController: zod.ZodOptional<zod.ZodString>;
335
- motionDetection: zod.ZodOptional<zod.ZodString>;
336
- audioDetection: zod.ZodOptional<zod.ZodString>;
337
- objectDetection: zod.ZodOptional<zod.ZodString>;
338
- ptz: zod.ZodOptional<zod.ZodString>;
339
- plugins: zod.ZodArray<zod.ZodString, "many">;
643
+ hub: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
644
+ id: zod.ZodString;
645
+ name: zod.ZodString;
646
+ }, "strip", zod.ZodTypeAny, {
647
+ id: string;
648
+ name: string;
649
+ }, {
650
+ id: string;
651
+ name: string;
652
+ }>, "many">>;
653
+ cameraController: zod.ZodOptional<zod.ZodObject<{
654
+ id: zod.ZodString;
655
+ name: zod.ZodString;
656
+ }, "strip", zod.ZodTypeAny, {
657
+ id: string;
658
+ name: string;
659
+ }, {
660
+ id: string;
661
+ name: string;
662
+ }>>;
663
+ motionDetection: zod.ZodOptional<zod.ZodObject<{
664
+ id: zod.ZodString;
665
+ name: zod.ZodString;
666
+ }, "strip", zod.ZodTypeAny, {
667
+ id: string;
668
+ name: string;
669
+ }, {
670
+ id: string;
671
+ name: string;
672
+ }>>;
673
+ audioDetection: zod.ZodOptional<zod.ZodObject<{
674
+ id: zod.ZodString;
675
+ name: zod.ZodString;
676
+ }, "strip", zod.ZodTypeAny, {
677
+ id: string;
678
+ name: string;
679
+ }, {
680
+ id: string;
681
+ name: string;
682
+ }>>;
683
+ objectDetection: zod.ZodOptional<zod.ZodObject<{
684
+ id: zod.ZodString;
685
+ name: zod.ZodString;
686
+ }, "strip", zod.ZodTypeAny, {
687
+ id: string;
688
+ name: string;
689
+ }, {
690
+ id: string;
691
+ name: string;
692
+ }>>;
693
+ ptz: zod.ZodOptional<zod.ZodObject<{
694
+ id: zod.ZodString;
695
+ name: zod.ZodString;
696
+ }, "strip", zod.ZodTypeAny, {
697
+ id: string;
698
+ name: string;
699
+ }, {
700
+ id: string;
701
+ name: string;
702
+ }>>;
703
+ plugins: zod.ZodArray<zod.ZodObject<{
704
+ id: zod.ZodString;
705
+ name: zod.ZodString;
706
+ }, "strip", zod.ZodTypeAny, {
707
+ id: string;
708
+ name: string;
709
+ }, {
710
+ id: string;
711
+ name: string;
712
+ }>, "many">;
340
713
  }, "strict", zod.ZodTypeAny, {
341
- plugins: string[];
342
- cameraController?: string | undefined;
343
- hub?: string[] | undefined;
344
- motionDetection?: string | undefined;
345
- objectDetection?: string | undefined;
346
- audioDetection?: string | undefined;
347
- ptz?: string | undefined;
714
+ plugins: {
715
+ id: string;
716
+ name: string;
717
+ }[];
718
+ cameraController?: {
719
+ id: string;
720
+ name: string;
721
+ } | undefined;
722
+ hub?: {
723
+ id: string;
724
+ name: string;
725
+ }[] | undefined;
726
+ motionDetection?: {
727
+ id: string;
728
+ name: string;
729
+ } | undefined;
730
+ objectDetection?: {
731
+ id: string;
732
+ name: string;
733
+ } | undefined;
734
+ audioDetection?: {
735
+ id: string;
736
+ name: string;
737
+ } | undefined;
738
+ ptz?: {
739
+ id: string;
740
+ name: string;
741
+ } | undefined;
348
742
  }, {
349
- plugins: string[];
350
- cameraController?: string | undefined;
351
- hub?: string[] | undefined;
352
- motionDetection?: string | undefined;
353
- objectDetection?: string | undefined;
354
- audioDetection?: string | undefined;
355
- ptz?: string | undefined;
743
+ plugins: {
744
+ id: string;
745
+ name: string;
746
+ }[];
747
+ cameraController?: {
748
+ id: string;
749
+ name: string;
750
+ } | undefined;
751
+ hub?: {
752
+ id: string;
753
+ name: string;
754
+ }[] | undefined;
755
+ motionDetection?: {
756
+ id: string;
757
+ name: string;
758
+ } | undefined;
759
+ objectDetection?: {
760
+ id: string;
761
+ name: string;
762
+ } | undefined;
763
+ audioDetection?: {
764
+ id: string;
765
+ name: string;
766
+ } | undefined;
767
+ ptz?: {
768
+ id: string;
769
+ name: string;
770
+ } | undefined;
356
771
  }>>;
357
772
  recording: zod.ZodDefault<zod.ZodObject<{
358
773
  enabled: zod.ZodDefault<zod.ZodBoolean>;
@@ -362,80 +777,42 @@ export declare const createCameraSchema: zod.ZodObject<{
362
777
  enabled?: boolean | undefined;
363
778
  }>>;
364
779
  interface: zod.ZodDefault<zod.ZodObject<{
365
- streamingMode: zod.ZodUnion<[zod.ZodLiteral<"auto">, zod.ZodLiteral<"mse">, zod.ZodLiteral<"webrtc">, zod.ZodLiteral<"webrtc/tcp">, zod.ZodLiteral<"mjpeg">, zod.ZodLiteral<"hls">, zod.ZodLiteral<"mp4">]>;
366
- streamingSource: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">]>;
780
+ streamingMode: zod.ZodUnion<[zod.ZodLiteral<"auto">, zod.ZodLiteral<"mse">, zod.ZodLiteral<"webrtc">, zod.ZodLiteral<"webrtc/tcp">]>;
781
+ streamingSource: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"auto">]>;
782
+ aspectRatio: zod.ZodUnion<[zod.ZodLiteral<"16:9">, zod.ZodLiteral<"8:3">, zod.ZodLiteral<"4:3">, zod.ZodLiteral<"auto">]>;
367
783
  }, "strip", zod.ZodTypeAny, {
368
- streamingMode: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls";
369
- streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
784
+ streamingMode: "auto" | "webrtc" | "mse" | "webrtc/tcp";
785
+ streamingSource: "high-resolution" | "mid-resolution" | "low-resolution" | "auto";
786
+ aspectRatio: "auto" | "16:9" | "8:3" | "4:3";
370
787
  }, {
371
- streamingMode: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls";
372
- streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
788
+ streamingMode: "auto" | "webrtc" | "mse" | "webrtc/tcp";
789
+ streamingSource: "high-resolution" | "mid-resolution" | "low-resolution" | "auto";
790
+ aspectRatio: "auto" | "16:9" | "8:3" | "4:3";
373
791
  }>>;
374
- detectionZone: zod.ZodDefault<zod.ZodArray<zod.ZodObject<{
792
+ detectionZones: zod.ZodDefault<zod.ZodArray<zod.ZodObject<{
375
793
  name: zod.ZodString;
376
- regions: zod.ZodArray<zod.ZodObject<{
377
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
378
- coords: zod.ZodArray<zod.ZodObject<{
379
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
380
- points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
381
- }, "strip", zod.ZodTypeAny, {
382
- _id: string;
383
- points: [number, number];
384
- }, {
385
- points: [number, number];
386
- _id?: string | undefined;
387
- }>, "many">;
388
- type: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"intersect">, zod.ZodLiteral<"contain">]>>;
389
- filter: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"include">, zod.ZodLiteral<"exclude">]>>;
390
- classes: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"person">, zod.ZodLiteral<"bicycle">, zod.ZodLiteral<"car">, zod.ZodLiteral<"motorcycle">, zod.ZodLiteral<"airplane">, zod.ZodLiteral<"bus">, zod.ZodLiteral<"train">, zod.ZodLiteral<"truck">, zod.ZodLiteral<"boat">, zod.ZodLiteral<"traffic light">, zod.ZodLiteral<"fire hydrant">, zod.ZodLiteral<"stop sign">, zod.ZodLiteral<"parking meter">, zod.ZodLiteral<"bench">, zod.ZodLiteral<"bird">, zod.ZodLiteral<"cat">, zod.ZodLiteral<"dog">, zod.ZodLiteral<"horse">, zod.ZodLiteral<"sheep">, zod.ZodLiteral<"cow">, zod.ZodLiteral<"elephant">, zod.ZodLiteral<"bear">, zod.ZodLiteral<"zebra">, zod.ZodLiteral<"giraffe">, zod.ZodLiteral<"backpack">, zod.ZodLiteral<"umbrella">, zod.ZodLiteral<"handbag">, zod.ZodLiteral<"tie">, zod.ZodLiteral<"suitcase">, zod.ZodLiteral<"frisbee">, zod.ZodLiteral<"skis">, zod.ZodLiteral<"snowboard">, zod.ZodLiteral<"sports ball">, zod.ZodLiteral<"kite">, zod.ZodLiteral<"baseball bat">, zod.ZodLiteral<"baseball glove">, zod.ZodLiteral<"skateboard">, zod.ZodLiteral<"surfboard">, zod.ZodLiteral<"tennis racket">, zod.ZodLiteral<"bottle">, zod.ZodLiteral<"wine glass">, zod.ZodLiteral<"cup">, zod.ZodLiteral<"fork">, zod.ZodLiteral<"knife">, zod.ZodLiteral<"spoon">, zod.ZodLiteral<"bowl">, zod.ZodLiteral<"banana">, zod.ZodLiteral<"apple">, zod.ZodLiteral<"sandwich">, zod.ZodLiteral<"orange">, zod.ZodLiteral<"broccoli">, zod.ZodLiteral<"carrot">, zod.ZodLiteral<"hot dog">, zod.ZodLiteral<"pizza">, zod.ZodLiteral<"donut">, zod.ZodLiteral<"cake">, zod.ZodLiteral<"chair">, zod.ZodLiteral<"couch">, zod.ZodLiteral<"potted plant">, zod.ZodLiteral<"bed">, zod.ZodLiteral<"dining table">, zod.ZodLiteral<"toilet">, zod.ZodLiteral<"tv">, zod.ZodLiteral<"laptop">, zod.ZodLiteral<"mouse">, zod.ZodLiteral<"remote">, zod.ZodLiteral<"keyboard">, zod.ZodLiteral<"cell phone">, zod.ZodLiteral<"microwave">, zod.ZodLiteral<"oven">, zod.ZodLiteral<"toaster">, zod.ZodLiteral<"sink">, zod.ZodLiteral<"refrigerator">, zod.ZodLiteral<"book">, zod.ZodLiteral<"clock">, zod.ZodLiteral<"vase">, zod.ZodLiteral<"scissors">, zod.ZodLiteral<"teddy bear">, zod.ZodLiteral<"hair drier">, zod.ZodLiteral<"toothbrush">, zod.ZodLiteral<"motion">]>, "many">;
391
- isPrivacyMask: zod.ZodDefault<zod.ZodBoolean>;
392
- }, "strict", zod.ZodTypeAny, {
393
- filter: "include" | "exclude";
394
- _id: string;
395
- type: "intersect" | "contain";
396
- coords: {
397
- _id: string;
398
- points: [number, number];
399
- }[];
400
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
401
- isPrivacyMask: boolean;
402
- }, {
403
- coords: {
404
- points: [number, number];
405
- _id?: string | undefined;
406
- }[];
407
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
408
- filter?: "include" | "exclude" | undefined;
409
- _id?: string | undefined;
410
- type?: "intersect" | "contain" | undefined;
411
- isPrivacyMask?: boolean | undefined;
412
- }>, "many">;
794
+ points: zod.ZodArray<zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>, "many">;
795
+ type: zod.ZodUnion<[zod.ZodLiteral<"intersect">, zod.ZodLiteral<"contain">]>;
796
+ filter: zod.ZodUnion<[zod.ZodLiteral<"include">, zod.ZodLiteral<"exclude">]>;
797
+ classes: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"animal">, zod.ZodLiteral<"person">, zod.ZodLiteral<"vehicle">, zod.ZodLiteral<"other">, zod.ZodLiteral<"motion">]>, "many">;
798
+ isPrivacyMask: zod.ZodBoolean;
799
+ color: zod.ZodDefault<zod.ZodString>;
413
800
  }, "strip", zod.ZodTypeAny, {
801
+ filter: "include" | "exclude";
414
802
  name: string;
415
- regions: {
416
- filter: "include" | "exclude";
417
- _id: string;
418
- type: "intersect" | "contain";
419
- coords: {
420
- _id: string;
421
- points: [number, number];
422
- }[];
423
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
424
- isPrivacyMask: boolean;
425
- }[];
803
+ type: "intersect" | "contain";
804
+ color: string;
805
+ points: [number, number][];
806
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
807
+ isPrivacyMask: boolean;
426
808
  }, {
809
+ filter: "include" | "exclude";
427
810
  name: string;
428
- regions: {
429
- coords: {
430
- points: [number, number];
431
- _id?: string | undefined;
432
- }[];
433
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
434
- filter?: "include" | "exclude" | undefined;
435
- _id?: string | undefined;
436
- type?: "intersect" | "contain" | undefined;
437
- isPrivacyMask?: boolean | undefined;
438
- }[];
811
+ type: "intersect" | "contain";
812
+ points: [number, number][];
813
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
814
+ isPrivacyMask: boolean;
815
+ color?: string | undefined;
439
816
  }>, "many">>;
440
817
  detectionSettings: zod.ZodDefault<zod.ZodObject<{
441
818
  motion: zod.ZodObject<{
@@ -468,42 +845,194 @@ export declare const createCameraSchema: zod.ZodObject<{
468
845
  };
469
846
  }>>;
470
847
  frameWorkerSettings: zod.ZodDefault<zod.ZodObject<{
471
- decoder: zod.ZodUnion<[zod.ZodLiteral<"pillow">, zod.ZodLiteral<"wasm">, zod.ZodLiteral<"rust">]>;
848
+ decoder: zod.ZodUnion<[zod.ZodLiteral<"pillow">, zod.ZodLiteral<"wasm">, zod.ZodLiteral<"rust">, zod.ZodLiteral<"gpu">]>;
472
849
  fps: zod.ZodNumber;
473
- resolution: zod.ZodUnion<[zod.ZodLiteral<"3840x2160">, zod.ZodLiteral<"3072x1728">, zod.ZodLiteral<"2560x1440">, zod.ZodLiteral<"1920x1080">, zod.ZodLiteral<"1440x1080">, zod.ZodLiteral<"1280x720">, zod.ZodLiteral<"960x540">, zod.ZodLiteral<"640x480">, zod.ZodLiteral<"640x360">, zod.ZodLiteral<"320x240">, zod.ZodLiteral<"320x180">]>;
850
+ resolution: zod.ZodUnion<[zod.ZodLiteral<"640x480">, zod.ZodLiteral<"640x360">, zod.ZodLiteral<"320x240">, zod.ZodLiteral<"320x180">]>;
474
851
  }, "strip", zod.ZodTypeAny, {
475
- decoder: "pillow" | "wasm" | "rust";
852
+ decoder: "pillow" | "wasm" | "rust" | "gpu";
476
853
  fps: number;
477
- resolution: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180";
854
+ resolution: "640x480" | "640x360" | "320x240" | "320x180";
478
855
  }, {
479
- decoder: "pillow" | "wasm" | "rust";
856
+ decoder: "pillow" | "wasm" | "rust" | "gpu";
857
+ fps: number;
858
+ resolution: "640x480" | "640x360" | "320x240" | "320x180";
859
+ }>>;
860
+ }, "strict", zod.ZodTypeAny, {
861
+ pluginId: string;
862
+ disabled: boolean;
863
+ name: string;
864
+ type: "doorbell" | "camera";
865
+ snapshotTTL: number;
866
+ info: {
867
+ model?: string | undefined;
868
+ manufacturer?: string | undefined;
869
+ hardware?: string | undefined;
870
+ serialNumber?: string | undefined;
871
+ firmwareVersion?: string | undefined;
872
+ supportUrl?: string | undefined;
873
+ };
874
+ isCloud: boolean;
875
+ detectionZones: {
876
+ filter: "include" | "exclude";
877
+ name: string;
878
+ type: "intersect" | "contain";
879
+ color: string;
880
+ points: [number, number][];
881
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
882
+ isPrivacyMask: boolean;
883
+ }[];
884
+ detectionSettings: {
885
+ object: {
886
+ confidence: number;
887
+ };
888
+ motion: {
889
+ timeout: number;
890
+ };
891
+ };
892
+ frameWorkerSettings: {
893
+ decoder: "pillow" | "wasm" | "rust" | "gpu";
894
+ fps: number;
895
+ resolution: "640x480" | "640x360" | "320x240" | "320x180";
896
+ };
897
+ sources: {
898
+ name: string;
899
+ _id: string;
900
+ urls: string[];
901
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
902
+ useForSnapshot: boolean;
903
+ hotMode: boolean;
904
+ }[];
905
+ _id: string;
906
+ interface: {
907
+ streamingMode: "auto" | "webrtc" | "mse" | "webrtc/tcp";
908
+ streamingSource: "high-resolution" | "mid-resolution" | "low-resolution" | "auto";
909
+ aspectRatio: "auto" | "16:9" | "8:3" | "4:3";
910
+ };
911
+ recording: {
912
+ enabled: boolean;
913
+ };
914
+ extensions: {
915
+ plugins: {
916
+ id: string;
917
+ name: string;
918
+ }[];
919
+ cameraController?: {
920
+ id: string;
921
+ name: string;
922
+ } | undefined;
923
+ hub?: {
924
+ id: string;
925
+ name: string;
926
+ }[] | undefined;
927
+ motionDetection?: {
928
+ id: string;
929
+ name: string;
930
+ } | undefined;
931
+ objectDetection?: {
932
+ id: string;
933
+ name: string;
934
+ } | undefined;
935
+ audioDetection?: {
936
+ id: string;
937
+ name: string;
938
+ } | undefined;
939
+ ptz?: {
940
+ id: string;
941
+ name: string;
942
+ } | undefined;
943
+ };
944
+ nativeId?: string | undefined;
945
+ }, {
946
+ name: string;
947
+ sources: {
948
+ name: string;
949
+ urls: string[];
950
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
951
+ _id?: string | undefined;
952
+ useForSnapshot?: boolean | undefined;
953
+ hotMode?: boolean | undefined;
954
+ }[];
955
+ nativeId?: string | undefined;
956
+ pluginId?: string | undefined;
957
+ disabled?: boolean | undefined;
958
+ type?: "doorbell" | "camera" | undefined;
959
+ snapshotTTL?: number | undefined;
960
+ info?: {
961
+ model?: string | undefined;
962
+ manufacturer?: string | undefined;
963
+ hardware?: string | undefined;
964
+ serialNumber?: string | undefined;
965
+ firmwareVersion?: string | undefined;
966
+ supportUrl?: string | undefined;
967
+ } | undefined;
968
+ isCloud?: boolean | undefined;
969
+ detectionZones?: {
970
+ filter: "include" | "exclude";
971
+ name: string;
972
+ type: "intersect" | "contain";
973
+ points: [number, number][];
974
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
975
+ isPrivacyMask: boolean;
976
+ color?: string | undefined;
977
+ }[] | undefined;
978
+ detectionSettings?: {
979
+ object: {
980
+ confidence: number;
981
+ };
982
+ motion: {
983
+ timeout: number;
984
+ };
985
+ } | undefined;
986
+ frameWorkerSettings?: {
987
+ decoder: "pillow" | "wasm" | "rust" | "gpu";
480
988
  fps: number;
481
- resolution: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180";
482
- }>>;
483
- }, "strict", zod.ZodTypeAny, {
484
- detectionZone: {
485
- name: string;
486
- regions: {
487
- filter: "include" | "exclude";
488
- _id: string;
489
- type: "intersect" | "contain";
490
- coords: {
491
- _id: string;
492
- points: [number, number];
493
- }[];
494
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
495
- isPrivacyMask: boolean;
989
+ resolution: "640x480" | "640x360" | "320x240" | "320x180";
990
+ } | undefined;
991
+ _id?: string | undefined;
992
+ interface?: {
993
+ streamingMode: "auto" | "webrtc" | "mse" | "webrtc/tcp";
994
+ streamingSource: "high-resolution" | "mid-resolution" | "low-resolution" | "auto";
995
+ aspectRatio: "auto" | "16:9" | "8:3" | "4:3";
996
+ } | undefined;
997
+ recording?: {
998
+ enabled?: boolean | undefined;
999
+ } | undefined;
1000
+ extensions?: {
1001
+ plugins: {
1002
+ id: string;
1003
+ name: string;
496
1004
  }[];
497
- }[];
498
- _id: string;
1005
+ cameraController?: {
1006
+ id: string;
1007
+ name: string;
1008
+ } | undefined;
1009
+ hub?: {
1010
+ id: string;
1011
+ name: string;
1012
+ }[] | undefined;
1013
+ motionDetection?: {
1014
+ id: string;
1015
+ name: string;
1016
+ } | undefined;
1017
+ objectDetection?: {
1018
+ id: string;
1019
+ name: string;
1020
+ } | undefined;
1021
+ audioDetection?: {
1022
+ id: string;
1023
+ name: string;
1024
+ } | undefined;
1025
+ ptz?: {
1026
+ id: string;
1027
+ name: string;
1028
+ } | undefined;
1029
+ } | undefined;
1030
+ }>, {
499
1031
  pluginId: string;
500
- name: string;
501
1032
  disabled: boolean;
502
- isCloud: boolean;
503
- hasLight: boolean;
504
- hasSiren: boolean;
505
- hasBinarySensor: boolean;
506
- hasBattery: boolean;
1033
+ name: string;
1034
+ type: "doorbell" | "camera";
1035
+ snapshotTTL: number;
507
1036
  info: {
508
1037
  model?: string | undefined;
509
1038
  manufacturer?: string | undefined;
@@ -512,8 +1041,16 @@ export declare const createCameraSchema: zod.ZodObject<{
512
1041
  firmwareVersion?: string | undefined;
513
1042
  supportUrl?: string | undefined;
514
1043
  };
515
- type: "camera" | "doorbell";
516
- snapshotTTL: number;
1044
+ isCloud: boolean;
1045
+ detectionZones: {
1046
+ filter: "include" | "exclude";
1047
+ name: string;
1048
+ type: "intersect" | "contain";
1049
+ color: string;
1050
+ points: [number, number][];
1051
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
1052
+ isPrivacyMask: boolean;
1053
+ }[];
517
1054
  detectionSettings: {
518
1055
  object: {
519
1056
  confidence: number;
@@ -523,66 +1060,73 @@ export declare const createCameraSchema: zod.ZodObject<{
523
1060
  };
524
1061
  };
525
1062
  frameWorkerSettings: {
526
- decoder: "pillow" | "wasm" | "rust";
1063
+ decoder: "pillow" | "wasm" | "rust" | "gpu";
527
1064
  fps: number;
528
- resolution: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180";
1065
+ resolution: "640x480" | "640x360" | "320x240" | "320x180";
529
1066
  };
530
1067
  sources: {
531
- _id: string;
532
1068
  name: string;
533
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
1069
+ _id: string;
534
1070
  urls: string[];
535
- internal: boolean;
1071
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1072
+ useForSnapshot: boolean;
1073
+ hotMode: boolean;
536
1074
  }[];
1075
+ _id: string;
537
1076
  interface: {
538
- streamingMode: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls";
539
- streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
540
- };
541
- extensions: {
542
- plugins: string[];
543
- cameraController?: string | undefined;
544
- hub?: string[] | undefined;
545
- motionDetection?: string | undefined;
546
- objectDetection?: string | undefined;
547
- audioDetection?: string | undefined;
548
- ptz?: string | undefined;
1077
+ streamingMode: "auto" | "webrtc" | "mse" | "webrtc/tcp";
1078
+ streamingSource: "high-resolution" | "mid-resolution" | "low-resolution" | "auto";
1079
+ aspectRatio: "auto" | "16:9" | "8:3" | "4:3";
549
1080
  };
550
1081
  recording: {
551
1082
  enabled: boolean;
552
1083
  };
1084
+ extensions: {
1085
+ plugins: {
1086
+ id: string;
1087
+ name: string;
1088
+ }[];
1089
+ cameraController?: {
1090
+ id: string;
1091
+ name: string;
1092
+ } | undefined;
1093
+ hub?: {
1094
+ id: string;
1095
+ name: string;
1096
+ }[] | undefined;
1097
+ motionDetection?: {
1098
+ id: string;
1099
+ name: string;
1100
+ } | undefined;
1101
+ objectDetection?: {
1102
+ id: string;
1103
+ name: string;
1104
+ } | undefined;
1105
+ audioDetection?: {
1106
+ id: string;
1107
+ name: string;
1108
+ } | undefined;
1109
+ ptz?: {
1110
+ id: string;
1111
+ name: string;
1112
+ } | undefined;
1113
+ };
553
1114
  nativeId?: string | undefined;
554
1115
  }, {
555
1116
  name: string;
556
1117
  sources: {
557
1118
  name: string;
558
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
559
1119
  urls: string[];
1120
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
560
1121
  _id?: string | undefined;
561
- internal?: boolean | undefined;
1122
+ useForSnapshot?: boolean | undefined;
1123
+ hotMode?: boolean | undefined;
562
1124
  }[];
563
- detectionZone?: {
564
- name: string;
565
- regions: {
566
- coords: {
567
- points: [number, number];
568
- _id?: string | undefined;
569
- }[];
570
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
571
- filter?: "include" | "exclude" | undefined;
572
- _id?: string | undefined;
573
- type?: "intersect" | "contain" | undefined;
574
- isPrivacyMask?: boolean | undefined;
575
- }[];
576
- }[] | undefined;
577
- _id?: string | undefined;
578
1125
  nativeId?: string | undefined;
579
1126
  pluginId?: string | undefined;
580
1127
  disabled?: boolean | undefined;
581
- isCloud?: boolean | undefined;
582
- hasLight?: boolean | undefined;
583
- hasSiren?: boolean | undefined;
584
- hasBinarySensor?: boolean | undefined;
585
- hasBattery?: boolean | undefined;
1128
+ type?: "doorbell" | "camera" | undefined;
1129
+ snapshotTTL?: number | undefined;
586
1130
  info?: {
587
1131
  model?: string | undefined;
588
1132
  manufacturer?: string | undefined;
@@ -591,8 +1135,16 @@ export declare const createCameraSchema: zod.ZodObject<{
591
1135
  firmwareVersion?: string | undefined;
592
1136
  supportUrl?: string | undefined;
593
1137
  } | undefined;
594
- type?: "camera" | "doorbell" | undefined;
595
- snapshotTTL?: number | undefined;
1138
+ isCloud?: boolean | undefined;
1139
+ detectionZones?: {
1140
+ filter: "include" | "exclude";
1141
+ name: string;
1142
+ type: "intersect" | "contain";
1143
+ points: [number, number][];
1144
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
1145
+ isPrivacyMask: boolean;
1146
+ color?: string | undefined;
1147
+ }[] | undefined;
596
1148
  detectionSettings?: {
597
1149
  object: {
598
1150
  confidence: number;
@@ -602,31 +1154,55 @@ export declare const createCameraSchema: zod.ZodObject<{
602
1154
  };
603
1155
  } | undefined;
604
1156
  frameWorkerSettings?: {
605
- decoder: "pillow" | "wasm" | "rust";
1157
+ decoder: "pillow" | "wasm" | "rust" | "gpu";
606
1158
  fps: number;
607
- resolution: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180";
1159
+ resolution: "640x480" | "640x360" | "320x240" | "320x180";
608
1160
  } | undefined;
1161
+ _id?: string | undefined;
609
1162
  interface?: {
610
- streamingMode: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls";
611
- streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
612
- } | undefined;
613
- extensions?: {
614
- plugins: string[];
615
- cameraController?: string | undefined;
616
- hub?: string[] | undefined;
617
- motionDetection?: string | undefined;
618
- objectDetection?: string | undefined;
619
- audioDetection?: string | undefined;
620
- ptz?: string | undefined;
1163
+ streamingMode: "auto" | "webrtc" | "mse" | "webrtc/tcp";
1164
+ streamingSource: "high-resolution" | "mid-resolution" | "low-resolution" | "auto";
1165
+ aspectRatio: "auto" | "16:9" | "8:3" | "4:3";
621
1166
  } | undefined;
622
1167
  recording?: {
623
1168
  enabled?: boolean | undefined;
624
1169
  } | undefined;
1170
+ extensions?: {
1171
+ plugins: {
1172
+ id: string;
1173
+ name: string;
1174
+ }[];
1175
+ cameraController?: {
1176
+ id: string;
1177
+ name: string;
1178
+ } | undefined;
1179
+ hub?: {
1180
+ id: string;
1181
+ name: string;
1182
+ }[] | undefined;
1183
+ motionDetection?: {
1184
+ id: string;
1185
+ name: string;
1186
+ } | undefined;
1187
+ objectDetection?: {
1188
+ id: string;
1189
+ name: string;
1190
+ } | undefined;
1191
+ audioDetection?: {
1192
+ id: string;
1193
+ name: string;
1194
+ } | undefined;
1195
+ ptz?: {
1196
+ id: string;
1197
+ name: string;
1198
+ } | undefined;
1199
+ } | undefined;
625
1200
  }>;
626
- export declare const patchCameraSchema: zod.ZodObject<{
1201
+ export declare const patchCameraSchema: zod.ZodEffects<zod.ZodObject<{
627
1202
  disabled: zod.ZodOptional<zod.ZodBoolean>;
628
1203
  type: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"camera">, zod.ZodLiteral<"doorbell">]>>;
629
1204
  name: zod.ZodOptional<zod.ZodString>;
1205
+ isCloud: zod.ZodOptional<zod.ZodBoolean>;
630
1206
  snapshotTTL: zod.ZodOptional<zod.ZodNumber>;
631
1207
  info: zod.ZodOptional<zod.ZodObject<{
632
1208
  model: zod.ZodOptional<zod.ZodOptional<zod.ZodString>>;
@@ -650,71 +1226,226 @@ export declare const patchCameraSchema: zod.ZodObject<{
650
1226
  firmwareVersion?: string | undefined;
651
1227
  supportUrl?: string | undefined;
652
1228
  }>>;
653
- sources: zod.ZodOptional<zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
1229
+ sources: zod.ZodOptional<zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
654
1230
  _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
655
1231
  name: zod.ZodEffects<zod.ZodString, string, string>;
656
- roles: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>, "many">;
1232
+ role: zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"snapshot">]>;
1233
+ useForSnapshot: zod.ZodDefault<zod.ZodBoolean>;
1234
+ hotMode: zod.ZodDefault<zod.ZodBoolean>;
657
1235
  urls: zod.ZodArray<zod.ZodEffects<zod.ZodString, string, string>, "many">;
658
- internal: zod.ZodDefault<zod.ZodBoolean>;
659
1236
  }, "strict", zod.ZodTypeAny, {
660
- _id: string;
661
1237
  name: string;
662
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
1238
+ _id: string;
663
1239
  urls: string[];
664
- internal: boolean;
1240
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1241
+ useForSnapshot: boolean;
1242
+ hotMode: boolean;
665
1243
  }, {
666
1244
  name: string;
667
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
668
1245
  urls: string[];
1246
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
669
1247
  _id?: string | undefined;
670
- internal?: boolean | undefined;
1248
+ useForSnapshot?: boolean | undefined;
1249
+ hotMode?: boolean | undefined;
671
1250
  }>, "many">, {
1251
+ name: string;
1252
+ _id: string;
1253
+ urls: string[];
1254
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1255
+ useForSnapshot: boolean;
1256
+ hotMode: boolean;
1257
+ }[], {
1258
+ name: string;
1259
+ urls: string[];
1260
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1261
+ _id?: string | undefined;
1262
+ useForSnapshot?: boolean | undefined;
1263
+ hotMode?: boolean | undefined;
1264
+ }[]>, {
1265
+ name: string;
1266
+ _id: string;
1267
+ urls: string[];
1268
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1269
+ useForSnapshot: boolean;
1270
+ hotMode: boolean;
1271
+ }[], {
1272
+ name: string;
1273
+ urls: string[];
1274
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1275
+ _id?: string | undefined;
1276
+ useForSnapshot?: boolean | undefined;
1277
+ hotMode?: boolean | undefined;
1278
+ }[]>, {
1279
+ name: string;
672
1280
  _id: string;
1281
+ urls: string[];
1282
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1283
+ useForSnapshot: boolean;
1284
+ hotMode: boolean;
1285
+ }[], {
1286
+ name: string;
1287
+ urls: string[];
1288
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1289
+ _id?: string | undefined;
1290
+ useForSnapshot?: boolean | undefined;
1291
+ hotMode?: boolean | undefined;
1292
+ }[]>, {
673
1293
  name: string;
674
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
1294
+ _id: string;
675
1295
  urls: string[];
676
- internal: boolean;
1296
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1297
+ useForSnapshot: boolean;
1298
+ hotMode: boolean;
677
1299
  }[], {
678
1300
  name: string;
679
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
680
1301
  urls: string[];
1302
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
681
1303
  _id?: string | undefined;
682
- internal?: boolean | undefined;
1304
+ useForSnapshot?: boolean | undefined;
1305
+ hotMode?: boolean | undefined;
683
1306
  }[]>>;
684
1307
  extensions: zod.ZodOptional<zod.ZodObject<{
685
- hub: zod.ZodOptional<zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>>;
686
- cameraController: zod.ZodOptional<zod.ZodOptional<zod.ZodString>>;
687
- motionDetection: zod.ZodOptional<zod.ZodOptional<zod.ZodString>>;
688
- audioDetection: zod.ZodOptional<zod.ZodOptional<zod.ZodString>>;
689
- objectDetection: zod.ZodOptional<zod.ZodOptional<zod.ZodString>>;
690
- ptz: zod.ZodOptional<zod.ZodOptional<zod.ZodString>>;
691
- plugins: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
1308
+ hub: zod.ZodOptional<zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
1309
+ id: zod.ZodString;
1310
+ name: zod.ZodString;
1311
+ }, "strip", zod.ZodTypeAny, {
1312
+ id: string;
1313
+ name: string;
1314
+ }, {
1315
+ id: string;
1316
+ name: string;
1317
+ }>, "many">>>;
1318
+ cameraController: zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{
1319
+ id: zod.ZodString;
1320
+ name: zod.ZodString;
1321
+ }, "strip", zod.ZodTypeAny, {
1322
+ id: string;
1323
+ name: string;
1324
+ }, {
1325
+ id: string;
1326
+ name: string;
1327
+ }>>>;
1328
+ motionDetection: zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{
1329
+ id: zod.ZodString;
1330
+ name: zod.ZodString;
1331
+ }, "strip", zod.ZodTypeAny, {
1332
+ id: string;
1333
+ name: string;
1334
+ }, {
1335
+ id: string;
1336
+ name: string;
1337
+ }>>>;
1338
+ audioDetection: zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{
1339
+ id: zod.ZodString;
1340
+ name: zod.ZodString;
1341
+ }, "strip", zod.ZodTypeAny, {
1342
+ id: string;
1343
+ name: string;
1344
+ }, {
1345
+ id: string;
1346
+ name: string;
1347
+ }>>>;
1348
+ objectDetection: zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{
1349
+ id: zod.ZodString;
1350
+ name: zod.ZodString;
1351
+ }, "strip", zod.ZodTypeAny, {
1352
+ id: string;
1353
+ name: string;
1354
+ }, {
1355
+ id: string;
1356
+ name: string;
1357
+ }>>>;
1358
+ ptz: zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{
1359
+ id: zod.ZodString;
1360
+ name: zod.ZodString;
1361
+ }, "strip", zod.ZodTypeAny, {
1362
+ id: string;
1363
+ name: string;
1364
+ }, {
1365
+ id: string;
1366
+ name: string;
1367
+ }>>>;
1368
+ plugins: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
1369
+ id: zod.ZodString;
1370
+ name: zod.ZodString;
1371
+ }, "strip", zod.ZodTypeAny, {
1372
+ id: string;
1373
+ name: string;
1374
+ }, {
1375
+ id: string;
1376
+ name: string;
1377
+ }>, "many">>;
692
1378
  }, "strict", zod.ZodTypeAny, {
693
- cameraController?: string | undefined;
694
- hub?: string[] | undefined;
695
- motionDetection?: string | undefined;
696
- objectDetection?: string | undefined;
697
- audioDetection?: string | undefined;
698
- ptz?: string | undefined;
699
- plugins?: string[] | undefined;
1379
+ cameraController?: {
1380
+ id: string;
1381
+ name: string;
1382
+ } | undefined;
1383
+ hub?: {
1384
+ id: string;
1385
+ name: string;
1386
+ }[] | undefined;
1387
+ motionDetection?: {
1388
+ id: string;
1389
+ name: string;
1390
+ } | undefined;
1391
+ objectDetection?: {
1392
+ id: string;
1393
+ name: string;
1394
+ } | undefined;
1395
+ audioDetection?: {
1396
+ id: string;
1397
+ name: string;
1398
+ } | undefined;
1399
+ ptz?: {
1400
+ id: string;
1401
+ name: string;
1402
+ } | undefined;
1403
+ plugins?: {
1404
+ id: string;
1405
+ name: string;
1406
+ }[] | undefined;
700
1407
  }, {
701
- cameraController?: string | undefined;
702
- hub?: string[] | undefined;
703
- motionDetection?: string | undefined;
704
- objectDetection?: string | undefined;
705
- audioDetection?: string | undefined;
706
- ptz?: string | undefined;
707
- plugins?: string[] | undefined;
1408
+ cameraController?: {
1409
+ id: string;
1410
+ name: string;
1411
+ } | undefined;
1412
+ hub?: {
1413
+ id: string;
1414
+ name: string;
1415
+ }[] | undefined;
1416
+ motionDetection?: {
1417
+ id: string;
1418
+ name: string;
1419
+ } | undefined;
1420
+ objectDetection?: {
1421
+ id: string;
1422
+ name: string;
1423
+ } | undefined;
1424
+ audioDetection?: {
1425
+ id: string;
1426
+ name: string;
1427
+ } | undefined;
1428
+ ptz?: {
1429
+ id: string;
1430
+ name: string;
1431
+ } | undefined;
1432
+ plugins?: {
1433
+ id: string;
1434
+ name: string;
1435
+ }[] | undefined;
708
1436
  }>>;
709
1437
  interface: zod.ZodOptional<zod.ZodObject<{
710
- streamingMode: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"auto">, zod.ZodLiteral<"mse">, zod.ZodLiteral<"webrtc">, zod.ZodLiteral<"webrtc/tcp">, zod.ZodLiteral<"mjpeg">, zod.ZodLiteral<"hls">, zod.ZodLiteral<"mp4">]>>;
711
- streamingSource: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">]>>;
1438
+ streamingMode: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"auto">, zod.ZodLiteral<"mse">, zod.ZodLiteral<"webrtc">, zod.ZodLiteral<"webrtc/tcp">]>>;
1439
+ streamingSource: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"high-resolution">, zod.ZodLiteral<"mid-resolution">, zod.ZodLiteral<"low-resolution">, zod.ZodLiteral<"auto">]>>;
1440
+ aspectRatio: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"16:9">, zod.ZodLiteral<"8:3">, zod.ZodLiteral<"4:3">, zod.ZodLiteral<"auto">]>>;
712
1441
  }, "strip", zod.ZodTypeAny, {
713
- streamingMode?: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls" | undefined;
714
- streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | undefined;
1442
+ streamingMode?: "auto" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
1443
+ streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | "auto" | undefined;
1444
+ aspectRatio?: "auto" | "16:9" | "8:3" | "4:3" | undefined;
715
1445
  }, {
716
- streamingMode?: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls" | undefined;
717
- streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | undefined;
1446
+ streamingMode?: "auto" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
1447
+ streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | "auto" | undefined;
1448
+ aspectRatio?: "auto" | "16:9" | "8:3" | "4:3" | undefined;
718
1449
  }>>;
719
1450
  recording: zod.ZodOptional<zod.ZodObject<{
720
1451
  enabled: zod.ZodOptional<zod.ZodDefault<zod.ZodBoolean>>;
@@ -723,71 +1454,30 @@ export declare const patchCameraSchema: zod.ZodObject<{
723
1454
  }, {
724
1455
  enabled?: boolean | undefined;
725
1456
  }>>;
726
- detectionZone: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
1457
+ detectionZones: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
727
1458
  name: zod.ZodString;
728
- regions: zod.ZodArray<zod.ZodObject<{
729
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
730
- coords: zod.ZodArray<zod.ZodObject<{
731
- _id: zod.ZodEffects<zod.ZodDefault<zod.ZodString>, string, string | undefined>;
732
- points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
733
- }, "strip", zod.ZodTypeAny, {
734
- _id: string;
735
- points: [number, number];
736
- }, {
737
- points: [number, number];
738
- _id?: string | undefined;
739
- }>, "many">;
740
- type: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"intersect">, zod.ZodLiteral<"contain">]>>;
741
- filter: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<"include">, zod.ZodLiteral<"exclude">]>>;
742
- classes: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"person">, zod.ZodLiteral<"bicycle">, zod.ZodLiteral<"car">, zod.ZodLiteral<"motorcycle">, zod.ZodLiteral<"airplane">, zod.ZodLiteral<"bus">, zod.ZodLiteral<"train">, zod.ZodLiteral<"truck">, zod.ZodLiteral<"boat">, zod.ZodLiteral<"traffic light">, zod.ZodLiteral<"fire hydrant">, zod.ZodLiteral<"stop sign">, zod.ZodLiteral<"parking meter">, zod.ZodLiteral<"bench">, zod.ZodLiteral<"bird">, zod.ZodLiteral<"cat">, zod.ZodLiteral<"dog">, zod.ZodLiteral<"horse">, zod.ZodLiteral<"sheep">, zod.ZodLiteral<"cow">, zod.ZodLiteral<"elephant">, zod.ZodLiteral<"bear">, zod.ZodLiteral<"zebra">, zod.ZodLiteral<"giraffe">, zod.ZodLiteral<"backpack">, zod.ZodLiteral<"umbrella">, zod.ZodLiteral<"handbag">, zod.ZodLiteral<"tie">, zod.ZodLiteral<"suitcase">, zod.ZodLiteral<"frisbee">, zod.ZodLiteral<"skis">, zod.ZodLiteral<"snowboard">, zod.ZodLiteral<"sports ball">, zod.ZodLiteral<"kite">, zod.ZodLiteral<"baseball bat">, zod.ZodLiteral<"baseball glove">, zod.ZodLiteral<"skateboard">, zod.ZodLiteral<"surfboard">, zod.ZodLiteral<"tennis racket">, zod.ZodLiteral<"bottle">, zod.ZodLiteral<"wine glass">, zod.ZodLiteral<"cup">, zod.ZodLiteral<"fork">, zod.ZodLiteral<"knife">, zod.ZodLiteral<"spoon">, zod.ZodLiteral<"bowl">, zod.ZodLiteral<"banana">, zod.ZodLiteral<"apple">, zod.ZodLiteral<"sandwich">, zod.ZodLiteral<"orange">, zod.ZodLiteral<"broccoli">, zod.ZodLiteral<"carrot">, zod.ZodLiteral<"hot dog">, zod.ZodLiteral<"pizza">, zod.ZodLiteral<"donut">, zod.ZodLiteral<"cake">, zod.ZodLiteral<"chair">, zod.ZodLiteral<"couch">, zod.ZodLiteral<"potted plant">, zod.ZodLiteral<"bed">, zod.ZodLiteral<"dining table">, zod.ZodLiteral<"toilet">, zod.ZodLiteral<"tv">, zod.ZodLiteral<"laptop">, zod.ZodLiteral<"mouse">, zod.ZodLiteral<"remote">, zod.ZodLiteral<"keyboard">, zod.ZodLiteral<"cell phone">, zod.ZodLiteral<"microwave">, zod.ZodLiteral<"oven">, zod.ZodLiteral<"toaster">, zod.ZodLiteral<"sink">, zod.ZodLiteral<"refrigerator">, zod.ZodLiteral<"book">, zod.ZodLiteral<"clock">, zod.ZodLiteral<"vase">, zod.ZodLiteral<"scissors">, zod.ZodLiteral<"teddy bear">, zod.ZodLiteral<"hair drier">, zod.ZodLiteral<"toothbrush">, zod.ZodLiteral<"motion">]>, "many">;
743
- isPrivacyMask: zod.ZodDefault<zod.ZodBoolean>;
744
- }, "strict", zod.ZodTypeAny, {
745
- filter: "include" | "exclude";
746
- _id: string;
747
- type: "intersect" | "contain";
748
- coords: {
749
- _id: string;
750
- points: [number, number];
751
- }[];
752
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
753
- isPrivacyMask: boolean;
754
- }, {
755
- coords: {
756
- points: [number, number];
757
- _id?: string | undefined;
758
- }[];
759
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
760
- filter?: "include" | "exclude" | undefined;
761
- _id?: string | undefined;
762
- type?: "intersect" | "contain" | undefined;
763
- isPrivacyMask?: boolean | undefined;
764
- }>, "many">;
1459
+ points: zod.ZodArray<zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>, "many">;
1460
+ type: zod.ZodUnion<[zod.ZodLiteral<"intersect">, zod.ZodLiteral<"contain">]>;
1461
+ filter: zod.ZodUnion<[zod.ZodLiteral<"include">, zod.ZodLiteral<"exclude">]>;
1462
+ classes: zod.ZodArray<zod.ZodUnion<[zod.ZodLiteral<"animal">, zod.ZodLiteral<"person">, zod.ZodLiteral<"vehicle">, zod.ZodLiteral<"other">, zod.ZodLiteral<"motion">]>, "many">;
1463
+ isPrivacyMask: zod.ZodBoolean;
1464
+ color: zod.ZodDefault<zod.ZodString>;
765
1465
  }, "strip", zod.ZodTypeAny, {
1466
+ filter: "include" | "exclude";
766
1467
  name: string;
767
- regions: {
768
- filter: "include" | "exclude";
769
- _id: string;
770
- type: "intersect" | "contain";
771
- coords: {
772
- _id: string;
773
- points: [number, number];
774
- }[];
775
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
776
- isPrivacyMask: boolean;
777
- }[];
1468
+ type: "intersect" | "contain";
1469
+ color: string;
1470
+ points: [number, number][];
1471
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
1472
+ isPrivacyMask: boolean;
778
1473
  }, {
1474
+ filter: "include" | "exclude";
779
1475
  name: string;
780
- regions: {
781
- coords: {
782
- points: [number, number];
783
- _id?: string | undefined;
784
- }[];
785
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
786
- filter?: "include" | "exclude" | undefined;
787
- _id?: string | undefined;
788
- type?: "intersect" | "contain" | undefined;
789
- isPrivacyMask?: boolean | undefined;
790
- }[];
1476
+ type: "intersect" | "contain";
1477
+ points: [number, number][];
1478
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
1479
+ isPrivacyMask: boolean;
1480
+ color?: string | undefined;
791
1481
  }>, "many">>;
792
1482
  detectionSettings: zod.ZodOptional<zod.ZodObject<{
793
1483
  motion: zod.ZodOptional<zod.ZodObject<{
@@ -820,35 +1510,23 @@ export declare const patchCameraSchema: zod.ZodObject<{
820
1510
  } | undefined;
821
1511
  }>>;
822
1512
  frameWorkerSettings: zod.ZodOptional<zod.ZodObject<{
823
- decoder: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"pillow">, zod.ZodLiteral<"wasm">, zod.ZodLiteral<"rust">]>>;
1513
+ decoder: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"pillow">, zod.ZodLiteral<"wasm">, zod.ZodLiteral<"rust">, zod.ZodLiteral<"gpu">]>>;
824
1514
  fps: zod.ZodOptional<zod.ZodNumber>;
825
- resolution: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"3840x2160">, zod.ZodLiteral<"3072x1728">, zod.ZodLiteral<"2560x1440">, zod.ZodLiteral<"1920x1080">, zod.ZodLiteral<"1440x1080">, zod.ZodLiteral<"1280x720">, zod.ZodLiteral<"960x540">, zod.ZodLiteral<"640x480">, zod.ZodLiteral<"640x360">, zod.ZodLiteral<"320x240">, zod.ZodLiteral<"320x180">]>>;
1515
+ resolution: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"640x480">, zod.ZodLiteral<"640x360">, zod.ZodLiteral<"320x240">, zod.ZodLiteral<"320x180">]>>;
826
1516
  }, "strip", zod.ZodTypeAny, {
827
- decoder?: "pillow" | "wasm" | "rust" | undefined;
1517
+ decoder?: "pillow" | "wasm" | "rust" | "gpu" | undefined;
828
1518
  fps?: number | undefined;
829
- resolution?: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180" | undefined;
1519
+ resolution?: "640x480" | "640x360" | "320x240" | "320x180" | undefined;
830
1520
  }, {
831
- decoder?: "pillow" | "wasm" | "rust" | undefined;
1521
+ decoder?: "pillow" | "wasm" | "rust" | "gpu" | undefined;
832
1522
  fps?: number | undefined;
833
- resolution?: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180" | undefined;
1523
+ resolution?: "640x480" | "640x360" | "320x240" | "320x180" | undefined;
834
1524
  }>>;
835
1525
  }, "strict", zod.ZodTypeAny, {
836
- detectionZone?: {
837
- name: string;
838
- regions: {
839
- filter: "include" | "exclude";
840
- _id: string;
841
- type: "intersect" | "contain";
842
- coords: {
843
- _id: string;
844
- points: [number, number];
845
- }[];
846
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
847
- isPrivacyMask: boolean;
848
- }[];
849
- }[] | undefined;
850
- name?: string | undefined;
851
1526
  disabled?: boolean | undefined;
1527
+ name?: string | undefined;
1528
+ type?: "doorbell" | "camera" | undefined;
1529
+ snapshotTTL?: number | undefined;
852
1530
  info?: {
853
1531
  model?: string | undefined;
854
1532
  manufacturer?: string | undefined;
@@ -857,8 +1535,16 @@ export declare const patchCameraSchema: zod.ZodObject<{
857
1535
  firmwareVersion?: string | undefined;
858
1536
  supportUrl?: string | undefined;
859
1537
  } | undefined;
860
- type?: "camera" | "doorbell" | undefined;
861
- snapshotTTL?: number | undefined;
1538
+ isCloud?: boolean | undefined;
1539
+ detectionZones?: {
1540
+ filter: "include" | "exclude";
1541
+ name: string;
1542
+ type: "intersect" | "contain";
1543
+ color: string;
1544
+ points: [number, number][];
1545
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
1546
+ isPrivacyMask: boolean;
1547
+ }[] | undefined;
862
1548
  detectionSettings?: {
863
1549
  object?: {
864
1550
  confidence: number;
@@ -868,50 +1554,61 @@ export declare const patchCameraSchema: zod.ZodObject<{
868
1554
  } | undefined;
869
1555
  } | undefined;
870
1556
  frameWorkerSettings?: {
871
- decoder?: "pillow" | "wasm" | "rust" | undefined;
1557
+ decoder?: "pillow" | "wasm" | "rust" | "gpu" | undefined;
872
1558
  fps?: number | undefined;
873
- resolution?: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180" | undefined;
1559
+ resolution?: "640x480" | "640x360" | "320x240" | "320x180" | undefined;
874
1560
  } | undefined;
875
1561
  sources?: {
876
- _id: string;
877
1562
  name: string;
878
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
1563
+ _id: string;
879
1564
  urls: string[];
880
- internal: boolean;
1565
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1566
+ useForSnapshot: boolean;
1567
+ hotMode: boolean;
881
1568
  }[] | undefined;
882
1569
  interface?: {
883
- streamingMode?: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls" | undefined;
884
- streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | undefined;
885
- } | undefined;
886
- extensions?: {
887
- cameraController?: string | undefined;
888
- hub?: string[] | undefined;
889
- motionDetection?: string | undefined;
890
- objectDetection?: string | undefined;
891
- audioDetection?: string | undefined;
892
- ptz?: string | undefined;
893
- plugins?: string[] | undefined;
1570
+ streamingMode?: "auto" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
1571
+ streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | "auto" | undefined;
1572
+ aspectRatio?: "auto" | "16:9" | "8:3" | "4:3" | undefined;
894
1573
  } | undefined;
895
1574
  recording?: {
896
1575
  enabled?: boolean | undefined;
897
1576
  } | undefined;
1577
+ extensions?: {
1578
+ cameraController?: {
1579
+ id: string;
1580
+ name: string;
1581
+ } | undefined;
1582
+ hub?: {
1583
+ id: string;
1584
+ name: string;
1585
+ }[] | undefined;
1586
+ motionDetection?: {
1587
+ id: string;
1588
+ name: string;
1589
+ } | undefined;
1590
+ objectDetection?: {
1591
+ id: string;
1592
+ name: string;
1593
+ } | undefined;
1594
+ audioDetection?: {
1595
+ id: string;
1596
+ name: string;
1597
+ } | undefined;
1598
+ ptz?: {
1599
+ id: string;
1600
+ name: string;
1601
+ } | undefined;
1602
+ plugins?: {
1603
+ id: string;
1604
+ name: string;
1605
+ }[] | undefined;
1606
+ } | undefined;
898
1607
  }, {
899
- detectionZone?: {
900
- name: string;
901
- regions: {
902
- coords: {
903
- points: [number, number];
904
- _id?: string | undefined;
905
- }[];
906
- classes: ("person" | "bicycle" | "car" | "motorcycle" | "airplane" | "bus" | "train" | "truck" | "boat" | "traffic light" | "fire hydrant" | "stop sign" | "parking meter" | "bench" | "bird" | "cat" | "dog" | "horse" | "sheep" | "cow" | "elephant" | "bear" | "zebra" | "giraffe" | "backpack" | "umbrella" | "handbag" | "tie" | "suitcase" | "frisbee" | "skis" | "snowboard" | "sports ball" | "kite" | "baseball bat" | "baseball glove" | "skateboard" | "surfboard" | "tennis racket" | "bottle" | "wine glass" | "cup" | "fork" | "knife" | "spoon" | "bowl" | "banana" | "apple" | "sandwich" | "orange" | "broccoli" | "carrot" | "hot dog" | "pizza" | "donut" | "cake" | "chair" | "couch" | "potted plant" | "bed" | "dining table" | "toilet" | "tv" | "laptop" | "mouse" | "remote" | "keyboard" | "cell phone" | "microwave" | "oven" | "toaster" | "sink" | "refrigerator" | "book" | "clock" | "vase" | "scissors" | "teddy bear" | "hair drier" | "toothbrush" | "motion")[];
907
- filter?: "include" | "exclude" | undefined;
908
- _id?: string | undefined;
909
- type?: "intersect" | "contain" | undefined;
910
- isPrivacyMask?: boolean | undefined;
911
- }[];
912
- }[] | undefined;
913
- name?: string | undefined;
914
1608
  disabled?: boolean | undefined;
1609
+ name?: string | undefined;
1610
+ type?: "doorbell" | "camera" | undefined;
1611
+ snapshotTTL?: number | undefined;
915
1612
  info?: {
916
1613
  model?: string | undefined;
917
1614
  manufacturer?: string | undefined;
@@ -920,8 +1617,16 @@ export declare const patchCameraSchema: zod.ZodObject<{
920
1617
  firmwareVersion?: string | undefined;
921
1618
  supportUrl?: string | undefined;
922
1619
  } | undefined;
923
- type?: "camera" | "doorbell" | undefined;
924
- snapshotTTL?: number | undefined;
1620
+ isCloud?: boolean | undefined;
1621
+ detectionZones?: {
1622
+ filter: "include" | "exclude";
1623
+ name: string;
1624
+ type: "intersect" | "contain";
1625
+ points: [number, number][];
1626
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
1627
+ isPrivacyMask: boolean;
1628
+ color?: string | undefined;
1629
+ }[] | undefined;
925
1630
  detectionSettings?: {
926
1631
  object?: {
927
1632
  confidence: number;
@@ -931,41 +1636,220 @@ export declare const patchCameraSchema: zod.ZodObject<{
931
1636
  } | undefined;
932
1637
  } | undefined;
933
1638
  frameWorkerSettings?: {
934
- decoder?: "pillow" | "wasm" | "rust" | undefined;
1639
+ decoder?: "pillow" | "wasm" | "rust" | "gpu" | undefined;
935
1640
  fps?: number | undefined;
936
- resolution?: "3840x2160" | "3072x1728" | "2560x1440" | "1920x1080" | "1440x1080" | "1280x720" | "960x540" | "640x480" | "640x360" | "320x240" | "320x180" | undefined;
1641
+ resolution?: "640x480" | "640x360" | "320x240" | "320x180" | undefined;
937
1642
  } | undefined;
938
1643
  sources?: {
939
1644
  name: string;
940
- roles: ("snapshot" | "high-resolution" | "mid-resolution" | "low-resolution")[];
941
1645
  urls: string[];
1646
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
942
1647
  _id?: string | undefined;
943
- internal?: boolean | undefined;
1648
+ useForSnapshot?: boolean | undefined;
1649
+ hotMode?: boolean | undefined;
944
1650
  }[] | undefined;
945
1651
  interface?: {
946
- streamingMode?: "mjpeg" | "mp4" | "auto" | "mse" | "webrtc" | "webrtc/tcp" | "hls" | undefined;
947
- streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | undefined;
1652
+ streamingMode?: "auto" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
1653
+ streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | "auto" | undefined;
1654
+ aspectRatio?: "auto" | "16:9" | "8:3" | "4:3" | undefined;
1655
+ } | undefined;
1656
+ recording?: {
1657
+ enabled?: boolean | undefined;
948
1658
  } | undefined;
949
1659
  extensions?: {
950
- cameraController?: string | undefined;
951
- hub?: string[] | undefined;
952
- motionDetection?: string | undefined;
953
- objectDetection?: string | undefined;
954
- audioDetection?: string | undefined;
955
- ptz?: string | undefined;
956
- plugins?: string[] | undefined;
1660
+ cameraController?: {
1661
+ id: string;
1662
+ name: string;
1663
+ } | undefined;
1664
+ hub?: {
1665
+ id: string;
1666
+ name: string;
1667
+ }[] | undefined;
1668
+ motionDetection?: {
1669
+ id: string;
1670
+ name: string;
1671
+ } | undefined;
1672
+ objectDetection?: {
1673
+ id: string;
1674
+ name: string;
1675
+ } | undefined;
1676
+ audioDetection?: {
1677
+ id: string;
1678
+ name: string;
1679
+ } | undefined;
1680
+ ptz?: {
1681
+ id: string;
1682
+ name: string;
1683
+ } | undefined;
1684
+ plugins?: {
1685
+ id: string;
1686
+ name: string;
1687
+ }[] | undefined;
1688
+ } | undefined;
1689
+ }>, {
1690
+ disabled?: boolean | undefined;
1691
+ name?: string | undefined;
1692
+ type?: "doorbell" | "camera" | undefined;
1693
+ snapshotTTL?: number | undefined;
1694
+ info?: {
1695
+ model?: string | undefined;
1696
+ manufacturer?: string | undefined;
1697
+ hardware?: string | undefined;
1698
+ serialNumber?: string | undefined;
1699
+ firmwareVersion?: string | undefined;
1700
+ supportUrl?: string | undefined;
1701
+ } | undefined;
1702
+ isCloud?: boolean | undefined;
1703
+ detectionZones?: {
1704
+ filter: "include" | "exclude";
1705
+ name: string;
1706
+ type: "intersect" | "contain";
1707
+ color: string;
1708
+ points: [number, number][];
1709
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
1710
+ isPrivacyMask: boolean;
1711
+ }[] | undefined;
1712
+ detectionSettings?: {
1713
+ object?: {
1714
+ confidence: number;
1715
+ } | undefined;
1716
+ motion?: {
1717
+ timeout: number;
1718
+ } | undefined;
1719
+ } | undefined;
1720
+ frameWorkerSettings?: {
1721
+ decoder?: "pillow" | "wasm" | "rust" | "gpu" | undefined;
1722
+ fps?: number | undefined;
1723
+ resolution?: "640x480" | "640x360" | "320x240" | "320x180" | undefined;
1724
+ } | undefined;
1725
+ sources?: {
1726
+ name: string;
1727
+ _id: string;
1728
+ urls: string[];
1729
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1730
+ useForSnapshot: boolean;
1731
+ hotMode: boolean;
1732
+ }[] | undefined;
1733
+ interface?: {
1734
+ streamingMode?: "auto" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
1735
+ streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | "auto" | undefined;
1736
+ aspectRatio?: "auto" | "16:9" | "8:3" | "4:3" | undefined;
957
1737
  } | undefined;
958
1738
  recording?: {
959
1739
  enabled?: boolean | undefined;
960
1740
  } | undefined;
961
- }>;
962
- export declare const patchExtensionsSchema: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
963
- export declare const submitExtensionsSchema: zod.ZodObject<{
964
- configPath: zod.ZodString;
965
- }, "strict", zod.ZodTypeAny, {
966
- configPath: string;
1741
+ extensions?: {
1742
+ cameraController?: {
1743
+ id: string;
1744
+ name: string;
1745
+ } | undefined;
1746
+ hub?: {
1747
+ id: string;
1748
+ name: string;
1749
+ }[] | undefined;
1750
+ motionDetection?: {
1751
+ id: string;
1752
+ name: string;
1753
+ } | undefined;
1754
+ objectDetection?: {
1755
+ id: string;
1756
+ name: string;
1757
+ } | undefined;
1758
+ audioDetection?: {
1759
+ id: string;
1760
+ name: string;
1761
+ } | undefined;
1762
+ ptz?: {
1763
+ id: string;
1764
+ name: string;
1765
+ } | undefined;
1766
+ plugins?: {
1767
+ id: string;
1768
+ name: string;
1769
+ }[] | undefined;
1770
+ } | undefined;
967
1771
  }, {
968
- configPath: string;
1772
+ disabled?: boolean | undefined;
1773
+ name?: string | undefined;
1774
+ type?: "doorbell" | "camera" | undefined;
1775
+ snapshotTTL?: number | undefined;
1776
+ info?: {
1777
+ model?: string | undefined;
1778
+ manufacturer?: string | undefined;
1779
+ hardware?: string | undefined;
1780
+ serialNumber?: string | undefined;
1781
+ firmwareVersion?: string | undefined;
1782
+ supportUrl?: string | undefined;
1783
+ } | undefined;
1784
+ isCloud?: boolean | undefined;
1785
+ detectionZones?: {
1786
+ filter: "include" | "exclude";
1787
+ name: string;
1788
+ type: "intersect" | "contain";
1789
+ points: [number, number][];
1790
+ classes: ("person" | "vehicle" | "animal" | "other" | "motion")[];
1791
+ isPrivacyMask: boolean;
1792
+ color?: string | undefined;
1793
+ }[] | undefined;
1794
+ detectionSettings?: {
1795
+ object?: {
1796
+ confidence: number;
1797
+ } | undefined;
1798
+ motion?: {
1799
+ timeout: number;
1800
+ } | undefined;
1801
+ } | undefined;
1802
+ frameWorkerSettings?: {
1803
+ decoder?: "pillow" | "wasm" | "rust" | "gpu" | undefined;
1804
+ fps?: number | undefined;
1805
+ resolution?: "640x480" | "640x360" | "320x240" | "320x180" | undefined;
1806
+ } | undefined;
1807
+ sources?: {
1808
+ name: string;
1809
+ urls: string[];
1810
+ role: "high-resolution" | "mid-resolution" | "low-resolution" | "snapshot";
1811
+ _id?: string | undefined;
1812
+ useForSnapshot?: boolean | undefined;
1813
+ hotMode?: boolean | undefined;
1814
+ }[] | undefined;
1815
+ interface?: {
1816
+ streamingMode?: "auto" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
1817
+ streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | "auto" | undefined;
1818
+ aspectRatio?: "auto" | "16:9" | "8:3" | "4:3" | undefined;
1819
+ } | undefined;
1820
+ recording?: {
1821
+ enabled?: boolean | undefined;
1822
+ } | undefined;
1823
+ extensions?: {
1824
+ cameraController?: {
1825
+ id: string;
1826
+ name: string;
1827
+ } | undefined;
1828
+ hub?: {
1829
+ id: string;
1830
+ name: string;
1831
+ }[] | undefined;
1832
+ motionDetection?: {
1833
+ id: string;
1834
+ name: string;
1835
+ } | undefined;
1836
+ objectDetection?: {
1837
+ id: string;
1838
+ name: string;
1839
+ } | undefined;
1840
+ audioDetection?: {
1841
+ id: string;
1842
+ name: string;
1843
+ } | undefined;
1844
+ ptz?: {
1845
+ id: string;
1846
+ name: string;
1847
+ } | undefined;
1848
+ plugins?: {
1849
+ id: string;
1850
+ name: string;
1851
+ }[] | undefined;
1852
+ } | undefined;
969
1853
  }>;
970
1854
  export declare const previewCameraSchema: zod.ZodObject<{
971
1855
  url: zod.ZodString;
@@ -976,5 +1860,5 @@ export declare const previewCameraSchema: zod.ZodObject<{
976
1860
  }>;
977
1861
  export type PreviewCameraInput = zod.TypeOf<typeof previewCameraSchema>;
978
1862
  export type CreateCameraInput = zod.TypeOf<typeof createCameraSchema>;
1863
+ export type PairCameraInput = zod.TypeOf<typeof pairCameraSchema>;
979
1864
  export type PatchCameraInput = zod.TypeOf<typeof patchCameraSchema>;
980
- export type PatchExtensionsInput = zod.TypeOf<typeof patchExtensionsSchema>;