@evercam/api 1.0.0-94830523a → 1.0.0-95d4e9e69

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 (74) hide show
  1. package/README.md +2 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +8 -1
  3. package/dist/api/api/adminApi.d.ts +69 -82
  4. package/dist/api/api/aiApi.d.ts +61 -80
  5. package/dist/api/api/authzApi.d.ts +32 -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 +79 -100
  9. package/dist/api/api/evercamLabsApi.d.ts +6 -3
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +105 -34
  12. package/dist/api/api/ptzApi.d.ts +12 -3
  13. package/dist/api/api/videoWallApi.d.ts +7 -7
  14. package/dist/api/api/weatherApi.d.ts +2 -2
  15. package/dist/api/types/360.d.ts +184 -7
  16. package/dist/api/types/aconex.d.ts +104 -6
  17. package/dist/api/types/admin.d.ts +51 -0
  18. package/dist/api/types/analytics.d.ts +99 -14
  19. package/dist/api/types/anpr.d.ts +24 -13
  20. package/dist/api/types/auditLogs.d.ts +1 -1
  21. package/dist/api/types/authz.d.ts +60 -0
  22. package/dist/api/types/autodesk.d.ts +7 -7
  23. package/dist/api/types/automation.d.ts +86 -1
  24. package/dist/api/types/axios.d.ts +10 -4
  25. package/dist/api/types/bim.d.ts +11 -5
  26. package/dist/api/types/camera.d.ts +89 -76
  27. package/dist/api/types/comments.d.ts +4 -8
  28. package/dist/api/types/company.d.ts +42 -1
  29. package/dist/api/types/compare.d.ts +20 -5
  30. package/dist/api/types/connector.d.ts +2 -5
  31. package/dist/api/types/coolify.d.ts +20 -2
  32. package/dist/api/types/copilot.d.ts +1 -1
  33. package/dist/api/types/credentials.d.ts +1 -0
  34. package/dist/api/types/detections.d.ts +17 -22
  35. package/dist/api/types/gateReport.d.ts +46 -150
  36. package/dist/api/types/hdd.d.ts +26 -1
  37. package/dist/api/types/index.d.ts +4 -0
  38. package/dist/api/types/ingest.d.ts +89 -2
  39. package/dist/api/types/kit.d.ts +33 -5
  40. package/dist/api/types/media.d.ts +1 -1
  41. package/dist/api/types/notification.d.ts +32 -2
  42. package/dist/api/types/planner.d.ts +4 -1
  43. package/dist/api/types/posthog.d.ts +15 -0
  44. package/dist/api/types/procore.d.ts +13 -6
  45. package/dist/api/types/progressPhoto.d.ts +6 -32
  46. package/dist/api/types/project.d.ts +131 -18
  47. package/dist/api/types/recording.d.ts +3 -3
  48. package/dist/api/types/recycleBin.d.ts +1 -1
  49. package/dist/api/types/router.d.ts +20 -1
  50. package/dist/api/types/shared.d.ts +11 -4
  51. package/dist/api/types/shares.d.ts +6 -144
  52. package/dist/api/types/sim.d.ts +6 -6
  53. package/dist/api/types/siteAnalytics.d.ts +191 -46
  54. package/dist/api/types/smartSeach.d.ts +5 -0
  55. package/dist/api/types/snapshots.d.ts +1 -1
  56. package/dist/api/types/storyblok.d.ts +40 -0
  57. package/dist/api/types/streaming.d.ts +3 -3
  58. package/dist/api/types/tag.d.ts +1 -1
  59. package/dist/api/types/time.d.ts +4 -18
  60. package/dist/api/types/timelapse.d.ts +3 -4
  61. package/dist/api/types/user.d.ts +105 -30
  62. package/dist/api/types/videoWall.d.ts +47 -14
  63. package/dist/api/types/weather.d.ts +77 -11
  64. package/dist/api/types/widget.d.ts +76 -15
  65. package/dist/api/types/xweather.d.ts +4 -4
  66. package/dist/api/utils.d.ts +1 -0
  67. package/dist/index.js +1073 -980
  68. package/dist/index.js.map +1 -1
  69. package/dist/index.umd.cjs +1 -1
  70. package/dist/index.umd.cjs.map +1 -1
  71. package/dist/shared/types/components.d.ts +88 -11
  72. package/dist/shared/types/imagePlayer.d.ts +2 -2
  73. package/dist/shared/types/timeline.d.ts +2 -1
  74. package/package.json +4 -4
