@evercam/api 1.0.0-000bac2be

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 (113) hide show
  1. package/README.md +7 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +215 -0
  3. package/dist/api/api/adminApi.d.ts +381 -0
  4. package/dist/api/api/aiApi.d.ts +251 -0
  5. package/dist/api/api/authzApi.d.ts +40 -0
  6. package/dist/api/api/client/axios.d.ts +14 -0
  7. package/dist/api/api/client/customErrors.d.ts +90 -0
  8. package/dist/api/api/client/index.d.ts +5 -0
  9. package/dist/api/api/client/interceptors.d.ts +10 -0
  10. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  11. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  12. package/dist/api/api/evercamApi.d.ts +365 -0
  13. package/dist/api/api/evercamLabsApi.d.ts +34 -0
  14. package/dist/api/api/exNvrApi.d.ts +43 -0
  15. package/dist/api/api/index.d.ts +14 -0
  16. package/dist/api/api/ingestApi.d.ts +161 -0
  17. package/dist/api/api/ptzApi.d.ts +45 -0
  18. package/dist/api/api/videoWallApi.d.ts +9 -0
  19. package/dist/api/api/weatherApi.d.ts +9 -0
  20. package/dist/api/api/webRtcApi.d.ts +22 -0
  21. package/dist/api/api/workflowsApi.d.ts +15 -0
  22. package/dist/api/index.d.ts +3 -0
  23. package/dist/api/types/360.d.ts +364 -0
  24. package/dist/api/types/aconex.d.ts +143 -0
  25. package/dist/api/types/admin.d.ts +51 -0
  26. package/dist/api/types/aiConfigs.d.ts +244 -0
  27. package/dist/api/types/analytics.d.ts +612 -0
  28. package/dist/api/types/anpr.d.ts +143 -0
  29. package/dist/api/types/auditLogs.d.ts +116 -0
  30. package/dist/api/types/authz.d.ts +132 -0
  31. package/dist/api/types/autodesk.d.ts +29 -0
  32. package/dist/api/types/automation.d.ts +123 -0
  33. package/dist/api/types/axios.d.ts +71 -0
  34. package/dist/api/types/bim.d.ts +176 -0
  35. package/dist/api/types/camera.d.ts +542 -0
  36. package/dist/api/types/comments.d.ts +64 -0
  37. package/dist/api/types/company.d.ts +115 -0
  38. package/dist/api/types/compare.d.ts +72 -0
  39. package/dist/api/types/connector.d.ts +21 -0
  40. package/dist/api/types/coolify.d.ts +36 -0
  41. package/dist/api/types/countries.d.ts +500 -0
  42. package/dist/api/types/credentials.d.ts +6 -0
  43. package/dist/api/types/detections.d.ts +117 -0
  44. package/dist/api/types/drone.d.ts +106 -0
  45. package/dist/api/types/errors.d.ts +61 -0
  46. package/dist/api/types/gateReport.d.ts +322 -0
  47. package/dist/api/types/gateReportManagement.d.ts +170 -0
  48. package/dist/api/types/hammertech.d.ts +98 -0
  49. package/dist/api/types/hdd.d.ts +88 -0
  50. package/dist/api/types/index.d.ts +71 -0
  51. package/dist/api/types/ingest.d.ts +234 -0
  52. package/dist/api/types/kit.d.ts +375 -0
  53. package/dist/api/types/map.d.ts +16 -0
  54. package/dist/api/types/media.d.ts +120 -0
  55. package/dist/api/types/notification.d.ts +107 -0
  56. package/dist/api/types/nvr.d.ts +36 -0
  57. package/dist/api/types/oauth.d.ts +62 -0
  58. package/dist/api/types/observationEvents.d.ts +141 -0
  59. package/dist/api/types/observations.d.ts +84 -0
  60. package/dist/api/types/planner.d.ts +125 -0
  61. package/dist/api/types/posthog.d.ts +53 -0
  62. package/dist/api/types/procore.d.ts +229 -0
  63. package/dist/api/types/progressPhoto.d.ts +78 -0
  64. package/dist/api/types/project.d.ts +259 -0
  65. package/dist/api/types/recording.d.ts +118 -0
  66. package/dist/api/types/recycleBin.d.ts +14 -0
  67. package/dist/api/types/ring.d.ts +53 -0
  68. package/dist/api/types/roi.d.ts +19 -0
  69. package/dist/api/types/routeParams.d.ts +53 -0
  70. package/dist/api/types/router.d.ts +86 -0
  71. package/dist/api/types/shared.d.ts +199 -0
  72. package/dist/api/types/shares.d.ts +45 -0
  73. package/dist/api/types/sim.d.ts +114 -0
  74. package/dist/api/types/siteAnalytics.d.ts +285 -0
  75. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  76. package/dist/api/types/siteView.d.ts +78 -0
  77. package/dist/api/types/smartSeach.d.ts +5 -0
  78. package/dist/api/types/snapshots.d.ts +104 -0
  79. package/dist/api/types/socket.d.ts +4 -0
  80. package/dist/api/types/sso.d.ts +55 -0
  81. package/dist/api/types/storageProvider.d.ts +19 -0
  82. package/dist/api/types/storyblok.d.ts +27 -0
  83. package/dist/api/types/streaming.d.ts +97 -0
  84. package/dist/api/types/systemCheck.d.ts +11 -0
  85. package/dist/api/types/tag.d.ts +12 -0
  86. package/dist/api/types/time.d.ts +7 -0
  87. package/dist/api/types/timelapse.d.ts +95 -0
  88. package/dist/api/types/user.d.ts +357 -0
  89. package/dist/api/types/videoWall.d.ts +66 -0
  90. package/dist/api/types/voyageControl.d.ts +6 -0
  91. package/dist/api/types/weather.d.ts +153 -0
  92. package/dist/api/types/widget.d.ts +252 -0
  93. package/dist/api/types/workflows.d.ts +108 -0
  94. package/dist/api/types/xweather.d.ts +12 -0
  95. package/dist/api/utils.d.ts +10 -0
  96. package/dist/index.d.ts +2 -0
  97. package/dist/index.js +4397 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/index.umd.cjs +2 -0
  100. package/dist/index.umd.cjs.map +1 -0
  101. package/dist/shared/api/index.d.ts +3 -0
  102. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  103. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  104. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  105. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  106. package/dist/shared/types/components.d.ts +512 -0
  107. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  108. package/dist/shared/types/imagePlayer.d.ts +41 -0
  109. package/dist/shared/types/index.d.ts +7 -0
  110. package/dist/shared/types/observations.d.ts +25 -0
  111. package/dist/shared/types/rbac.d.ts +67 -0
  112. package/dist/shared/types/timeline.d.ts +10 -0
  113. package/package.json +52 -0
