@evercam/api 1.0.0-c65b4959f → 1.0.0-cb5ac4ad5

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 (99) hide show
  1. package/README.md +3 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +201 -12
  3. package/dist/api/api/adminApi.d.ts +114 -101
  4. package/dist/api/api/aiApi.d.ts +187 -82
  5. package/dist/api/api/authzApi.d.ts +34 -15
  6. package/dist/api/api/client/axios.d.ts +2 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  8. package/dist/api/api/evercamApi.d.ts +154 -108
  9. package/dist/api/api/evercamLabsApi.d.ts +8 -17
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/index.d.ts +1 -0
  12. package/dist/api/api/ingestApi.d.ts +123 -35
  13. package/dist/api/api/ptzApi.d.ts +12 -3
  14. package/dist/api/api/videoWallApi.d.ts +7 -7
  15. package/dist/api/api/weatherApi.d.ts +2 -2
  16. package/dist/api/api/workflowsApi.d.ts +15 -0
  17. package/dist/api/types/360.d.ts +288 -25
  18. package/dist/api/types/aconex.d.ts +104 -6
  19. package/dist/api/types/admin.d.ts +51 -0
  20. package/dist/api/types/aiConfigs.d.ts +244 -0
  21. package/dist/api/types/analytics.d.ts +182 -59
  22. package/dist/api/types/anpr.d.ts +53 -13
  23. package/dist/api/types/auditLogs.d.ts +19 -2
  24. package/dist/api/types/authz.d.ts +132 -0
  25. package/dist/api/types/autodesk.d.ts +7 -7
  26. package/dist/api/types/automation.d.ts +114 -1
  27. package/dist/api/types/axios.d.ts +20 -14
  28. package/dist/api/types/bim.d.ts +38 -9
  29. package/dist/api/types/camera.d.ts +130 -119
  30. package/dist/api/types/comments.d.ts +16 -11
  31. package/dist/api/types/company.d.ts +42 -1
  32. package/dist/api/types/compare.d.ts +20 -5
  33. package/dist/api/types/connector.d.ts +5 -5
  34. package/dist/api/types/coolify.d.ts +20 -2
  35. package/dist/api/types/credentials.d.ts +1 -0
  36. package/dist/api/types/detections.d.ts +23 -32
  37. package/dist/api/types/drone.d.ts +95 -6
  38. package/dist/api/types/errors.d.ts +13 -1
  39. package/dist/api/types/gateReport.d.ts +49 -168
  40. package/dist/api/types/gateReportManagement.d.ts +170 -0
  41. package/dist/api/types/hammertech.d.ts +98 -0
  42. package/dist/api/types/hdd.d.ts +26 -1
  43. package/dist/api/types/index.d.ts +16 -3
  44. package/dist/api/types/ingest.d.ts +191 -4
  45. package/dist/api/types/kit.d.ts +76 -56
  46. package/dist/api/types/map.d.ts +12 -0
  47. package/dist/api/types/media.d.ts +9 -3
  48. package/dist/api/types/notification.d.ts +83 -3
  49. package/dist/api/types/oauth.d.ts +62 -0
  50. package/dist/api/types/observationEvents.d.ts +141 -0
  51. package/dist/api/types/observations.d.ts +84 -0
  52. package/dist/api/types/planner.d.ts +102 -9
  53. package/dist/api/types/posthog.d.ts +35 -0
  54. package/dist/api/types/procore.d.ts +13 -6
  55. package/dist/api/types/progressPhoto.d.ts +6 -32
  56. package/dist/api/types/project.d.ts +150 -19
  57. package/dist/api/types/recording.d.ts +10 -15
  58. package/dist/api/types/recycleBin.d.ts +1 -1
  59. package/dist/api/types/ring.d.ts +53 -0
  60. package/dist/api/types/roi.d.ts +3 -11
  61. package/dist/api/types/routeParams.d.ts +1 -0
  62. package/dist/api/types/router.d.ts +20 -1
  63. package/dist/api/types/shared.d.ts +28 -24
  64. package/dist/api/types/shares.d.ts +6 -157
  65. package/dist/api/types/sim.d.ts +6 -6
  66. package/dist/api/types/siteAnalytics.d.ts +189 -46
  67. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  68. package/dist/api/types/siteView.d.ts +78 -0
  69. package/dist/api/types/smartSeach.d.ts +5 -0
  70. package/dist/api/types/snapshots.d.ts +49 -4
  71. package/dist/api/types/socket.d.ts +4 -0
  72. package/dist/api/types/storageProvider.d.ts +19 -0
  73. package/dist/api/types/storyblok.d.ts +27 -0
  74. package/dist/api/types/streaming.d.ts +3 -3
  75. package/dist/api/types/tag.d.ts +1 -1
  76. package/dist/api/types/time.d.ts +4 -18
  77. package/dist/api/types/timelapse.d.ts +7 -11
  78. package/dist/api/types/user.d.ts +121 -35
  79. package/dist/api/types/videoWall.d.ts +47 -14
  80. package/dist/api/types/weather.d.ts +77 -11
  81. package/dist/api/types/widget.d.ts +76 -15
  82. package/dist/api/types/workflows.d.ts +108 -0
  83. package/dist/api/types/xweather.d.ts +4 -4
  84. package/dist/api/utils.d.ts +1 -0
  85. package/dist/index.js +2446 -1048
  86. package/dist/index.js.map +1 -1
  87. package/dist/index.umd.cjs +1 -1
  88. package/dist/index.umd.cjs.map +1 -1
  89. package/dist/shared/types/components.d.ts +355 -36
  90. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  91. package/dist/shared/types/imagePlayer.d.ts +10 -3
  92. package/dist/shared/types/index.d.ts +3 -0
  93. package/dist/shared/types/observations.d.ts +25 -0
  94. package/dist/shared/types/rbac.d.ts +67 -0
  95. package/dist/shared/types/timeline.d.ts +2 -1
  96. package/package.json +6 -4
  97. package/dist/api/types/copilot.d.ts +0 -157
  98. package/dist/api/types/storageServers.d.ts +0 -4
  99. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -0,0 +1,27 @@