@@ -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;
@@ -59,6 +66,10 @@ export type ProjectUser = User & {
59
66
  cameraExid: string;
60
67
  cameraRights: string;
61
68
  };
69
+ export declare enum ContactRole {
70
+ SalesExecutive = "Sales Executive",
71
+ CustomerSuccessManager = "Customer Success Manager"
72
+ }
62
73
  export declare enum Persona {
63
74
  HQ = "HQ",
64
75
  PM = "PM",
@@ -85,26 +96,44 @@ export type RemotePasswordUpdateRequestPayload = {
85
96
  currentPassword: string;
86
97
  newPassword: string;
87
98
  };
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;
99
+ export type AuthPasswordOption = {
100
+ type: "password";
101
+ };
102
+ export type AuthSsoOption = {
103
+ type: "sso";
104
+ name: string;
105
+ scope: string;
106
+ prompt: string | null;
107
+ exid: string;
108
+ clientId: string;
109
+ iconUrl: string;
110
+ loginUrl: string;
111
+ responseType: string;
112
+ };
113
+ export type AuthOption = AuthPasswordOption | AuthSsoOption;
114
+ export type AuthOptionsResponsePayload = {
115
+ options: AuthOption[];
116
+ };
117
+ export type AuthProviderConfigPayload = {
118
+ name: string;
119
+ scope: string;
120
+ prompt: string | null;
121
+ exid: string;
122
+ clientId: string;
123
+ iconUrl: string;
124
+ loginUrl: string;
125
+ responseType: string;
103
126
  };
104
127
  export type LogoutParams = {
105
128
  token: string;
106
129
  fromAdmin?: boolean;
107
130
  };
131
+ export type ConfirmUserRequestPayload = {
132
+ c: string;
133
+ };
134
+ export type DeleteActiveSessionRequestPayload = {
135
+ authorization: string;
136
+ };
108
137
  export type UserSession = {
109
138
  browser: string;
110
139
  createdAt: string;
@@ -173,6 +202,16 @@ export type GoogleAuthRequestPayload = {
173
202
  code: string;
174
203
  redirectUri: string;
175
204
  };
205
+ export type ProjectContact = {
206
+ name: string;
207
+ role: ContactRole | string;
208
+ email?: string;
209
+ phone?: string;
210
+ photo?: string;
211
+ };
212
+ export type ProjectContactsResponsePayload = {
213
+ data: ProjectContact[];
214
+ };
176
215
  export type UserStatsResponse = {
177
216
  data: {
178
217
  userStats: AdminUser;
@@ -193,7 +232,7 @@ export type UserProject = {
193
232
  id: number;
194
233
  exid: string;
195
234
  name: string;
196
- startedAt: DateTime;
235
+ startedAt: string;
197
236
  };
198
237
  export type UserProjectResponse = {
199
238
  data: UserProject[];
@@ -213,9 +252,9 @@ export type Admin = {
213
252
  id: number;
214
253
  fullname: string;
215
254
  email: string;
216
- createdAt: DateTime;
217
- updatedAt: DateTime;
218
- lastSignInAt: DateTime;
255
+ createdAt: string;
256
+ updatedAt: string;
257
+ lastSignInAt: string;
219
258
  signInCount: number;
220
259
  lastSignInIp: string;
221
260
  apiId: string;
@@ -227,17 +266,17 @@ export type ImpersonateUserResponse = {
227
266
  lastname: string;
228
267
  telephone: string;
229
268
  email: string;
230
- is_admin: boolean;
269
+ isAdmin: boolean;
231
270
  persona: Persona;
232
271
  country: string;
233
272
  companyId: number;
234
273
  companyExid: string;
235
274
  companyName: string;
236
275
  evercamAccount: boolean;
237
- createdAt: DateTime;
238
- updatedAt: DateTime;
239
- confirmedAt: DateTime;
240
- last_loginAt: DateTime;
276
+ createdAt: string;
277
+ updatedAt: string;
278
+ confirmedAt: string;
279
+ lastLoginAt: string;
241
280
  features: UserFeatureFlag[];
242
281
  token: string;
243
282
  };
@@ -266,6 +305,42 @@ export type Suppression = {
266
305
  id: number;
267
306
  email: string;
268
307
  source: string;
269
- insertedAt: DateTime;
270
- updatedAt: DateTime;
308
+ insertedAt: string;
309
+ updatedAt: string;
310
+ };
311
+ type Email = string;
312
+ export type WsAccessRestrictionUpdate = {
313
+ camera_id: CameraExid;
314
+ is_access_restricted: boolean;
315
+ };
316
+ export type WsUserRestrictionItem = {
317
+ user_id: number;
318
+ camera_id: CameraExid;
319
+ is_user_access_restricted: boolean;
320
+ };
321
+ export type WsUserRestrictionUpdate = WsUserRestrictionItem[];
322
+ /**
323
+ * Backend WebSocket event payload:
324
+ * {
325
+ * user: {
326
+ * "someone@domain.com": {camera_id, is_access_restricted} OR [{...}, {...}]
327
+ * }
328
+ * }
329
+ */
330
+ export type WsRestrictionChangedPayload = {
331
+ user: Record<Email, WsAccessRestrictionUpdate | WsUserRestrictionUpdate>;
332
+ };
333
+ export type ProjectUserWithRole = {
334
+ id: number;
335
+ email: string;
336
+ fullname: string;
337
+ company: {
338
+ id: number;
339
+ name: string;
340
+ exid: string;
341
+ };
342
+ permissions: string[];
343
+ role: Role;
344
+ subRoles: RoleSubRole[];
271
345
  };
346
+ 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;
@@ -1,6 +1,6 @@
1
- import type { DateTime } from "@evercam/api/types/time";
2
- import { PaginationParams } from "@/types";
3
- import { VideoWallPresetItemConfig } from "@evercam/api/types/videoWall";
1
+ import { CameraExid, PaginationParams } from "@evercam/api/types";
2
+ import type { JsonObject } from "@evercam/api/types";
3
+ import { VideoWallPresetGridConfig } from "@evercam/api/types/videoWall";
4
4
  export declare enum DelayUnit {
5
5
  Minute = "Minutes",
6
6
  Hour = "Hours",
@@ -78,6 +78,8 @@ export type RecordingsWidgetSettings = CommonWidgetSettings & {
78
78
  hasDelay: boolean;
79
79
  delay: number;
80
80
  delayUnit: DelayUnit;
81
+ hasRange: boolean;
82
+ dateRange: [string, string] | null;
81
83
  };
82
84
  export type LiveViewWidgetSettings = CommonWidgetSettings & {
83
85
  fullscreen: boolean;
@@ -90,16 +92,24 @@ export type BimCompareWidgetSettings = CommonWidgetSettings & {
90
92
  timeline: boolean;
91
93
  darkMode: boolean;
92
94
  };
93
- export type VideoWallWidgetSettings = CommonWidgetSettings & {
94
- preset: VideoWallPresetItemConfig;
95
+ export type VideoWallWidgetSettingsObject = CommonWidgetSettings & {
96
+ preset: VideoWallPresetGridConfig;
95
97
  refreshRate: number;
98
+ allowCellFullscreen: boolean;
99
+ allowFitContent: boolean;
100
+ allowForceAspectRatio: boolean;
101
+ allowFullscreen: boolean;
102
+ cameras: CameraExid[];
103
+ description: string;
104
+ global: boolean;
105
+ visibility: string;
96
106
  };
97
107
  export type ThreeSixtyWidgetSettings = CommonWidgetSettings & {
98
108
  dateId: string;
99
109
  floorId: string;
100
110
  markerId: string;
101
111
  };
102
- export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettings | ThreeSixtyWidgetSettings;
112
+ export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettingsObject | ThreeSixtyWidgetSettings;
103
113
  export declare enum WidgetType {
104
114
  LiveWidget = "Live View",
105
115
  Recording = "Recordings",
@@ -118,7 +128,7 @@ export type WidgetsListRequestPayload = PaginationParams & {
118
128
  active: boolean;
119
129
  settings: WidgetSettings;
120
130
  widgetType: WidgetType;
121
- isPublic: boolean;
131
+ domainRestricted: boolean;
122
132
  allowedOrigin: string;
123
133
  };
124
134
  export type Widget = {
@@ -138,7 +148,7 @@ export type Widget = {
138
148
  widgetType: WidgetType;
139
149
  settings: WidgetSettings;
140
150
  allowedOrigin: string;
141
- isPublic: boolean;
151
+ domainRestricted: boolean;
142
152
  active: boolean;
143
153
  user: {
144
154
  id: number;
@@ -146,8 +156,8 @@ export type Widget = {
146
156
  firstname: string;
147
157
  lastname: string;
148
158
  };
149
- insertedAt: DateTime;
150
- updatedAt: DateTime;
159
+ insertedAt: string;
160
+ updatedAt: string;
151
161
  };
152
162
  export type WidgetFull = {
153
163
  id: number;
@@ -172,11 +182,62 @@ export type WidgetFull = {
172
182
  email: string;
173
183
  };
174
184
  settings: WidgetSettings;
175
- sessionSettings: any;
185
+ sessionSettings: JsonObject | null;
176
186
  allowedOrigin: string;
177
- isPublic: boolean;
178
- insertedAt: DateTime;
179
- updatedAt: DateTime;
187
+ domainRestricted: boolean;
188
+ insertedAt: string;
189
+ updatedAt: string;
190
+ };
191
+ export type WidgetSessionSettingsPayload = {
192
+ sessionSettings: JsonObject;
193
+ };
194
+ export type AdminWidgetResourceCamera = {
195
+ id: number;
196
+ exid: string;
197
+ name: string;
198
+ };
199
+ export type AdminWidgetResourceProject = {
200
+ id: number;
201
+ exid: string;
202
+ name: string;
203
+ featureFlags: string[];
204
+ };
205
+ export type AdminWidgetResourcePreset = {
206
+ id: number;
207
+ name: string;
208
+ exid: string;
209
+ config: JsonObject;
210
+ };
211
+ export type AdminWidgetResources = {
212
+ camera?: AdminWidgetResourceCamera | null;
213
+ project?: AdminWidgetResourceProject | null;
214
+ preset?: AdminWidgetResourcePreset | null;
215
+ };
216
+ export type AdminWidgetUser = {
217
+ id: number;
218
+ email: string;
219
+ firstname: string;
220
+ lastname: string;
221
+ };
222
+ export type AdminWidget = {
223
+ id: number;
224
+ active: boolean;
225
+ public: boolean;
226
+ user: AdminWidgetUser;
227
+ description: string | null;
228
+ insertedAt: string;
229
+ updatedAt: string;
230
+ settings: WidgetSettings;
231
+ ressources: AdminWidgetResources;
232
+ seenAt?: string;
233
+ showDashboardLink?: boolean;
234
+ domainRestricted: boolean;
235
+ widgetType: WidgetType;
236
+ allowedOrigin: string | null;
237
+ };
238
+ export type AdminWidgetFull = AdminWidget & {
239
+ widgetKey: string;
240
+ widgetId: string;
180
241
  };
181
242
  export type WidgetPayload = {
182
243
  ressources: {
@@ -186,6 +247,6 @@ export type WidgetPayload = {
186
247
  widgetType: WidgetType;
187
248
  active: boolean;
188
249
  settings: WidgetSettings;
189
- isPublic: boolean;
250
+ domainRestricted: boolean;
190
251
  allowedOrigin: string;
191
252
  };
@@ -4,9 +4,9 @@ export type XWeatherCreatePayload = {
4
4
  clientSecret: string;
5
5
  };
6
6
  export type XWeatherResponse = {
7
- id: number;
8
- provider: string;
7
+ id?: number;
8
+ provider: "xweather";
9
9
  config: object;
10
- insertedAt: string;
11
- updatedAt: string;
10
+ insertedAt?: string;
11
+ updatedAt?: string;
12
12
  };
@@ -7,3 +7,4 @@ export declare const toQueryString: <T extends Record<string, unknown>>(paramsOb
7
7
  forceArrayBrackets?: boolean | undefined;
8
8
  }) => string | undefined;
9
9
  export declare function queryStringToObject(queryString?: string): QueryParams;
10
+ export declare function capitalizeFirstLetter(inputString: string): string;