@@ -0,0 +1,176 @@
1
+ import { CompareLogoPosition, DateType, PaginationParams } from "@evercam/api/types";
2
+ export declare enum BimModelType {
3
+ Architectural = "Architectural",
4
+ Structural = "Structural",
5
+ FourD = "4D",
6
+ Mep = "Mep"
7
+ }
8
+ export type BimSnapshotRequestPayload = {
9
+ model: string;
10
+ layerTimestamp: string;
11
+ apiKey: string;
12
+ apiId: string;
13
+ };
14
+ export type BimSnapshotResponsePayload = {
15
+ imageUrl?: string;
16
+ };
17
+ export type BimModelRequestPayload = {
18
+ model?: string;
19
+ timestamp?: string;
20
+ apiKey?: string;
21
+ apiId?: string;
22
+ };
23
+ export type BimModelResponsePayload = {
24
+ dates?: [string];
25
+ height?: number;
26
+ imageUrl?: string;
27
+ model?: string;
28
+ models?: [string];
29
+ rotation?: number;
30
+ scaleX?: number;
31
+ scaleY?: number;
32
+ viewerHeight?: number;
33
+ viewerWidth?: number;
34
+ width?: number;
35
+ x?: number;
36
+ y?: number;
37
+ };
38
+ export type BimCompareExportRequestPayload = {
39
+ name: string;
40
+ cameraExid: string;
41
+ snapshotDate: string;
42
+ bimDate: string;
43
+ embed: string;
44
+ compareExid: string;
45
+ createAnimation: boolean;
46
+ bimTransparency?: number;
47
+ model?: string;
48
+ layerId?: number;
49
+ maskId?: number;
50
+ evercamWatermark?: boolean;
51
+ logo?: CompareLogoPosition;
52
+ };
53
+ export type BimLayerResponsePayload = {
54
+ id: number;
55
+ name: string;
56
+ insertedAt: string;
57
+ updatedAt: string;
58
+ shapes: string;
59
+ startAt: string;
60
+ };
61
+ export declare enum BimUploadStatus {
62
+ Initial = 0,
63
+ Saving = 1,
64
+ Success = 2,
65
+ Failed = 3
66
+ }
67
+ export type BimCreationPayload = {
68
+ title: string;
69
+ software: "synchro" | "navisworks" | "revit" | "tekla" | "archicad" | "solibri" | "bim360" | "other";
70
+ model: string;
71
+ apiKey: string;
72
+ apiId: string;
73
+ displayName: string;
74
+ fileUrl: string;
75
+ requestor: string;
76
+ finalView: boolean;
77
+ enableDistortion: boolean;
78
+ startAt: string;
79
+ };
80
+ export declare enum BIMLayerTypes {
81
+ Mask = "mask",
82
+ BimMask = "bim_mask",
83
+ MeasuringGrid = "measuring_grid",
84
+ BimArchitectural = "bim_architectural",
85
+ BimStructural = "bim_structural",
86
+ Bim4D = "bim_4d",
87
+ BimMep = "bim_mep",
88
+ RecordingsTag = "recordings_tag",
89
+ Milestone = "milestone",
90
+ ForgeBimArchitectural = "forge_bim_architectural",
91
+ ForgeBimStructural = "forge_bim_structural",
92
+ ForgeBim4D = "forge_bim_4d",
93
+ ForgeBimMep = "forge_bim_mep"
94
+ }
95
+ export type BimLayersQueryParams = {
96
+ layerType: BIMLayerTypes;
97
+ timestamp: DateType;
98
+ };
99
+ export type BIMLayerPostPayload = {
100
+ name: string;
101
+ layerType: BIMLayerTypes;
102
+ startAt: DateType;
103
+ shapes: string;
104
+ zIndex?: number;
105
+ };
106
+ export type BIMLayer = {
107
+ id: number;
108
+ name: string;
109
+ layerType: BIMLayerTypes;
110
+ startAt: DateType;
111
+ insertedAt: DateType;
112
+ updatedAt: DateType;
113
+ shapes: string;
114
+ };
115
+ export type BimPendingImage = {
116
+ url: string;
117
+ s3Url: string;
118
+ };
119
+ export type BimUploadCameraParameters = {
120
+ distortionFov: [number];
121
+ horizontalFov: number;
122
+ verticalFov: number;
123
+ focalLength1: number;
124
+ focalLength2: number;
125
+ centerX: number;
126
+ centerY: number;
127
+ };
128
+ export type PendingBimImagesParams = {
129
+ model: string;
130
+ apiKey: string;
131
+ apiId: string;
132
+ };
133
+ export type ProcessPendingImagesBimParams = {
134
+ model: string;
135
+ names: string[];
136
+ enableDistortion: boolean;
137
+ apiId: string;
138
+ apiKey: string;
139
+ };
140
+ export type BimUploadsQueryParams = PaginationParams & {
141
+ projectId: string;
142
+ id: string;
143
+ uploadedBy: string;
144
+ };
145
+ export type BimUploadPayload = {
146
+ upload: {
147
+ url: string;
148
+ title: string;
149
+ fileExtension: string;
150
+ }[];
151
+ };
152
+ export declare enum ForgeBimUploadMethod {
153
+ FileUpload = "file_upload",
154
+ AutodeskAcc = "autodesk_acc"
155
+ }
156
+ export declare enum ForgeBimFileRejectionReason {
157
+ InvalidType = "invalid_type",
158
+ ExceedsSizeLimit = "exceeds_size_limit"
159
+ }
160
+ export declare enum ForgeBimUploadStage {
161
+ TusUpload = "tus_upload",
162
+ IngestUpload = "ingest_upload"
163
+ }
164
+ export declare enum ForgeBimDialogTrigger {
165
+ UpdateModel = "update_model",
166
+ AddModel = "add_model",
167
+ InitialSetup = "initial_setup"
168
+ }
169
+ export type BimUpdatedWebhookPayload = {
170
+ eventName: "bim.updated";
171
+ projectId: string;
172
+ data: {
173
+ updatedAt: string;
174
+ bimIdentifier: string;
175
+ };
176
+ };
@@ -0,0 +1,542 @@
1
+ import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase, TimestampPositionCoordinates } from "@evercam/api/types";
2
+ import { DateRangeFilter } from "@evercam/api/types/time";
3
+ import { GeoPoint, TuplePoint2D } from "@evercam/api/types/shared";
4
+ export type CameraExid = string;
5
+ export type CamerasByExid = EntityByExid<Camera>;
6
+ export type Camera = {
7
+ cameraPowerSchedule?: Schedule;
8
+ camPassword?: string;
9
+ camUsername?: string;
10
+ cloudRecordings: {
11
+ frequency: number;
12
+ schedule: Schedule;
13
+ status: string;
14
+ storageDuration: string;
15
+ };
16
+ liveViewFrequency: number | null;
17
+ createdAt: string;
18
+ description: string | null;
19
+ discoverable: boolean;
20
+ external: {
21
+ host: string;
22
+ http: {
23
+ camera: string;
24
+ jpg: string;
25
+ nvrJpg: string;
26
+ nvrPort: string;
27
+ port: string;
28
+ };
29
+ rtsp: {
30
+ h264: string;
31
+ port: string;
32
+ };
33
+ };
34
+ featureFlags: Array<CameraFeatureFlag>;
35
+ fovAngle: number;
36
+ fovRadius: number;
37
+ heading: number;
38
+ id: CameraExid;
39
+ exid: CameraExid;
40
+ isOnline: boolean;
41
+ isPowerScheduleActive: boolean;
42
+ isPublic: boolean;
43
+ lastOnlineAt: string;
44
+ lastPolledAt: string;
45
+ location: GeoPoint;
46
+ modelId: string;
47
+ modelName: string;
48
+ name: string;
49
+ nvrChannel: number;
50
+ nvrDeviceId: string;
51
+ nvrHost: string;
52
+ nvrHttpPort: number;
53
+ nvrModel: NvrModel;
54
+ nvrScheme: string;
55
+ nvrSnapshotEndpoint: string;
56
+ nvrStreamingEndpoint: string;
57
+ offlineReason: string;
58
+ owned: boolean;
59
+ owner: string;
60
+ pitch: string | null;
61
+ project: {
62
+ id: string;
63
+ name: string;
64
+ };
65
+ proxyUrl: {
66
+ hls: string;
67
+ rtmp: string;
68
+ };
69
+ ptz: boolean;
70
+ recordingFromNvr: boolean;
71
+ model?: CameraModel;
72
+ roll: string | null;
73
+ routerId: number;
74
+ status: CameraStatus;
75
+ streamingServer: string;
76
+ thumbnailUrl: string;
77
+ largeThumbnailUrl?: string;
78
+ timezone: string;
79
+ updatedAt: string;
80
+ vendorName: string;
81
+ isAccessRestricted?: boolean;
82
+ kitAlarms?: KitAlarm[];
83
+ timestampPosition?: TimestampPositionCoordinates;
84
+ position?: number | null;
85
+ };
86
+ export type AdminCamera = {
87
+ id: number;
88
+ exid: CameraExid;
89
+ name: string;
90
+ status: string;
91
+ description: string | null;
92
+ createdAt: string;
93
+ updatedAt: string;
94
+ lastOnlineAt: string | null;
95
+ lastPolledAt: string | null;
96
+ decommissionedAt: string | null;
97
+ deletedAt?: string | null;
98
+ projectId: number | null;
99
+ projectExid: string | null;
100
+ projectName: string | null;
101
+ projectFeatureFlags: Array<ProjectFeatureFlag | string>;
102
+ userId: number | null;
103
+ userEmail: string;
104
+ userFullname: string;
105
+ userApiId?: string;
106
+ userApiKey?: string;
107
+ isPublic: boolean;
108
+ sharedWithConstruction?: boolean;
109
+ timezone: string | null;
110
+ location?: GeoPoint | null;
111
+ fovAngle?: number | null;
112
+ fovRadius?: number | null;
113
+ heading?: number | null;
114
+ pitch?: number | null;
115
+ roll?: number | null;
116
+ cameraModel?: string | null;
117
+ cameraHost?: string | null;
118
+ cameraHttpPort?: number | null;
119
+ cameraRtspPort?: number | null;
120
+ cameraScheme?: string | null;
121
+ cameraUsername?: string | null;
122
+ cameraPassword?: string | null;
123
+ cameraPictureEndpoint?: string | null;
124
+ rtspUrl?: string | null;
125
+ httpUrl?: string | null;
126
+ deviceId?: string | null;
127
+ nvrId?: number | null;
128
+ nvrDeviceId?: string | null;
129
+ nvrModel?: NvrModel | string | null;
130
+ nvrHost?: string | null;
131
+ nvrHttpPort?: number | null;
132
+ nvrRtspPort?: number | null;
133
+ nvrScheme?: string | null;
134
+ nvrUsername?: string | null;
135
+ nvrPassword?: string | null;
136
+ nvrPictureEndpoint?: string | null;
137
+ streamEndpoint?: string | null;
138
+ routerId?: number | null;
139
+ kitId?: number | null;
140
+ powerType?: string | null;
141
+ powerSchedule?: ScheduleLowercase | Record<string, string[]>;
142
+ isPowerScheduleActive?: boolean;
143
+ discoverable?: boolean;
144
+ recordingFromNvr?: boolean;
145
+ cloudRecordingFrequency?: number | null;
146
+ cloudRecordingId?: number | null;
147
+ cloudRecordingStatus?: string | null;
148
+ cloudRecordingSchedule?: ScheduleLowercase | null;
149
+ cloudRecordingStorageDuration?: number | null;
150
+ liveViewFrequency?: number | null;
151
+ anprSources?: string[];
152
+ storageProviders?: string[];
153
+ featureFlags?: CameraFeatureFlag[];
154
+ zohoId?: string | null;
155
+ offlineReason?: string | null;
156
+ macAddress?: string | null;
157
+ type?: string[];
158
+ thumbnailUrl?: string;
159
+ };
160
+ export type CameraMapMarker = {
161
+ isOnline: boolean;
162
+ location: GeoPoint;
163
+ needFov: boolean;
164
+ rotation: number;
165
+ fovAngle: number;
166
+ fovRadius: number;
167
+ };
168
+ export declare enum CameraStatus {
169
+ Online = "online",
170
+ Offline = "offline",
171
+ OfflineScheduled = "offline_scheduled",
172
+ Decommissioned = "decommissioned",
173
+ OnHold = "on_hold",
174
+ Waiting = "waiting",
175
+ UnderMaintenance = "under_maintenance",
176
+ WaitingForSiteVisit = "waiting_for_site_visit"
177
+ }
178
+ export declare enum IntensityChange {
179
+ High = "High",
180
+ Moderate = "Moderate",
181
+ Low = "Low",
182
+ NoChange = "No change",
183
+ Default = "Default"
184
+ }
185
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
186
+ export declare enum CameraFeatureFlag {
187
+ EdgeVideo = "edge_video",
188
+ BimCompare = "bim_compare",
189
+ TwoDBimCompare = "2d_bim_compare",
190
+ ForgeBIMCompare = "forge_bim_compare",
191
+ GateReport = "gate_report",
192
+ VideoStream = "video_stream",
193
+ WebRTC = "webrtc",
194
+ ANPR = "anpr",
195
+ ReverseANPR = "reverse_anpr",
196
+ PTZ = "ptz",
197
+ ObjectDetection = "object_detection",
198
+ Segmentation = "segmentation",
199
+ SegmentationAutoLabelling = "segmentation_auto_labelling",
200
+ PpeMonitoring = "ppe_monitoring",
201
+ PpeOwlv2 = "ppe_owlv2",
202
+ PpeGemini = "ppe_gemini",
203
+ PpeYolo = "ppe_yolo",
204
+ PpeV2 = "ppe_v2",
205
+ NoLiveView = "no_live_view",
206
+ NoRecordings = "no_recordings",
207
+ Ring = "ring",
208
+ CloudOnly = "cloud_only"
209
+ }
210
+ export type CameraUpdateRequestPayload = {
211
+ status?: string;
212
+ timezone?: string;
213
+ isPuclic?: boolean;
214
+ discoverable?: boolean;
215
+ fullname?: string;
216
+ lastOnline?: string;
217
+ owner?: string;
218
+ description?: string;
219
+ cameraPowerSchedule?: Schedule;
220
+ isPowerScheduleActive?: boolean;
221
+ powerSchedule?: object;
222
+ ptz?: boolean;
223
+ camUsername?: string;
224
+ camPassword?: string;
225
+ project?: {
226
+ id: string;
227
+ name: string;
228
+ };
229
+ modelName?: string;
230
+ host?: string;
231
+ nvrChannel?: number;
232
+ nvrPortHttp?: string;
233
+ externalRtspPort?: string;
234
+ name?: string;
235
+ h264Url?: string;
236
+ snapshotUrl?: string;
237
+ nvrSnapshotUrl?: string;
238
+ routerId?: string | number;
239
+ coordinates?: Array<number>;
240
+ heading?: number;
241
+ fovAngle?: number;
242
+ fovRadius?: number;
243
+ featureFlags: CameraFeatureFlag[];
244
+ isAccessRestricted?: boolean;
245
+ liveViewFrequency?: number | null;
246
+ };
247
+ export type CamerasResponsePayload = {
248
+ cameras?: Camera[];
249
+ };
250
+ export type CameraNoteResponsePayload = {
251
+ id: number;
252
+ camera: {
253
+ exid: string;
254
+ name: string;
255
+ };
256
+ who: string;
257
+ noteType: string;
258
+ content: string;
259
+ pinned: boolean;
260
+ insertedAt: string;
261
+ };
262
+ export type CameraStatusLog = {
263
+ start: string;
264
+ end: string;
265
+ state: CameraStatus;
266
+ };
267
+ export type Log = {
268
+ details: {
269
+ agent?: string;
270
+ country?: string;
271
+ countryCode?: string;
272
+ ip?: string;
273
+ with?: string;
274
+ message?: string;
275
+ status?: string;
276
+ type?: string;
277
+ };
278
+ insertedAt: string;
279
+ type: string;
280
+ who: string;
281
+ };
282
+ export type NvrConfig = {
283
+ apiUrl: string;
284
+ username?: string;
285
+ password?: string;
286
+ deviceId: string;
287
+ streamingUrl: string;
288
+ snapshotUrl: string;
289
+ bifUrl: string;
290
+ };
291
+ export declare enum NvrModel {
292
+ YCam = "y-cam",
293
+ Axis = "axis",
294
+ Dahua = "dahua",
295
+ Mobotix = "mobotix",
296
+ Hikvision = "hikvision",
297
+ Avigilion = "avigilion",
298
+ Hanwha = "hanwha",
299
+ Nxwitness = "nxwitness",
300
+ ExNvr = "ex_nvr"
301
+ }
302
+ export declare enum CameraModel {
303
+ YCam = "y-cam",
304
+ Axis = "axis",
305
+ Dahua = "dahua",
306
+ Mobotix = "mobotix",
307
+ Milesight = "milesight",
308
+ Hikvision = "hikvision",
309
+ Avigilion = "avigilion",
310
+ Hanwha = "hanwha",
311
+ Other = "other",
312
+ Ring = "ring"
313
+ }
314
+ export type Footage = {
315
+ cameraExid: string;
316
+ cameraName: string;
317
+ endDate: string | null;
318
+ startDate: string | null;
319
+ };
320
+ export type Hdd = {
321
+ id: number;
322
+ location: string;
323
+ serialNumber: string;
324
+ hddStatus: string;
325
+ shelfBlock: string;
326
+ type: string;
327
+ size: string;
328
+ format: string;
329
+ footages: Array<Footage>;
330
+ reportedCapacity: string;
331
+ reportedFreeSpace: string;
332
+ reportedProperty: string;
333
+ reportedPath: string;
334
+ reportedHddType: string;
335
+ errorStatus: string;
336
+ canExpand: boolean;
337
+ };
338
+ export type CameraPath = {
339
+ projectExid: ProjectExid;
340
+ cameraExid: CameraExid;
341
+ };
342
+ export type CheckCameraPortPayload = {
343
+ address: string;
344
+ port: number;
345
+ open: boolean;
346
+ };
347
+ export type CameraCreateRequestPayload = {
348
+ status: CameraStatus;
349
+ timezone?: string;
350
+ powerSchedule?: Schedule;
351
+ isPowerScheduleActive?: boolean;
352
+ ptz?: boolean;
353
+ name: string;
354
+ coordinates?: TuplePoint2D;
355
+ recordingFromNvr?: boolean;
356
+ CameraConfig: {
357
+ model: CameraModel;
358
+ scheme?: "http" | "https";
359
+ host: string;
360
+ httpPort: number;
361
+ username: string;
362
+ password: string;
363
+ rtspPort?: number;
364
+ pictureEndpoint?: string;
365
+ streamEndpoint?: string;
366
+ };
367
+ nvr?: {
368
+ model: NvrModel;
369
+ serial?: string;
370
+ deviceType?: NvrDeviceType;
371
+ macAddress?: string;
372
+ username: string;
373
+ password: string;
374
+ httpUrl: string;
375
+ rtspUrl?: string;
376
+ };
377
+ cloudRecording?: {
378
+ id?: number;
379
+ frequency: 1 | 2 | 4 | 5 | 6 | 10 | 12 | 30 | 60;
380
+ storageDuration: -1 | 1 | 7 | 30 | 90;
381
+ status: "on" | "off" | "paused" | "on_scheduled";
382
+ schedule: Schedule;
383
+ };
384
+ ownerId: number;
385
+ projectId: number;
386
+ };
387
+ export type CameraDeletePayload = {
388
+ verify: string;
389
+ password: string;
390
+ };
391
+ export type CameraNote = {
392
+ id: number;
393
+ cameraId: number;
394
+ who: string;
395
+ noteType: string;
396
+ content: string;
397
+ pinned: boolean;
398
+ insertedAt: DateType;
399
+ };
400
+ export type GetCameraNotesParams = {
401
+ noteType?: string;
402
+ pinned?: boolean;
403
+ sort?: string;
404
+ page?: number;
405
+ limit?: number;
406
+ };
407
+ export type CreateCameraNotePayload = {
408
+ noteType: string;
409
+ content: string;
410
+ pinned?: boolean;
411
+ };
412
+ export declare enum HddStatus {
413
+ Error = "error",
414
+ Idle = "idle",
415
+ NotExist = "notExist",
416
+ Unformatted = "unformatted",
417
+ Ok = "ok"
418
+ }
419
+ export type NvrQueryParams = PaginationParams & {
420
+ ownerId: number;
421
+ cameraName: string;
422
+ cameraExid: CameraExid;
423
+ cameraIp: string;
424
+ hddStatus: HddStatus;
425
+ };
426
+ export type OfflineCamera = {
427
+ id: number;
428
+ exid: string;
429
+ name: string;
430
+ fullname: string;
431
+ timezone: string;
432
+ status: CameraStatus;
433
+ zohoId: string;
434
+ externalHost: string;
435
+ nvrHttpPort: string;
436
+ externalRtspPort: string;
437
+ username: string;
438
+ password: string;
439
+ createdAt: DateType;
440
+ lastPolledAt: DateType;
441
+ lastOnlineAt: DateType;
442
+ powerType: PowerType;
443
+ powerSchedule: PowerSchedule;
444
+ batteryReadingsLastSeen: DateType;
445
+ batteryReadingsLastVoltage: number;
446
+ sims: {
447
+ billPayer: string;
448
+ number: string;
449
+ provider: string;
450
+ }[];
451
+ };
452
+ export type OfflineCameraQueryParams = PaginationParams & {
453
+ status: CameraStatus;
454
+ cameraExid: CameraExid;
455
+ cameraName: string;
456
+ timezone: string;
457
+ cameraOwner: string;
458
+ powerType: PowerType;
459
+ powerSchedule: PowerSchedule;
460
+ batteryReadingsLastVoltage: number;
461
+ };
462
+ export type OfflineCameraNote = {
463
+ action: AuditLogActionType;
464
+ username: string;
465
+ insertedAt: DateType;
466
+ cameraId: number;
467
+ customMessage: string;
468
+ };
469
+ export type OfflineCameraNoteResponse = {
470
+ publicNotes: OfflineCameraNote[];
471
+ privateNotes: OfflineCameraNote[];
472
+ };
473
+ export type SiteVisitCamerasQueryParams = PaginationParams & {
474
+ cameraOwner: string;
475
+ };
476
+ export type ProjectCamera = {
477
+ apiId: string;
478
+ apiKey: string;
479
+ exid: string;
480
+ id: number;
481
+ name: string;
482
+ ownerEmail: string;
483
+ ownerFullname: string;
484
+ };
485
+ export declare enum DuplicatedCameraFields {
486
+ Host = "host",
487
+ CameraHttpPort = "camera_http_port",
488
+ NvrHttpPort = "nvr_http_port",
489
+ NvrDeviceId = "nvr_device_id"
490
+ }
491
+ export type DuplicatedCameraObject = {
492
+ exid: string;
493
+ name: string;
494
+ cameraStatus: string;
495
+ crStatus: string;
496
+ };
497
+ export type DuplicatedCameraResponse = {
498
+ cameras: DuplicatedCameraObject[];
499
+ host: string;
500
+ cameraHttpPort: number;
501
+ nvrHttpPort: number;
502
+ nvrDeviceId: string;
503
+ count: number;
504
+ };
505
+ export type MergeDuplicatedCameraPayload = {
506
+ masterCamera: Record<string, unknown>;
507
+ shareeCameras: Record<string, unknown>;
508
+ };
509
+ export type FetchCameraQueryParams = PaginationParams & {
510
+ /** Narrows the index to one project. Sent as `project_exid`. */
511
+ projectExid: ProjectExid;
512
+ status: CameraStatus;
513
+ isPublic: boolean;
514
+ featureFlags: CameraFeatureFlag[];
515
+ ptz: boolean;
516
+ frequency: number;
517
+ channel: number;
518
+ cameraExid: CameraExid;
519
+ cameraExids: CameraExid[];
520
+ cameraName: string;
521
+ projectName: string;
522
+ timezone: string;
523
+ region: string;
524
+ cameraModel: CameraModel;
525
+ nvrModel: NvrModel;
526
+ cameraOwner: string;
527
+ ownerEmail: string;
528
+ isRecording: boolean;
529
+ cloudRecordingStorageDuration: number;
530
+ cameraIds: string;
531
+ hasLocation: boolean;
532
+ externalHttpPort: string;
533
+ externalRsptPort: string;
534
+ nvrHttpPort: string;
535
+ };
536
+ export declare enum BimType {
537
+ TwoD = "2D",
538
+ Forge = "Forge"
539
+ }
540
+ export type CameraDateRangeFilter = DateRangeFilter & {
541
+ cameraExid: CameraExid;
542
+ };