1
+ import type { JsonObject, JsonValue } from "@evercam/api/types";
2
+ export type StoryblokStory<TContent extends JsonObject = JsonObject> = {
3
+ id: number;
4
+ uuid: string;
5
+ name: string;
6
+ slug: string;
7
+ fullSlug: string;
8
+ content: TContent;
9
+ createdAt: string;
10
+ publishedAt: string | null;
11
+ updatedAt: string;
12
+ position: number;
13
+ tagList: string[];
14
+ isStartpage: boolean;
15
+ parentId: number | null;
16
+ groupId: string;
17
+ firstPublishedAt: string | null;
18
+ releaseId: number | null;
19
+ lang: string;
20
+ path: string;
21
+ };
22
+ export type StoryblokResponse<TContent extends JsonObject = JsonObject> = {
23
+ story: StoryblokStory<TContent>;
24
+ cv: number;
25
+ rels: JsonValue[];
26
+ links: JsonValue[];
27
+ };
@@ -1,11 +1,11 @@
1
- import { DateTime_Z_micros, KitMetricData } from "@/types";
1
+ import { KitMetricData } from "@evercam/api/types";
2
2
  export type ExNvrLoginResponse = {
3
3
  accessToken: string;
4
4
  };
5
5
  export type ExNvrRecordingInterval = {
6
6
  active: boolean;
7
- startDate: DateTime_Z_micros;
8
- endDate: DateTime_Z_micros;
7
+ startDate: string;
8
+ endDate: string;
9
9
  };
10
10
  export type ExNvrDeviceConfig = {
11
11
  id: string;
@@ -1,4 +1,4 @@
1
- import { Kit } from "@/types/kit";
1
+ import { Kit } from "@evercam/api/types/kit";
2
2
  export type Tag<T = string> = {
3
3
  id?: number;
4
4
  name: T;
@@ -1,21 +1,7 @@
1
1
  import { Moment } from "moment-timezone";
2
2
  export type DateType = Date | string | number;
3
3
  export type ExtendedDateType = Moment | DateType;
4
- type YYYY = number;
5
- type MM = number;
6
- type DD = number;
7
- type HH = number;
8
- type mm = number;
9
- type ss = number;
10
- type microS = number;
11
- export type Date_YYYY = `${YYYY}` | string;
12
- export type Date_YYYY_MM = `${YYYY}-${MM}` | string;
13
- export type Date_YYYY_MM_DD = `${YYYY}-${MM}-${DD}` | string;
14
- export type Time_HH_mm_ss = `${HH}:${mm}:${ss}` | string;
15
- export type Date_HH = `${HH}` | string;
16
- export type DateTime = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}` | string;
17
- export type DateTime_tz = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}${"+" | "-"}${HH}:${mm}` | string;
18
- export type DateTime_Z = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}Z` | string;
19
- export type DateTime_Z_micros = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}.${microS}Z` | string;
20
- export type DateTimeSpaceSeparated = `${Date_YYYY_MM_DD} ${Time_HH_mm_ss}` | string;
21
- export {};
4
+ export type DateRangeFilter = {
5
+ fromDate: DateType;
6
+ toDate: DateType;
7
+ };
@@ -1,4 +1,4 @@
1
- import { DateType, Schedule } from "@/types";
1
+ import { Point2D, Schedule } from "@evercam/api/types";
2
2
  export declare enum TimelapseStatus {
3
3
  Pending = 11,
4
4
  Completed = 5,
@@ -7,7 +7,8 @@ export declare enum TimelapseStatus {
7
7
  export declare enum TimelapseDuration {
8
8
  ThirtySeconds = 30,
9
9
  SixtySeconds = 60,
10
- NintySeconds = 90
10
+ NintySeconds = 90,
11
+ TwoMinutes = 120
11
12
  }
12
13
  export type TimelapseVideoOptions = {
13
14
  width?: number;
@@ -15,7 +16,9 @@ export type TimelapseVideoOptions = {
15
16
  removeTimestamp: boolean;
16
17
  smoothTransition: boolean;
17
18
  evercamWatermark: boolean;
19
+ sectionBlur?: boolean;
18
20
  timestampPosition?: TimestampPositionCoordinates;
21
+ blurRegions?: BlurRegionCoordinates[];
19
22
  };
20
23
  export type TimestampPositionCoordinates = {
21
24
  x: number;
@@ -23,14 +26,14 @@ export type TimestampPositionCoordinates = {
23
26
  w: number;
24
27
  h: number;
25
28
  };
29
+ export type BlurRegionCoordinates = Point2D[];
26
30
  export type TimelapseLogoOptions = {
27
- id: number;
31
+ id?: number;
28
32
  x: number;
29
33
  y: number;
30
34
  width: number;
31
35
  height: number;
32
36
  };
33
- export type TimelapseSchedules = string | Schedule;
34
37
  export declare enum TimelapseScheduleType {
35
38
  Continuous = "continuous",
36
39
  WorkingHours = "workingHours",
@@ -51,13 +54,6 @@ export declare enum TimelapseType {
51
54
  Year = "year",
52
55
  FullProject = "full_project"
53
56
  }
54
- export type TimelapseFilterQueryParams = {
55
- from?: DateType;
56
- to?: DateType;
57
- period?: TimelapsePeriod;
58
- duration?: number;
59
- schedule?: TimelapseSchedules;
60
- };
61
57
  export type TimelapseCreationRequestPayload = {
62
58
  title: string;
63
59
  duration: number;
@@ -1,4 +1,5 @@
1
- import type { DateTime, PaginationParams } from "@/types";
1
+ import type { CameraExid, PaginationParams } from "@evercam/api/types";
2
+ import { Role, RoleSubRole } from "@evercam/api/types/authz";
2
3
  export type User = {
3
4
  id?: number;
4
5
  fullname?: string;
@@ -9,10 +10,16 @@ export type User = {
9
10
  country: string;
10
11
  isAdmin: boolean;
11
12
  persona: Persona;
12
- companyId?: string;
13
+ companyId?: string | number;
13
14
  companyName?: string;
14
15
  companyExid?: string;
15
16
  features?: Array<UserFeatureFlag>;
17
+ confirmedAt?: string;
18
+ createdAt?: string;
19
+ lastLoginAt?: string;
20
+ token?: string;
21
+ updatedAt?: string;
22
+ evercamAccount?: boolean;
16
23
  };
17
24
  export type AdminUser = {
18
25
  id: number;
@@ -32,9 +39,9 @@ export type AdminUser = {
32
39
  camerasOwned: number;
33
40
  countryId: number;
34
41
  countryName: string;
35
- createdAt: DateTime;
42
+ createdAt: string;
36
43
  integrations: string[];
37
- lastSeenAt: DateTime;
44
+ lastSeenAt: string;
38
45
  lastLoginAt: string;
39
46
  lastname: string;
40
47
  persona: string;
@@ -48,7 +55,6 @@ export declare enum UserFeatureFlag {
48
55
  CompanyAdmin = "company-admin",
49
56
  VideoWalls = "video-walls",
50
57
  MassCameraSharing = "mass-camera-sharing",
51
- Copilot = "copilot",
52
58
  ProjectSharing = "project-sharing"
53
59
  }
54
60
  export type ProjectUser = User & {
@@ -59,6 +65,10 @@ export type ProjectUser = User & {
59
65
  cameraExid: string;
60
66
  cameraRights: string;
61
67
  };
68
+ export declare enum ContactRole {
69
+ SalesExecutive = "Sales Executive",
70
+ CustomerSuccessManager = "Customer Success Manager"
71
+ }
62
72
  export declare enum Persona {
63
73
  HQ = "HQ",
64
74
  PM = "PM",
@@ -85,26 +95,44 @@ export type RemotePasswordUpdateRequestPayload = {
85
95
  currentPassword: string;
86
96
  newPassword: string;
87
97
  };
88
- export type LoginResponsePayload = {
89
- confirmedAt?: string;
90
- country?: string;
91
- createdAt?: string;
92
- email?: string;
93
- firstname?: string;
94
- id?: string;
95
- isAdmin?: boolean;
96
- lastLoginAt?: string;
97
- lastname?: string;
98
- persona?: Persona;
99
- telephone?: string;
100
- token?: string;
101
- updatedAt?: string;
102
- evercamAccount?: string;
98
+ export type AuthPasswordOption = {
99
+ type: "password";
100
+ };
101
+ export type AuthSsoOption = {
102
+ type: "sso";
103
+ name: string;
104
+ scope: string;
105
+ prompt: string | null;
106
+ exid: string;
107
+ clientId: string;
108
+ iconUrl: string;
109
+ loginUrl: string;
110
+ responseType: string;
111
+ };
112
+ export type AuthOption = AuthPasswordOption | AuthSsoOption;
113
+ export type AuthOptionsResponsePayload = {
114
+ options: AuthOption[];
115
+ };
116
+ export type AuthProviderConfigPayload = {
117
+ name: string;
118
+ scope: string;
119
+ prompt: string | null;
120
+ exid: string;
121
+ clientId: string;
122
+ iconUrl: string;
123
+ loginUrl: string;
124
+ responseType: string;
103
125
  };
104
126
  export type LogoutParams = {
105
127
  token: string;
106
128
  fromAdmin?: boolean;
107
129
  };
130
+ export type ConfirmUserRequestPayload = {
131
+ c: string;
132
+ };
133
+ export type DeleteActiveSessionRequestPayload = {
134
+ authorization: string;
135
+ };
108
136
  export type UserSession = {
109
137
  browser: string;
110
138
  createdAt: string;
@@ -123,6 +151,21 @@ export type SessionsListRequestPayload = {
123
151
  limit: number;
124
152
  page: number;
125
153
  };
154
+ export type AuthorizedApp = {
155
+ id: number;
156
+ clientId: string;
157
+ clientName: string;
158
+ clientDescription: string | null;
159
+ logoUrl: string | null;
160
+ scopes: string[];
161
+ grantedAt: string;
162
+ };
163
+ export type AuthorizedAppsListRequestPayload = {
164
+ search?: string;
165
+ sort?: string;
166
+ limit?: number;
167
+ page?: number;
168
+ };
126
169
  export type SessionActivityCamSettingsDetail = {
127
170
  new: any;
128
171
  old: any;
@@ -148,7 +191,6 @@ export type SessionActivitiesListRequestPayload = {
148
191
  };
149
192
  export type SignupUserRequestPayload = {
150
193
  telephone: string;
151
- token: string;
152
194
  firstname: string;
153
195
  lastname: string;
154
196
  email: string;
@@ -166,13 +208,20 @@ export type UserUpdateRequestPayload = {
166
208
  country: string;
167
209
  persona: string;
168
210
  };
169
- export type UserDeleteRequestPayload = {
170
- verifEmail: string;
171
- };
172
211
  export type GoogleAuthRequestPayload = {
173
212
  code: string;
174
213
  redirectUri: string;
175
214
  };
215
+ export type ProjectContact = {
216
+ name: string;
217
+ role: ContactRole | string;
218
+ email?: string;
219
+ phone?: string;
220
+ photo?: string;
221
+ };
222
+ export type ProjectContactsResponsePayload = {
223
+ data: ProjectContact[];
224
+ };
176
225
  export type UserStatsResponse = {
177
226
  data: {
178
227
  userStats: AdminUser;
@@ -193,7 +242,7 @@ export type UserProject = {
193
242
  id: number;
194
243
  exid: string;
195
244
  name: string;
196
- startedAt: DateTime;
245
+ startedAt: string;
197
246
  };
198
247
  export type UserProjectResponse = {
199
248
  data: UserProject[];
@@ -213,9 +262,9 @@ export type Admin = {
213
262
  id: number;
214
263
  fullname: string;
215
264
  email: string;
216
- createdAt: DateTime;
217
- updatedAt: DateTime;
218
- lastSignInAt: DateTime;
265
+ createdAt: string;
266
+ updatedAt: string;
267
+ lastSignInAt: string;
219
268
  signInCount: number;
220
269
  lastSignInIp: string;
221
270
  apiId: string;
@@ -227,17 +276,17 @@ export type ImpersonateUserResponse = {
227
276
  lastname: string;
228
277
  telephone: string;
229
278
  email: string;
230
- is_admin: boolean;
279
+ isAdmin: boolean;
231
280
  persona: Persona;
232
281
  country: string;
233
282
  companyId: number;
234
283
  companyExid: string;
235
284
  companyName: string;
236
285
  evercamAccount: boolean;
237
- createdAt: DateTime;
238
- updatedAt: DateTime;
239
- confirmedAt: DateTime;
240
- last_loginAt: DateTime;
286
+ createdAt: string;
287
+ updatedAt: string;
288
+ confirmedAt: string;
289
+ lastLoginAt: string;
241
290
  features: UserFeatureFlag[];
242
291
  token: string;
243
292
  };
@@ -266,6 +315,43 @@ export type Suppression = {
266
315
  id: number;
267
316
  email: string;
268
317
  source: string;
269
- insertedAt: DateTime;
270
- updatedAt: DateTime;
318
+ insertedAt: string;
319
+ updatedAt: string;
320
+ };
321
+ type Email = string;
322
+ export type WsAccessRestrictionUpdate = {
323
+ camera_id: CameraExid;
324
+ is_access_restricted: boolean;
325
+ };
326
+ export type WsUserRestrictionItem = {
327
+ user_id: number;
328
+ camera_id: CameraExid;
329
+ is_user_access_restricted: boolean;
330
+ };
331
+ export type WsUserRestrictionUpdate = WsUserRestrictionItem[];
332
+ /**
333
+ * Backend WebSocket event payload:
334
+ * {
335
+ * user: {
336
+ * "someone@domain.com": {camera_id, is_access_restricted} OR [{...}, {...}]
337
+ * }
338
+ * }
339
+ */
340
+ export type WsRestrictionChangedPayload = {
341
+ user: Record<Email, WsAccessRestrictionUpdate | WsUserRestrictionUpdate>;
342
+ };
343
+ export type ProjectUserWithRole = {
344
+ id: number;
345
+ email: string;
346
+ fullname: string;
347
+ company: {
348
+ id: number;
349
+ name: string;
350
+ exid: string;
351
+ };
352
+ persona: Persona;
353
+ permissions: string[];
354
+ role: Role;
355
+ subRoles: RoleSubRole[];
271
356
  };
357
+ export {};
@@ -1,25 +1,16 @@
1
- import { Camera, Media } from "@/types";
1
+ import { Camera, Media, PaginationParams } from "@evercam/api/types";
2
2
  export declare enum VideoWallItemType {
3
3
  LiveView = "live",
4
4
  Video = "video",
5
5
  Image = "image"
6
6
  }
7
- export type VideoWallItem<T extends Camera | Media> = {
7
+ export type VideoWallItem<T extends Camera | Media = Camera> = {
8
8
  value: T;
9
9
  type: VideoWallItemType;
10
10
  };
11
- export type VideoWallPresetItemConfig = {
12
- camera: Camera;
13
- h: number;
14
- i: string | number;
15
- moved: boolean;
16
- w: number;
17
- x: number;
18
- y: number;
19
- };
20
- export type VideoWallPreset = {
21
- name?: string;
22
- configuration: Array<VideoWallPresetItemConfig>;
11
+ export type VideoWallPresetGridConfig = {
12
+ items: VideoWallPresetItem[];
13
+ meta?: VideoWallPresetMeta;
23
14
  };
24
15
  export type VideoWallPresetItem = {
25
16
  i: string | number;
@@ -30,4 +21,46 @@ export type VideoWallPresetItem = {
30
21
  camera: Camera;
31
22
  weather?: Record<string, unknown>;
32
23
  media?: Media;
24
+ moved?: boolean;
25
+ };
26
+ export type VideoWallPresetMeta = {
27
+ colNum: number;
28
+ rowCount: number;
29
+ tile: number;
30
+ template: string;
31
+ gridSize: number;
32
+ };
33
+ export type VideoWallSource = "default" | "widget";
34
+ export interface VideoWall {
35
+ id: number;
36
+ exid: string;
37
+ name: string;
38
+ source: VideoWallSource;
39
+ config: Record<string, any>;
40
+ insertedAt: string;
41
+ updatedAt: string;
42
+ user: {
43
+ id: number;
44
+ firstname: string;
45
+ lastname: string;
46
+ email: string;
47
+ };
48
+ }
49
+ export interface VideoWallListParams extends PaginationParams {
50
+ projectExid?: string;
51
+ id?: number;
52
+ exid?: string;
53
+ projectId?: number;
54
+ userId?: number;
55
+ name?: string;
56
+ project?: string;
57
+ user?: string;
58
+ source?: VideoWallSource;
59
+ }
60
+ export type VideoWallCreateUpdatePayload = {
61
+ projectExid?: string;
62
+ name: string;
63
+ source?: VideoWallSource;
64
+ config: Record<string, unknown>;
65
+ scope?: string;
33
66
  };
@@ -1,29 +1,95 @@
1
- import { Date_YYYY_MM_DD, DateType } from "@/types/time";
1
+ import { DateType } from "@evercam/api/types/time";
2
2
  export type HistoryWeatherRequestPayload = {
3
3
  day: string;
4
4
  provider: WeatherProvider;
5
5
  };
6
+ export type WeatherReportParams = {
7
+ startDate: string;
8
+ endDate: string;
9
+ weatherConditionIds?: number[];
10
+ minMinTemp?: number;
11
+ maxMinTemp?: number;
12
+ minMaxTemp?: number;
13
+ maxMaxTemp?: number;
14
+ minMinPrecip?: number;
15
+ maxMinPrecip?: number;
16
+ minMaxPrecip?: number;
17
+ maxMaxPrecip?: number;
18
+ minMinWindSpeed?: number;
19
+ maxMinWindSpeed?: number;
20
+ minMaxWindSpeed?: number;
21
+ maxMaxWindSpeed?: number;
22
+ minMinHumidity?: number;
23
+ maxMinHumidity?: number;
24
+ minMaxHumidity?: number;
25
+ maxMaxHumidity?: number;
26
+ minMinPressure?: number;
27
+ maxMinPressure?: number;
28
+ minMaxPressure?: number;
29
+ maxMaxPressure?: number;
30
+ minMinClouds?: number;
31
+ maxMinClouds?: number;
32
+ minMaxClouds?: number;
33
+ maxMaxClouds?: number;
34
+ minMaxUvIndex?: number;
35
+ maxMaxUvIndex?: number;
36
+ };
37
+ export declare enum WeatherReportScope {
38
+ Daily = "daily"
39
+ }
40
+ export type WeatherReportRequestPayload = WeatherReportParams & {
41
+ scope: WeatherReportScope;
42
+ includeRecent: boolean;
43
+ };
6
44
  export type CurrentWeatherRequestPayload = {
7
45
  provider: WeatherProvider;
46
+ includeForecast?: boolean;
47
+ forecastDays?: number;
8
48
  };
9
- export type WeatherResponsePayload = Array<{
10
- hour?: number;
11
- temp?: number;
49
+ export type WeatherHourlyItem = {
50
+ chanceoffog: number;
51
+ chanceoffrost: number;
52
+ chanceofhightemp: number;
53
+ chanceofovercast: number;
54
+ chanceofrain: number;
55
+ chanceofremdry: number;
56
+ chanceofsnow: number;
57
+ chanceofsunshine: number;
58
+ chanceofthunder: number;
59
+ chanceofwindy: number;
12
60
  clouds?: number;
61
+ dewpoint: number;
13
62
  feelsLike?: number;
14
- pressure?: number;
63
+ heatindex: number;
64
+ hour?: number;
15
65
  humidity?: number;
16
- windSpeed?: number;
17
- windDegree?: number;
18
- weather?: [WeatherSummary];
66
+ isRequestedWeather?: boolean;
67
+ precip: number;
68
+ pressure?: number;
19
69
  rain?: HourlyReading;
20
70
  snow?: HourlyReading;
21
- }>;
71
+ source: string;
72
+ temp?: number;
73
+ uvIndex: number;
74
+ weather?: WeatherSummary;
75
+ windchill: number;
76
+ windDegree?: number;
77
+ windDir: string;
78
+ windgust: number;
79
+ windSpeed?: number;
80
+ wind?: {
81
+ speed: number;
82
+ };
83
+ };
84
+ export type WeatherResponsePayload = Array<WeatherHourlyItem>;
22
85
  export type WeatherSummary = {
23
86
  id?: number;
24
87
  main?: string;
25
88
  description?: string;
26
- icon?: string;
89
+ temperature?: number;
90
+ icon?: string | string[];
91
+ weatherIndex?: number;
92
+ rain?: HourlyReading;
27
93
  };
28
94
  export type HourlyReading = {
29
95
  "1h"?: number;
@@ -76,7 +142,7 @@ export type WeatherDataResponse = {
76
142
  uvIndex: number;
77
143
  maxHeatindex: number;
78
144
  minTemp: number;
79
- date: Date_YYYY_MM_DD;
145
+ date: string;
80
146
  totalsnow: number;
81
147
  maxPressure: number;
82
148
  maxWindchill: number;