@geowiki/core 0.15.0-dev.1

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.
@@ -0,0 +1,1404 @@
1
+ import * as _tanstack_react_query from '@tanstack/react-query';
2
+ import { UseQueryResult } from '@tanstack/react-query';
3
+ import * as _geowiki_evoland_api_proxy from '@geowiki/evoland-api-proxy';
4
+ import { ListLocationsRequest, SetUserRoleRequest, SetUserDetailRequest } from '@geowiki/evoland-api-proxy';
5
+ import * as _geowiki_api_proxy from '@geowiki/api-proxy';
6
+ import { ApplicationConfigurationDto, ResourceFilterInput, CurrentUserDto, EmailSettingsDto, GetFeatureListResultDto, GetPermissionListResultDto, ProfileDto, CountryDto, FileDto, FarmerClusterNewsDto, LocationDto } from '@geowiki/api-proxy';
7
+ import * as _geowiki_cms_proxy from '@geowiki/cms-proxy';
8
+ import { ClusterFilterSettingsItemDto, ConfigSettingsItemDto, GeoWikiSettingsItemDto, IntroTourSettingsItemDto, PublicationSettingsItemDto, MapSettingsItemDto, FundingSettingsItemDto, FooterSettingsItemDto, MenuItemDto, MapMenuItemItemDto, LayerItemDto, PageItemDto } from '@geowiki/cms-proxy';
9
+ import { MutableRefObject } from 'react';
10
+ import GeoJSON from 'geojson';
11
+ import * as zustand from 'zustand';
12
+ import * as zustand_vanilla from 'zustand/vanilla';
13
+ import { I18n } from 'next-localization';
14
+ import { GetServerSidePropsContext } from 'next';
15
+ import { Session } from 'next-auth';
16
+
17
+ declare const easing: number[];
18
+ declare const listVariants: {
19
+ initial: {
20
+ scale: number;
21
+ y: number;
22
+ opacity: number;
23
+ };
24
+ enter: {
25
+ scale: number;
26
+ y: number;
27
+ opacity: number;
28
+ transition: {
29
+ duration: number;
30
+ ease: number[];
31
+ staggerChildren: number;
32
+ delayChildren: number;
33
+ };
34
+ };
35
+ exit: {
36
+ transition: {
37
+ staggerChildren: number;
38
+ staggerDirection: number;
39
+ };
40
+ };
41
+ };
42
+ declare const itemVariants: {
43
+ initial: {
44
+ y: number;
45
+ opacity: number;
46
+ transition: {
47
+ y: {
48
+ stiffness: number;
49
+ };
50
+ };
51
+ };
52
+ enter: {
53
+ y: number;
54
+ opacity: number;
55
+ transition: {
56
+ y: {
57
+ stiffness: number;
58
+ velocity: number;
59
+ };
60
+ };
61
+ };
62
+ exit: {
63
+ y: number;
64
+ opacity: number;
65
+ transition: {
66
+ y: {
67
+ stiffness: number;
68
+ velocity: number;
69
+ };
70
+ };
71
+ };
72
+ };
73
+ declare const slideInUp: {
74
+ exit: {
75
+ y: number;
76
+ opacity: number;
77
+ transition: {
78
+ duration: number;
79
+ ease: number[];
80
+ };
81
+ };
82
+ enter: {
83
+ y: number;
84
+ opacity: number;
85
+ transition: {
86
+ delay: number;
87
+ duration: number;
88
+ ease: number[];
89
+ };
90
+ };
91
+ };
92
+ declare const delayedSlideInUp: {
93
+ exit: {
94
+ y: number;
95
+ opacity: number;
96
+ transition: {
97
+ duration: number;
98
+ ease: number[];
99
+ };
100
+ };
101
+ enter: {
102
+ y: number;
103
+ opacity: number;
104
+ transition: {
105
+ delay: number;
106
+ duration: number;
107
+ ease: number[];
108
+ };
109
+ };
110
+ };
111
+ declare const slideInLeft: {
112
+ exit: {
113
+ x: number;
114
+ opacity: number;
115
+ transition: {
116
+ duration: number;
117
+ ease: number[];
118
+ };
119
+ };
120
+ enter: {
121
+ x: number;
122
+ opacity: number;
123
+ transition: {
124
+ delay: number;
125
+ duration: number;
126
+ ease: number[];
127
+ };
128
+ };
129
+ };
130
+ declare const slideInRight: {
131
+ exit: {
132
+ x: number;
133
+ opacity: number;
134
+ transition: {
135
+ duration: number;
136
+ ease: number[];
137
+ };
138
+ };
139
+ enter: {
140
+ x: number;
141
+ opacity: number;
142
+ transition: {
143
+ duration: number;
144
+ ease: number[];
145
+ };
146
+ };
147
+ };
148
+ declare const spring: {
149
+ type: string;
150
+ stiffness: number;
151
+ damping: number;
152
+ };
153
+
154
+ declare const QueryConstants: {
155
+ GetUsers: string;
156
+ GetTenants: string;
157
+ GetRoles: string;
158
+ GetAppConfig: string;
159
+ GetFeatures: string;
160
+ GetTranslations: string;
161
+ GetPermissions: string;
162
+ GetUserRoles: string;
163
+ SetUserDetail: string;
164
+ GetEmailing: string;
165
+ GetAssignableRoles: string;
166
+ GetProfile: string;
167
+ GetProjects: string;
168
+ GetProjectDetails: string;
169
+ GetProjectResultSet: string;
170
+ DownlaodProjectsPoints: string;
171
+ GetProjectStatisticsByUser: string;
172
+ GetContractStatisticsByUser: string;
173
+ GetGroupsInProject: string;
174
+ UpdateActiveGroupsInProject: string;
175
+ GetProjectUsers: string;
176
+ GetUserProject: string;
177
+ SetProjectUser: string;
178
+ GetLocations: string;
179
+ UploadLocations: string;
180
+ GetLatestTaskOnLocation: string;
181
+ GetTasksPerLocation: string;
182
+ GetTaskComment: string;
183
+ GetTaskStatusList: string;
184
+ GetTaskAnnotation: string;
185
+ GetTaskMultipleAnnotations: string;
186
+ GetTaskSavedAnnotations: string;
187
+ DeleteTask: string;
188
+ GetApiImage: string;
189
+ GetCmsImage: string;
190
+ GetQuestionnaireForProject: string;
191
+ GetTaskAnswers: string;
192
+ UploadTasks: string;
193
+ UploadReviewTasks: string;
194
+ };
195
+
196
+ declare const useEvolandBands: () => _tanstack_react_query.UseQueryResult<void, Error>;
197
+
198
+ declare const useEvolandWmsLayers: () => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.LayersResponse, Error>;
199
+
200
+ declare const useApiUrl: () => string;
201
+
202
+ declare const useAppConfig: () => UseQueryResult<ApplicationConfigurationDto, unknown>;
203
+
204
+ declare const useAudience: () => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.KeyValuePairOfString_String[], Error>;
205
+
206
+ declare const useCluster: (id: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.ClusterDto, Error>;
207
+
208
+ declare const useClusterFilterSettings: () => _tanstack_react_query.UseQueryResult<ClusterFilterSettingsItemDto, Error>;
209
+ declare const useConfigSettings: () => _tanstack_react_query.UseQueryResult<ConfigSettingsItemDto, Error>;
210
+
211
+ declare const useClusterMapInfo: () => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.ClusterMapInfoDto[], Error>;
212
+
213
+ declare const useClusters: (fetchAll?: boolean, sort?: string, skip?: number, take?: number) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfClusterDto, Error>;
214
+ declare const useAllNewsFromAllClusters: (sort?: string, skip?: number, take?: number) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfFarmerClusterNewsInfoDto, Error>;
215
+
216
+ declare const useCmsUrl: () => string;
217
+
218
+ declare const useCountries: (fetchAll?: boolean) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.CountryDto[], Error>;
219
+
220
+ declare const useDimensions: (ref: MutableRefObject<any>) => {
221
+ width: number;
222
+ height: number;
223
+ };
224
+
225
+ declare const useFeature: (key: string) => boolean;
226
+
227
+ declare const useFileUrl: () => string;
228
+ declare const useFileUpload: (formData?: {
229
+ files?: Array<Blob>;
230
+ }) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.FileDto[], Error>;
231
+
232
+ declare const useFilterClusters: (filter: any) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfClusterDto, Error>;
233
+
234
+ declare const useGeoWikiSettings: () => _tanstack_react_query.UseQueryResult<GeoWikiSettingsItemDto, Error>;
235
+
236
+ declare const useImageUrl: () => string;
237
+
238
+ declare const useIntroTourSettings: () => _tanstack_react_query.UseQueryResult<IntroTourSettingsItemDto, Error>;
239
+
240
+ declare const useIsAdmin: () => boolean | undefined;
241
+
242
+ declare const useIsAuthenticated: () => boolean | undefined;
243
+
244
+ declare const useIsInRole: (role: string) => {
245
+ data: boolean | undefined;
246
+ isLoading: boolean;
247
+ };
248
+
249
+ declare const useLanguages: () => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.KeyValuePairOfString_String[], Error>;
250
+
251
+ interface LegendInfo {
252
+ Legend: Legend[];
253
+ }
254
+ interface Legend {
255
+ layerName: string;
256
+ title: string;
257
+ rules: Rule[];
258
+ }
259
+ interface Rule {
260
+ symbolizers: Symbolizer[];
261
+ name?: string;
262
+ title?: string;
263
+ abstract?: string;
264
+ filter?: string;
265
+ }
266
+ interface Symbolizer {
267
+ Raster?: Raster;
268
+ Point?: Point;
269
+ Polygon?: Polygon;
270
+ Line?: Line;
271
+ Text?: Text;
272
+ }
273
+ interface Line {
274
+ stroke: string;
275
+ strokeWidth: string;
276
+ "stroke-opacity": string;
277
+ strokeLinecap: string;
278
+ strokeLinejoin: string;
279
+ }
280
+ interface Point {
281
+ title: string;
282
+ abstract: string;
283
+ url: string;
284
+ size: string;
285
+ opacity: string;
286
+ rotation: string;
287
+ graphics: Graphic[];
288
+ }
289
+ interface Graphic {
290
+ mark: string;
291
+ fill: string;
292
+ "fill-opacity": string;
293
+ }
294
+ interface Polygon {
295
+ fill: string;
296
+ "fill-opacity": string;
297
+ }
298
+ interface Raster {
299
+ colormap: Colormap;
300
+ opacity: string;
301
+ }
302
+ interface Colormap {
303
+ entries: Entry[];
304
+ type: string;
305
+ }
306
+ interface Entry {
307
+ label: string;
308
+ quantity: string;
309
+ color: string;
310
+ opacity: string;
311
+ }
312
+ interface Text {
313
+ label: string;
314
+ fonts: Font[];
315
+ "label-placement": LabelPlacement;
316
+ }
317
+ interface Font {
318
+ "font-family": string[];
319
+ "font-style": string;
320
+ "font-weight": string;
321
+ "font-size": string;
322
+ }
323
+ interface LabelPlacement {
324
+ "x-anchor": string;
325
+ "y-anchor": string;
326
+ rotation: string;
327
+ }
328
+
329
+ declare const useLayerInfo: (url: string, layerName: string) => _tanstack_react_query.UseQueryResult<LegendInfo, Error>;
330
+
331
+ declare function useLocation(): GeolocationCoordinates | undefined;
332
+ declare const useLocationsForProject: (locationreq: ListLocationsRequest) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.ListLocationsResponse, Error>;
333
+ declare const useLocationBulkUpload: (uploadLocations: boolean, file: Blob, project_id: number, group_id: number) => _tanstack_react_query.UseQueryResult<Record<string, any>, Error>;
334
+ declare const useTaskBulkUpload: (uploadTasks: boolean, file: Blob, project_id: number) => _tanstack_react_query.UseQueryResult<Record<string, any>, Error>;
335
+ declare const useReviewTaskBulkUpload: (uploadReviewTasks: boolean, file: Blob, project_id: number) => _tanstack_react_query.UseQueryResult<Record<string, any>, Error>;
336
+
337
+ declare function useLockBodyScroll(): void;
338
+
339
+ declare const useNews: (lang?: string, skip?: number, take?: number) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.ExternalNewsDto[] | null | undefined, Error>;
340
+
341
+ declare const DOTS = "...";
342
+ interface UsePaginationProps {
343
+ totalCount: number;
344
+ pageSize: number;
345
+ siblingCount: number;
346
+ currentPage: number;
347
+ }
348
+ declare const usePagination: ({ totalCount, pageSize, siblingCount, currentPage, }: UsePaginationProps) => (string | number)[] | undefined;
349
+
350
+ declare const usePermission: (key: string) => boolean;
351
+
352
+ declare const usePublicationSettings: () => _tanstack_react_query.UseQueryResult<PublicationSettingsItemDto, Error>;
353
+
354
+ declare const useResource: (search?: string, sort?: string, skip?: number, take?: number) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfResourceDto, Error>;
355
+
356
+ declare const useResourceFilter: (filter: ResourceFilterInput) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfResourceDto, Error>;
357
+
358
+ declare const useResourceType: () => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.KeyValuePairOfString_String[], Error>;
359
+
360
+ declare const useTopic: () => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.KeyValuePairOfString_String[], Error>;
361
+
362
+ declare const useUserProfileGet: () => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.ProfileDto, Error>;
363
+
364
+ declare const useUsers: (pageIndex: number, pageSize: number, filter?: string | undefined, sorting?: string | undefined) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfIdentityUserDto, Error>;
365
+
366
+ declare function useRenderInfo(name?: string): {
367
+ name: string;
368
+ renders: number;
369
+ sinceLastRender: number;
370
+ timestamp: number;
371
+ } | undefined;
372
+
373
+ interface DefaultSettings {
374
+ generalSettings: GeoWikiSettingsItemDto;
375
+ mapSettings: MapSettingsItemDto;
376
+ fundingSettings: FundingSettingsItemDto;
377
+ footerSettings: FooterSettingsItemDto;
378
+ publicationSettings: PublicationSettingsItemDto;
379
+ mainMenu: MenuItemDto;
380
+ }
381
+
382
+ declare const useDefaultSettings: () => _tanstack_react_query.UseQueryResult<DefaultSettings, Error>;
383
+
384
+ declare const useCurrentUser: () => CurrentUserDto | undefined;
385
+
386
+ declare const useEmailing: () => UseQueryResult<EmailSettingsDto, unknown>;
387
+
388
+ type Policy = "AbpIdentity.Roles" | "AbpIdentity.Roles.Create" | "AbpIdentity.Roles.Update" | "AbpIdentity.Roles.Delete" | "AbpIdentity.Roles.ManagePermissions" | "AbpIdentity.Users" | "AbpIdentity.Users.Create" | "AbpIdentity.Users.Update" | "AbpIdentity.Users.Delete" | "AbpIdentity.Users.ManagePermissions" | "AbpTenantManagement.Tenants" | "AbpTenantManagement.Tenants.Create" | "AbpTenantManagement.Tenants.Update" | "AbpTenantManagement.Tenants.Delete" | "AbpTenantManagement.Tenants.ManageFeatures" | "AbpTenantManagement.Tenants.ManageConnectionStrings" | "FeatureManagement.ManageHostFeatures" | "SettingManagement.Emailing" | "SettingManagement.Emailing.Test";
389
+ declare const useGrantedPolicies: () => {
390
+ can: (key: Policy) => boolean;
391
+ };
392
+
393
+ declare const useFeatures: (providerName: string | undefined, providerKey: string | undefined) => UseQueryResult<GetFeatureListResultDto, unknown>;
394
+
395
+ declare const useAssignableRoles: () => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.ListResultDtoOfIdentityRoleDto, Error>;
396
+
397
+ type UseUserRolesProps = {
398
+ userId: string;
399
+ };
400
+ declare const useUserRoles: ({ userId }: UseUserRolesProps) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.ListResultDtoOfIdentityRoleDto, Error>;
401
+
402
+ declare const usePermissions: (providerName: string | undefined, providerKey: string | undefined) => UseQueryResult<GetPermissionListResultDto, unknown>;
403
+
404
+ declare const useRoles: (pageIndex: number, pageSize: number, filter?: string | undefined, sorting?: string | undefined) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfIdentityRoleDto, Error>;
405
+
406
+ declare const useProfile: () => UseQueryResult<ProfileDto, unknown>;
407
+
408
+ declare const useTenants: (pageIndex: number, pageSize: number, filter?: string | undefined, sorting?: string | undefined) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfTenantDto, Error>;
409
+
410
+ declare const useEvolandLabels: (projectId: number) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.LabelsResponse, Error>;
411
+
412
+ declare const useLookUp: (ServiceName: string, params: any, LookUpsClusterCountries: string, LookUpsClusterActivityStatus: string, LookUpsClusterFarmingSystem: string, LookUpsClusterMainAgricultureArea: string, LookUpsClusterMainCrops: string) => _tanstack_react_query.UseQueryResult<string[] | CountryDto[] | undefined, Error>;
413
+
414
+ declare enum TaskStatus {
415
+ ASSIGNED = "ASSIGNED",
416
+ SKIPPED = "SKIPPED",
417
+ IN_REVIEW = "IN_REVIEW",
418
+ SUBMITTED = "SUBMITTED",
419
+ TO_FIX = "TO_FIX",
420
+ ACCEPTED = "ACCEPTED",
421
+ USER_DISCARDED = "USER_DISCARDED",
422
+ DISCARDED = "DISCARDED"
423
+ }
424
+ declare enum TaskStatusColor {
425
+ ASSIGNED = "goldenrod",
426
+ SKIPPED = "darkgray",
427
+ IN_REVIEW = "pink",
428
+ TO_FIX = "red",
429
+ ACCEPTED = "violet",
430
+ DISCARDED = "aqua",
431
+ SUBMITTED = "green",
432
+ USER_DISCARDED = "orange"
433
+ }
434
+ declare enum TaskEventType {
435
+ CREATED = "CREATED",
436
+ NEW_ANNOTATION = "NEW_ANNOTATION",
437
+ STATUS_UPDATED = "STATUS_UPDATED",
438
+ COMMENT = "COMMENT",
439
+ QUESTIONNAIRE = "QUESTIONNAIRE",
440
+ REVIEW = "REVIEW"
441
+ }
442
+ declare enum TaskState {
443
+ ASSIGNED = "Assigned",
444
+ SKIPPED = "Skip",
445
+ IN_REVIEW = "Ask to Review",
446
+ SUBMITTED = "Submit",
447
+ TO_FIX = "To Fix",
448
+ ACCEPTED = "Accept",
449
+ USER_DISCARDED = "Discard",
450
+ DISCARDED = "Discard"
451
+ }
452
+ declare enum AnnotationRequired {
453
+ NOT_REQUIRED = "NOT_REQUIRED",
454
+ REQUIRED = "REQUIRED",
455
+ OPTIONAL = "OPTIONAL"
456
+ }
457
+ declare enum QuestionnaireType {
458
+ TEXT = "TEXT",
459
+ CONTEXT = "CONTEXT",
460
+ SINGLE_CHOICE = "SINGLE_CHOICE",
461
+ MULTI_CHOICE = "MULTI_CHOICE",
462
+ DATETIME = "DATETIME"
463
+ }
464
+
465
+ interface LocationTasks {
466
+ locationProjectId: number;
467
+ taskForReview: boolean;
468
+ orderBy?: string | null;
469
+ search?: string | null;
470
+ status?: TaskStatus | null;
471
+ statusIn?: string | null;
472
+ dateLte?: string | null;
473
+ dateGte?: string | null;
474
+ pageIdx?: number | null;
475
+ pageSize?: number | null;
476
+ userId?: string | null;
477
+ userUserAlias?: string | null;
478
+ userOrderBy?: string | null;
479
+ locationLocationId?: string | null;
480
+ locationOrderBy?: string | null;
481
+ locationGroupId?: string | null;
482
+ groupName?: string | null;
483
+ groupOrderBy?: string | null;
484
+ }
485
+
486
+ declare const useProjects: (fetch: boolean, start?: number, amount?: number) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.ListProjectResponse | undefined, Error>;
487
+ declare const useProjectDetails: (projectId: number, update: boolean) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.UserProjectElement, Error>;
488
+ declare const useTasksPerLocation: (data: LocationTasks) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.TaskFilterResponse, Error>;
489
+ declare const useRandomTasksPerLocation: (data: LocationTasks) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.TaskResponse, Error>;
490
+ declare const useTaskComments: (taskIds: number[]) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.TaskLatestCommentResponse, Error>;
491
+ declare const useGroupsInProject: (projectId: number, updateGroup?: boolean) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.ProjectGroupResponse[], Error>;
492
+ declare const useProjectUsers: (projectId: number) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.UserOut[], Error>;
493
+ declare const useTaskStatusList: () => _tanstack_react_query.UseQueryResult<string[], Error>;
494
+ declare const useUpdateActiveGroupInProject: (projectId: number, groupId: number, update: boolean) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.GenericResponse | undefined, Error>;
495
+ declare const useTaskAnnotation: (taskId: number | null) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.TaskAnnotationResponse | undefined, Error>;
496
+ declare const useTaskMultipleAnnotations: (taskId: number | null) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.LocationAssetsResponse | undefined, Error>;
497
+ declare const useTaskSavedAnnotations: (taskId: number | null) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.GetSavedAnnotationResponse | undefined, Error>;
498
+ declare const useTaskDelete: (taskId: number, projectId: number, deleteTask: boolean) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.GenericResponse | undefined, Error>;
499
+ declare const useProjectStatisticsByUser: (projectId: number, startDate: string | null, endDate: string, filterUserId: string | null) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.UserStatisticsResponse, Error>;
500
+ declare const useContractStatisticsByUser: (projectId: number, startDate: string | null, endDate: string, filterUserId: string | null) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.UserStatisticsResponse, Error>;
501
+ declare const useLatestTaskOnLocation: (locationId: string, projectId: number, referenceDate: string) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.LocationTaskAnnotationResponse, Error>;
502
+ declare const useAssignProjectToUser: (userRoleRequest: SetUserRoleRequest[], update: boolean) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.GenericResponse | undefined, Error>;
503
+ declare const useGetUserProject: (user_id: string, fetchData: boolean) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.GetUserRoleProjectResponse[] | undefined, Error>;
504
+ declare const useUpdateUserDetail: (userDetailRequest: SetUserDetailRequest, update: boolean) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.GenericResponse | undefined, Error>;
505
+ declare const useProjectsPointsDownload: (projectId: number, download: boolean, userRole: string) => _tanstack_react_query.UseQueryResult<any, Error>;
506
+ declare const useQuestionnaire: (projectId: number) => _tanstack_react_query.UseQueryResult<_geowiki_evoland_api_proxy.Questionnaire[], Error>;
507
+ declare const useTaskAnswers: (taskId: number) => _tanstack_react_query.UseQueryResult<any[][], Error>;
508
+ declare const useProjectResultSet: (download: boolean, projectId: number, is_geo_json: boolean) => _tanstack_react_query.UseQueryResult<any, Error>;
509
+
510
+ declare const useApiImage: (imageId: string) => _tanstack_react_query.UseQueryResult<string, Error>;
511
+
512
+ declare const useCmsImage: (imageId: string) => _tanstack_react_query.UseQueryResult<string, Error>;
513
+
514
+ declare const useClusterGetJoinRequests: (clusterId: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.ClusterMemberDto[], Error>;
515
+
516
+ declare const useClusterGetNews: (clusterId: string, newsId: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.FarmerClusterNewsDto, Error>;
517
+
518
+ declare const useClusterGetNewsNextPreviousStatus: (clusterId: string, newsId: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.NewsPreviousNextStatusDto, Error>;
519
+
520
+ declare const useClusterImages: (id: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.FileDto[], Error>;
521
+
522
+ declare const useClusterOverview: (id: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.ClusterDto, Error>;
523
+
524
+ declare const useClusterAllNews: (id: string, refresh: boolean, sorting?: string, skipCount?: number, maxResultCount?: number, status?: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfFarmerClusterNewsInfoDto, Error>;
525
+
526
+ declare const useNewsFromAllClusters: (skip?: number, take?: number) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfFarmerClusterNewsInfoDto, Error>;
527
+
528
+ declare const useClusterNewsWithId: (id: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.FarmerClusterNewsDto, Error>;
529
+
530
+ declare const useMapMenuItems: () => _tanstack_react_query.UseQueryResult<MapMenuItemItemDto[], Error>;
531
+
532
+ declare const useClusterLinks: (id: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.LinksAndPartnerDto, Error>;
533
+
534
+ declare const useCmsContentWithType: (contentType: string) => _tanstack_react_query.UseQueryResult<any, Error>;
535
+
536
+ declare const useClusterNews: (id: string, sort?: string, skip?: number, take?: number) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.PagedResultDtoOfFarmerClusterNewsDto, Error>;
537
+
538
+ declare const useClusterDescription: (id: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.FarmerClusterDescriptionDto, Error>;
539
+
540
+ declare const useClusterDetails: (id: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.FarmerClusterDetailsDto, Error>;
541
+
542
+ declare const useClusterImagesAndVideos: (id: string) => _tanstack_react_query.UseQueryResult<_geowiki_api_proxy.FarmerClusterImagesAndVideosDto, Error>;
543
+
544
+ type HostInfo = {
545
+ host: string;
546
+ cmsUrl: string;
547
+ tenantId?: string;
548
+ hostType?: HostType;
549
+ name?: string;
550
+ redirectUrl?: string;
551
+ protectedPaths?: string[];
552
+ };
553
+ declare enum HostType {
554
+ IsActive = "IsActive",
555
+ IsUnderConstruction = "IsUnderConstruction"
556
+ }
557
+
558
+ declare function useHost(): _tanstack_react_query.UseQueryResult<HostInfo | null, Error>;
559
+
560
+ declare function useHosts(): _tanstack_react_query.UseQueryResult<HostInfo[], Error>;
561
+
562
+ declare const useCreateHost: () => _tanstack_react_query.UseMutationResult<HostInfo, Error, Omit<HostInfo, "host"> & {
563
+ host: string;
564
+ }, unknown>;
565
+ declare const useUpdateHost: () => _tanstack_react_query.UseMutationResult<HostInfo, Error, HostInfo, unknown>;
566
+ declare const useDeleteHost: () => _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
567
+
568
+ /**
569
+ * Comprehensive HostService that abstracts all host-related operations
570
+ * This service provides a unified interface for both client and server-side host management
571
+ */
572
+ declare class HostService {
573
+ /**
574
+ * Server-side: Get all hosts data
575
+ * This should be used in API routes and server-side code
576
+ */
577
+ static getHostData(): HostInfo[];
578
+ /**
579
+ * Server-side: Find host info by hostname
580
+ * This should be used in API routes and server-side code
581
+ */
582
+ static findHostInfo(host: string): HostInfo | undefined;
583
+ /**
584
+ * Server-side: Get CMS URL for a specific host
585
+ * This should be used in API routes and server-side code
586
+ */
587
+ static getCmsUrlForHost(host: string): string;
588
+ /**
589
+ * Server-side: Get tenant ID for a specific host
590
+ * This should be used in API routes and server-side code
591
+ */
592
+ static getTenantIdForHost(host: string): string | undefined;
593
+ /**
594
+ * Utility: Check if host is under construction
595
+ */
596
+ static isHostUnderConstruction(hostInfo: HostInfo | undefined): boolean;
597
+ /**
598
+ * Utility: Check if host has protected paths
599
+ */
600
+ static hasProtectedPaths(hostInfo: HostInfo | undefined): boolean;
601
+ /**
602
+ * Utility: Check if a path is protected for a host
603
+ */
604
+ static isPathProtected(hostInfo: HostInfo | undefined, path: string): boolean;
605
+ /**
606
+ * Utility: Get redirect URL for host
607
+ */
608
+ static getRedirectUrl(hostInfo: HostInfo | undefined): string | undefined;
609
+ /**
610
+ * Utility: Get tenant name from host info
611
+ */
612
+ static getTenantName(hostInfo: HostInfo | undefined): string | undefined;
613
+ /**
614
+ * Utility: Validate host configuration
615
+ */
616
+ static validateHostInfo(hostInfo: HostInfo): {
617
+ isValid: boolean;
618
+ errors: string[];
619
+ };
620
+ /**
621
+ * Utility: Check if URL is valid
622
+ */
623
+ private static isValidUrl;
624
+ /**
625
+ * Utility: Check if path is valid
626
+ */
627
+ private static isValidPath;
628
+ /**
629
+ * Utility: Get host info for current window location (client-side only)
630
+ */
631
+ static getCurrentHostInfo(hosts: HostInfo[]): HostInfo | undefined;
632
+ /**
633
+ * Utility: Get host info for specific hostname from hosts array
634
+ */
635
+ static getHostInfoFromArray(hosts: HostInfo[], hostname: string): HostInfo | undefined;
636
+ /**
637
+ * Utility: Filter hosts by tenant ID
638
+ */
639
+ static filterHostsByTenant(hosts: HostInfo[], tenantId: string): HostInfo[];
640
+ /**
641
+ * Utility: Filter hosts by CMS URL
642
+ */
643
+ static filterHostsByCmsUrl(hosts: HostInfo[], cmsUrl: string): HostInfo[];
644
+ /**
645
+ * Utility: Get unique tenant IDs from hosts
646
+ */
647
+ static getUniqueTenantIds(hosts: HostInfo[]): string[];
648
+ /**
649
+ * Utility: Get unique CMS URLs from hosts
650
+ */
651
+ static getUniqueCmsUrls(hosts: HostInfo[]): string[];
652
+ }
653
+
654
+ type MapLayer = {
655
+ id: string;
656
+ name: string;
657
+ type: string;
658
+ url: string;
659
+ visible: boolean;
660
+ opacity: number;
661
+ attribution: string;
662
+ layerName: string;
663
+ layerItem: LayerItemDto;
664
+ };
665
+
666
+ type Alert = {
667
+ heading: string;
668
+ message: string;
669
+ };
670
+
671
+ type BaseProp = {
672
+ settings: DefaultSettings;
673
+ };
674
+
675
+ declare enum StyleType {
676
+ Primary = 0,
677
+ Secondary = 1,
678
+ Success = 2,
679
+ Danger = 3,
680
+ Warning = 4,
681
+ Info = 5
682
+ }
683
+
684
+ interface ClusterDto {
685
+ name: string;
686
+ description: string;
687
+ aim: string;
688
+ noOfFarms: number;
689
+ bioDiversityInterestsAndFocusAreas: string;
690
+ adminUserID: string;
691
+ contactEmail: string;
692
+ coverImageID: string;
693
+ images: FileDto[];
694
+ clusterNews: FarmerClusterNewsDto[];
695
+ location: LocationDto;
696
+ dateEstablished: Date;
697
+ farmingSystems: string[];
698
+ mainAgriculturalAreas: string[];
699
+ mainCrops: string[];
700
+ liveStock: string[];
701
+ otherLandScapeElements: string[];
702
+ huntingManagement: string[];
703
+ bioDiversityEnhancingMeasures: string;
704
+ outcomes: string;
705
+ funding: string[];
706
+ fundingSpecified: string;
707
+ previousFundingSpecified: string;
708
+ website: string;
709
+ projectURL: string;
710
+ videoURL: string;
711
+ climate: string;
712
+ totalArea: number;
713
+ isDeleted: boolean;
714
+ deleterID: string;
715
+ deletionTime: Date;
716
+ lastModificationTime: Date;
717
+ lastModifierID: string;
718
+ creationTime: Date;
719
+ creatorID: string;
720
+ id: string;
721
+ }
722
+
723
+ type Column = {
724
+ name: string;
725
+ label: string;
726
+ render: any;
727
+ };
728
+
729
+ type DisplayItem = {
730
+ value: any;
731
+ label: any;
732
+ };
733
+
734
+ interface FluffyThumbnail {
735
+ contentUrl: string;
736
+ }
737
+
738
+ type LinkWithNewTab = {
739
+ url: string;
740
+ new_tab: boolean;
741
+ text: string;
742
+ };
743
+
744
+ type FooterSettings = {
745
+ copyright: string;
746
+ links: Array<LinkWithNewTab>;
747
+ };
748
+
749
+ type FundingSettings = {
750
+ image: string;
751
+ title: string;
752
+ description: string;
753
+ };
754
+
755
+ type GlobalSettings = {
756
+ title: string;
757
+ description: string;
758
+ logo: string;
759
+ logo_alt: string;
760
+ host: string;
761
+ client_url: string;
762
+ identity_url: string;
763
+ api_url: string;
764
+ brand_name: string;
765
+ is_active: boolean;
766
+ can_login: boolean;
767
+ };
768
+
769
+ type MenuItem = {
770
+ id: string;
771
+ name: string;
772
+ url: string;
773
+ newTab?: boolean;
774
+ children?: MenuItem[];
775
+ };
776
+
777
+ type MainMenu = {
778
+ id: string;
779
+ name: string;
780
+ items: MenuItem[];
781
+ };
782
+
783
+ type MapSettings = {
784
+ latitude: number;
785
+ longitude: number;
786
+ zoom: number;
787
+ };
788
+
789
+ interface QueryContext {
790
+ originalQuery: string;
791
+ adultIntent: boolean;
792
+ }
793
+
794
+ interface Sort {
795
+ name: string;
796
+ id: string;
797
+ isSelected: boolean;
798
+ url: string;
799
+ }
800
+
801
+ interface ProviderImage {
802
+ thumbnail: FluffyThumbnail;
803
+ }
804
+
805
+ interface Provider {
806
+ _type: string;
807
+ name: string;
808
+ image?: ProviderImage;
809
+ }
810
+
811
+ interface PurpleThumbnail {
812
+ contentUrl: string;
813
+ width: number;
814
+ height: number;
815
+ }
816
+
817
+ interface ValueImage {
818
+ thumbnail: PurpleThumbnail;
819
+ }
820
+
821
+ interface BingNewsItem {
822
+ name: string;
823
+ url: string;
824
+ image?: ValueImage;
825
+ description: string;
826
+ provider: Provider[];
827
+ datePublished: Date;
828
+ }
829
+
830
+ interface NewsResult {
831
+ _type: string;
832
+ readLink: string;
833
+ queryContext: QueryContext;
834
+ totalEstimatedMatches: number;
835
+ sort: Sort[];
836
+ value: BingNewsItem[];
837
+ }
838
+
839
+ interface UtmResult {
840
+ geometry: GeoJSON.Polygon;
841
+ epsg: number;
842
+ utm_bounds: number[];
843
+ location_id?: string;
844
+ }
845
+
846
+ declare enum ViewStatus {
847
+ New = 0,
848
+ Edit = 1,
849
+ List = 2,
850
+ View = 3
851
+ }
852
+
853
+ type State$3 = {
854
+ breadCrumbs: any[];
855
+ add: (breadCrumb: any) => void;
856
+ remove: (breadCrumb: any) => void;
857
+ };
858
+ declare const useBreadCrumbStore: zustand.UseBoundStore<zustand.StoreApi<State$3>>;
859
+
860
+ type ConfigState = {
861
+ apiUrl: string;
862
+ cmsUrl: string;
863
+ tenantId: string;
864
+ };
865
+ declare const configStore: zustand_vanilla.StoreApi<ConfigState>;
866
+
867
+ type State$2 = {
868
+ layers: LayerItemDto[];
869
+ add: (layer: LayerItemDto) => void;
870
+ remove: (layer: LayerItemDto) => void;
871
+ };
872
+ declare const useLayerStore: zustand.UseBoundStore<zustand.StoreApi<State$2>>;
873
+
874
+ type State$1 = {
875
+ settings: DefaultSettings | null;
876
+ };
877
+ declare const settingsStore: zustand_vanilla.StoreApi<State$1>;
878
+
879
+ type State = {
880
+ showPanels: () => void;
881
+ isLeftPanelOpen: boolean;
882
+ setIsLeftPanelOpen: (isLeftPanelOpen: boolean) => void;
883
+ isRightPanelOpen: boolean;
884
+ setIsRightPanelOpen: (isRightPanelOpen: boolean) => void;
885
+ panelRef: any;
886
+ setPanelRef: (panelRef: any) => void;
887
+ };
888
+ declare const usePanelStore: zustand.UseBoundStore<zustand.StoreApi<State>>;
889
+
890
+ type BasfLayerItem = {
891
+ id: string;
892
+ opacity: number;
893
+ scenario: string;
894
+ price: string;
895
+ product: string;
896
+ item: string;
897
+ year: string;
898
+ enabled: boolean;
899
+ formType: string;
900
+ };
901
+ type Store = {
902
+ selectedItems: BasfLayerItem[];
903
+ addItem: (item: Omit<BasfLayerItem, "opacity">) => void;
904
+ removeItem: (id: string) => void;
905
+ updateItemOpacity: (id: string, opacity: number) => void;
906
+ updateItemEnabled: (id: string, enabled: boolean) => void;
907
+ rightPanelOpen: boolean;
908
+ leftPanelOpen: boolean;
909
+ updateRightPanelOpen: (open: boolean) => void;
910
+ updateLeftPanelOpen: (open: boolean) => void;
911
+ };
912
+ declare const useBasfStore: zustand.UseBoundStore<zustand.StoreApi<Store>>;
913
+
914
+ declare const i18n: I18n<any>;
915
+ declare const getHtmlElementFromReactNode: (node: React.ReactNode) => HTMLDivElement;
916
+ declare const classNames: (...classes: any) => any;
917
+ declare function getButtonAppearance(type: any, background: any): "dark" | "white" | "dark-outline" | "white-outline";
918
+ declare function getMediaUrl(url: string): string | undefined;
919
+ declare const showIntroTour: (tourSteps: []) => void;
920
+ declare const tokenData: (token: string, field: string) => any;
921
+ declare const IsTokenExpired: (tokenExpires: string) => boolean | undefined;
922
+ declare const getHostFromRequest: (req: any) => any;
923
+ declare const shimmer: (w: number, h: number) => string;
924
+ declare const toBase64: (str: string) => string;
925
+ declare const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
926
+ declare const triplet: (e1: number, e2: number, e3: number) => string;
927
+ declare const rgbDataURL: (r: number, g: number, b: number) => string;
928
+ declare const downloadData: (data: any, fileName: string) => void;
929
+ declare const scrollToFirstErrorElement: (errors: any) => void;
930
+ declare const downloadJSON: (data: object, fileName: string) => void;
931
+ declare const formatUnixDate: (date: number) => string;
932
+
933
+ declare const Config: {
934
+ site_name: string;
935
+ title: string;
936
+ description: string;
937
+ locale: string;
938
+ };
939
+ declare const Permission: {
940
+ FarmerCluster: {
941
+ Default: string;
942
+ Create: string;
943
+ Update: string;
944
+ Delete: string;
945
+ AddNews: string;
946
+ EditNews: string;
947
+ DeleteNews: string;
948
+ ViewNews: string;
949
+ ViewFarmers: string;
950
+ RemoveFarmer: string;
951
+ AddFarmer: string;
952
+ };
953
+ Resource: {
954
+ Default: string;
955
+ Create: string;
956
+ Update: string;
957
+ Delete: string;
958
+ };
959
+ File: {
960
+ Default: string;
961
+ Create: string;
962
+ Delete: string;
963
+ Update: string;
964
+ };
965
+ News: {
966
+ Default: string;
967
+ Create: string;
968
+ Delete: string;
969
+ Update: string;
970
+ };
971
+ Tenants: {
972
+ Default: string;
973
+ Create: string;
974
+ Delete: string;
975
+ Update: string;
976
+ ManageConnectionStrings: string;
977
+ ManageFeatures: string;
978
+ };
979
+ Layer: {
980
+ Default: string;
981
+ Create: string;
982
+ Delete: string;
983
+ Update: string;
984
+ };
985
+ LayerCategory: {
986
+ Default: string;
987
+ Create: string;
988
+ Delete: string;
989
+ Update: string;
990
+ };
991
+ LayerInfo: {
992
+ Default: string;
993
+ Create: string;
994
+ Delete: string;
995
+ Update: string;
996
+ };
997
+ Settings: {
998
+ Default: string;
999
+ Create: string;
1000
+ Update: string;
1001
+ };
1002
+ Dashboard: {
1003
+ Default: string;
1004
+ };
1005
+ };
1006
+ declare enum USER_ROLE {
1007
+ ADMIN = "admin",
1008
+ FARMER_CLUSTER_ADMIN = "FarmerClusterAdmin"
1009
+ }
1010
+ declare enum PermissionProvider {
1011
+ U = "U",
1012
+ R = "R",
1013
+ T = "T"
1014
+ }
1015
+ type Menu = {
1016
+ name: string;
1017
+ link?: string;
1018
+ icon?: any;
1019
+ roles?: USER_ROLE[];
1020
+ feature?: string[];
1021
+ };
1022
+ interface SubMenu extends Menu {
1023
+ children?: Menu[];
1024
+ }
1025
+ declare const Features: {
1026
+ FarmerCluster: string;
1027
+ FarmerClusterNews: string;
1028
+ SettingManagementEnable: string;
1029
+ GeoWikiLogin: string;
1030
+ GeoWikiSettings: string;
1031
+ SettingManagementAllowTenantsToChangeEmailSettings: string;
1032
+ Resources: string;
1033
+ };
1034
+ declare const FarmingSystem: {
1035
+ value: string;
1036
+ label: string;
1037
+ }[];
1038
+ declare const MainAgriculturalAreas: {
1039
+ value: string;
1040
+ label: string;
1041
+ }[];
1042
+ declare const MainCrops: {
1043
+ value: string;
1044
+ label: string;
1045
+ }[];
1046
+ declare const LiveStock: {
1047
+ value: string;
1048
+ label: string;
1049
+ }[];
1050
+ declare const OtherLandscapeElements: {
1051
+ value: string;
1052
+ label: string;
1053
+ }[];
1054
+ declare const HuntingManagement: {
1055
+ value: string;
1056
+ label: string;
1057
+ }[];
1058
+ declare const ClusterFunding: {
1059
+ value: string;
1060
+ label: string;
1061
+ }[];
1062
+ declare const ActivityStatus: {
1063
+ value: string;
1064
+ label: string;
1065
+ }[];
1066
+ declare const routes: {
1067
+ EditFarmerCluster: {
1068
+ path: string;
1069
+ name: string;
1070
+ }[];
1071
+ ViewFarmerClusterNews: {
1072
+ path: string;
1073
+ name: string;
1074
+ }[];
1075
+ };
1076
+ declare const imageMaxDimension: {
1077
+ width: number;
1078
+ height: number;
1079
+ };
1080
+ declare const imageMinDimension: {
1081
+ width: number;
1082
+ height: number;
1083
+ };
1084
+ declare const ImageError = "Image size requires a minimum 400px width and 250px height and is limited to max 1920px width and 1080px height.";
1085
+ declare const ColorArray: string[];
1086
+ declare const ColorArrayCSSClass: string[];
1087
+ declare const Responsive: {
1088
+ desktop: {
1089
+ breakpoint: {
1090
+ max: number;
1091
+ min: number;
1092
+ };
1093
+ items: number;
1094
+ slidesToSlide: number;
1095
+ };
1096
+ tablet: {
1097
+ breakpoint: {
1098
+ max: number;
1099
+ min: number;
1100
+ };
1101
+ items: number;
1102
+ slidesToSlide: number;
1103
+ };
1104
+ mobile: {
1105
+ breakpoint: {
1106
+ max: number;
1107
+ min: number;
1108
+ };
1109
+ items: number;
1110
+ slidesToSlide: number;
1111
+ };
1112
+ };
1113
+ declare const ResourcesMenu: {
1114
+ id: string;
1115
+ name: string;
1116
+ url: string;
1117
+ newTab: boolean;
1118
+ children: {
1119
+ id: string;
1120
+ name: string;
1121
+ url: string;
1122
+ newTab: boolean;
1123
+ }[];
1124
+ }[];
1125
+ declare const NewsDefaultImage = "3a084680-7984-e07d-d44e-d58f946604e3";
1126
+ declare const LookUps: {
1127
+ ClusterCountries: string;
1128
+ ClusterActivityStatus: string;
1129
+ ClusterFarmingSystem: string;
1130
+ ClusterMainAgricultureArea: string;
1131
+ ClusterMainCrops: string;
1132
+ };
1133
+ declare const AdminMenus: SubMenu[];
1134
+ declare const CLUSTER_ACTIVITY_STATUS: {
1135
+ value: string;
1136
+ label: string;
1137
+ }[];
1138
+
1139
+ declare const getGeoWikiSettings: () => Promise<GeoWikiSettingsItemDto>;
1140
+ declare const getDefaultSettings: () => Promise<DefaultSettings>;
1141
+ declare const getMenus: (displayName: string) => Promise<MenuItemDto>;
1142
+ declare const getPageContent: (displayName: string) => Promise<PageItemDto>;
1143
+ declare const getContentWithTypeAndDisplayName: (contentType: string, displayName: string) => Promise<_geowiki_cms_proxy.QueriesItemsDto>;
1144
+ declare const getContentWithSlug: (slug: string) => Promise<any>;
1145
+ declare const getContentsWithType: (contentType: string) => Promise<any>;
1146
+ declare const getPageProps: (ctx: GetServerSidePropsContext) => Promise<{
1147
+ props: {
1148
+ page: PageItemDto;
1149
+ };
1150
+ }>;
1151
+
1152
+ /**
1153
+ * Analytics utilities for tracking user interactions with Umami
1154
+ *
1155
+ * Usage Examples:
1156
+ *
1157
+ * // Track download events
1158
+ * import { trackDownloadEvent } from "@geowiki/core";
1159
+ * trackDownloadEvent.attempt("csv", "Germany", "2023", "Research", session);
1160
+ * trackDownloadEvent.success("data.csv", "Research", session);
1161
+ * trackDownloadEvent.failure("Network error", "Research", session);
1162
+ *
1163
+ * // Track authentication events
1164
+ * import { trackAuthEvent } from "@geowiki/core";
1165
+ * trackAuthEvent.loginAttempt("openiddict", session);
1166
+ * trackAuthEvent.loginSuccess("openiddict", session);
1167
+ *
1168
+ * // Track general user events
1169
+ * import { trackUserEvent } from "@geowiki/core";
1170
+ * trackUserEvent.buttonClick("download", "map-page", session);
1171
+ * trackUserEvent.pageView("/map", session);
1172
+ */
1173
+ declare global {
1174
+ interface Window {
1175
+ umami?: {
1176
+ track: (eventName: string, eventData?: Record<string, any>) => void;
1177
+ };
1178
+ }
1179
+ }
1180
+ /**
1181
+ * Utility function to track Umami events with user info
1182
+ * @param eventName - The name of the event to track
1183
+ * @param eventData - Additional data to include with the event
1184
+ * @param session - Optional session object containing user information
1185
+ */
1186
+ declare const trackUmamiEvent: (eventName: string, eventData?: Record<string, any>, session?: Session & {
1187
+ accessToken?: string;
1188
+ }) => void;
1189
+ /**
1190
+ * Track download-related events with consistent data structure
1191
+ */
1192
+ declare const trackDownloadEvent: {
1193
+ /**
1194
+ * Track download attempt
1195
+ */
1196
+ attempt: (format: string, country: string, version: string, purpose: string, session?: Session & {
1197
+ accessToken?: string;
1198
+ }) => void;
1199
+ /**
1200
+ * Track successful download
1201
+ */
1202
+ success: (filename: string, purpose: string, session?: Session & {
1203
+ accessToken?: string;
1204
+ }) => void;
1205
+ /**
1206
+ * Track download failure
1207
+ */
1208
+ failure: (error: string, purpose: string, session?: Session & {
1209
+ accessToken?: string;
1210
+ }) => void;
1211
+ /**
1212
+ * Track login attempt for download access
1213
+ */
1214
+ loginAttempt: (session?: Session & {
1215
+ accessToken?: string;
1216
+ }) => void;
1217
+ };
1218
+ /**
1219
+ * Track authentication-related events
1220
+ */
1221
+ declare const trackAuthEvent: {
1222
+ /**
1223
+ * Track login attempt
1224
+ */
1225
+ loginAttempt: (provider: string, session?: Session & {
1226
+ accessToken?: string;
1227
+ }) => void;
1228
+ /**
1229
+ * Track successful login
1230
+ */
1231
+ loginSuccess: (provider: string, session?: Session & {
1232
+ accessToken?: string;
1233
+ }) => void;
1234
+ /**
1235
+ * Track logout
1236
+ */
1237
+ logout: (session?: Session & {
1238
+ accessToken?: string;
1239
+ }) => void;
1240
+ };
1241
+ /**
1242
+ * Track general user interaction events
1243
+ */
1244
+ declare const trackUserEvent: {
1245
+ /**
1246
+ * Track page view
1247
+ */
1248
+ pageView: (page: string, session?: Session & {
1249
+ accessToken?: string;
1250
+ }) => void;
1251
+ /**
1252
+ * Track button click
1253
+ */
1254
+ buttonClick: (buttonName: string, context?: string, session?: Session & {
1255
+ accessToken?: string;
1256
+ }) => void;
1257
+ /**
1258
+ * Track form submission
1259
+ */
1260
+ formSubmit: (formName: string, session?: Session & {
1261
+ accessToken?: string;
1262
+ }) => void;
1263
+ /**
1264
+ * Track map control button click with specific context
1265
+ */
1266
+ mapControlClick: (controlName: string, action?: string, session?: Session & {
1267
+ accessToken?: string;
1268
+ }) => void;
1269
+ };
1270
+ /**
1271
+ * Track map control events
1272
+ */
1273
+ declare const trackMapEvent: {
1274
+ /**
1275
+ * Track layer toggle
1276
+ */
1277
+ layerToggle: (layerName: string, action: "add" | "remove", session?: Session & {
1278
+ accessToken?: string;
1279
+ }) => void;
1280
+ /**
1281
+ * Track base layer change
1282
+ */
1283
+ baseLayerChange: (baseLayerName: string, session?: Session & {
1284
+ accessToken?: string;
1285
+ }) => void;
1286
+ /**
1287
+ * Track layer opacity change
1288
+ */
1289
+ layerOpacityChange: (layerName: string, opacity: number, session?: Session & {
1290
+ accessToken?: string;
1291
+ }) => void;
1292
+ /**
1293
+ * Track layer reorder
1294
+ */
1295
+ layerReorder: (layerName: string, newPosition: number, session?: Session & {
1296
+ accessToken?: string;
1297
+ }) => void;
1298
+ /**
1299
+ * Track layer info view
1300
+ */
1301
+ layerInfoView: (layerName: string, session?: Session & {
1302
+ accessToken?: string;
1303
+ }) => void;
1304
+ /**
1305
+ * Track measurement tool usage
1306
+ */
1307
+ measurementTool: (action: "start" | "stop" | "clear", session?: Session & {
1308
+ accessToken?: string;
1309
+ }) => void;
1310
+ /**
1311
+ * Track zoom control usage
1312
+ */
1313
+ zoomControl: (action: "zoom_in" | "zoom_out" | "reset", session?: Session & {
1314
+ accessToken?: string;
1315
+ }) => void;
1316
+ /**
1317
+ * Track legend interaction
1318
+ */
1319
+ legendInteraction: (action: "open" | "close" | "reorder", session?: Session & {
1320
+ accessToken?: string;
1321
+ }) => void;
1322
+ };
1323
+
1324
+ /**
1325
+ * Server-side utility to get host data without using React hooks
1326
+ * This is used in API routes and server-side code where hooks cannot be used
1327
+ */
1328
+ declare const getHostData: () => HostInfo[];
1329
+ /**
1330
+ * Find host info by hostname
1331
+ */
1332
+ declare const findHostInfo: (host: string) => HostInfo | undefined;
1333
+ /**
1334
+ * Get CMS URL for a specific host
1335
+ */
1336
+ declare const getCmsUrlForHost: (host: string) => string;
1337
+ /**
1338
+ * Get tenant ID for a specific host
1339
+ */
1340
+ declare const getTenantIdForHost: (host: string) => string | undefined;
1341
+
1342
+ declare const QueryNames: {
1343
+ Users: string;
1344
+ Tenants: string;
1345
+ Roles: string;
1346
+ AppConfig: string;
1347
+ GetMapMenuItems: string;
1348
+ GetApps: string;
1349
+ GetCountries: string;
1350
+ Clusters: string;
1351
+ Cluster: string;
1352
+ ClusterNewsWithId: string;
1353
+ GetClusterOverview: string;
1354
+ FilterClusters: string;
1355
+ ClusterLookUp: string;
1356
+ JoinRequests: string;
1357
+ GetFarmerCluster: string;
1358
+ GetFarmerClusterNews: string;
1359
+ GetFarmerClusterMembers: string;
1360
+ Menus: string;
1361
+ GetMenu: string;
1362
+ GetSettings: string;
1363
+ Layers: string;
1364
+ GetLayer: string;
1365
+ GetClusterForMap: string;
1366
+ GetAppSettings: string;
1367
+ GetResource: string;
1368
+ FileUpload: string;
1369
+ GetUserProfile: string;
1370
+ GetLookUp: string;
1371
+ GetClusterFilterSettings: string;
1372
+ GetConfig: string;
1373
+ GetIntroTour: string;
1374
+ GetNews: string;
1375
+ GetPublicationSettings: string;
1376
+ GetUseLayerInfo: string;
1377
+ GetMapSettings: string;
1378
+ GetLanguages: string;
1379
+ GetResourceFilter: string;
1380
+ GetAudience: string;
1381
+ GetTopic: string;
1382
+ GetResourceType: string;
1383
+ GetAvailableWmsLayers: string;
1384
+ GetAvailableBands: string;
1385
+ ClusterAllNews: string;
1386
+ ClusterNews: string;
1387
+ ClusterGetNews: string;
1388
+ ClusterNewsNextPrevious: string;
1389
+ ClusterImages: string;
1390
+ DefaultSettings: string;
1391
+ GetEvolandLabels: string;
1392
+ GetEvolandCombinationLabels: string;
1393
+ NewsFromAllClusters: string;
1394
+ MapMenuItems: string;
1395
+ GetSocialLinks: string;
1396
+ GetCmsContentWithType: string;
1397
+ GetImagesAndVideos: string;
1398
+ GetClusterDescription: string;
1399
+ GetClusterDetails: string;
1400
+ GetHost: string;
1401
+ GetHosts: string;
1402
+ };
1403
+
1404
+ export { ActivityStatus, AdminMenus, type Alert, AnnotationRequired, type BaseProp, type BasfLayerItem, type BingNewsItem, CLUSTER_ACTIVITY_STATUS, type ClusterDto, ClusterFunding, ColorArray, ColorArrayCSSClass, type Colormap, type Column, Config, DOTS, type DefaultSettings, type DisplayItem, type Entry, FarmingSystem, Features, type FluffyThumbnail, type Font, type FooterSettings, type FundingSettings, type GlobalSettings, type Graphic, type HostInfo, HostService, HostType, HuntingManagement, ImageError, IsTokenExpired, type LabelPlacement, type Legend, type LegendInfo, type Line, type LinkWithNewTab, LiveStock, type LocationTasks, LookUps, MainAgriculturalAreas, MainCrops, type MainMenu, type MapLayer, type MapSettings, type Menu, type MenuItem, NewsDefaultImage, type NewsResult, OtherLandscapeElements, Permission, PermissionProvider, type Point, type Policy, type Polygon, type Provider, type ProviderImage, type PurpleThumbnail, QueryConstants, type QueryContext, QueryNames, QuestionnaireType, type Raster, ResourcesMenu, Responsive, type Rule, type Sort, StyleType, type SubMenu, type Symbolizer, TaskEventType, TaskState, TaskStatus, TaskStatusColor, type Text, USER_ROLE, type UtmResult, type ValueImage, ViewStatus, classNames, configStore, delayedSlideInUp, downloadData, downloadJSON, easing, findHostInfo, formatUnixDate, getButtonAppearance, getCmsUrlForHost, getContentWithSlug, getContentWithTypeAndDisplayName, getContentsWithType, getDefaultSettings, getGeoWikiSettings, getHostData, getHostFromRequest, getHtmlElementFromReactNode, getMediaUrl, getMenus, getPageContent, getPageProps, getTenantIdForHost, i18n, imageMaxDimension, imageMinDimension, itemVariants, keyStr, listVariants, rgbDataURL, routes, scrollToFirstErrorElement, settingsStore, shimmer, showIntroTour, slideInLeft, slideInRight, slideInUp, spring, toBase64, tokenData, trackAuthEvent, trackDownloadEvent, trackMapEvent, trackUmamiEvent, trackUserEvent, triplet, useAllNewsFromAllClusters, useApiImage, useApiUrl, useAppConfig, useAssignProjectToUser, useAssignableRoles, useAudience, useBasfStore, useBreadCrumbStore, useCluster, useClusterAllNews, useClusterDescription, useClusterDetails, useClusterFilterSettings, useClusterGetJoinRequests, useClusterGetNews, useClusterGetNewsNextPreviousStatus, useClusterImages, useClusterImagesAndVideos, useClusterLinks, useClusterMapInfo, useClusterNews, useClusterNewsWithId, useClusterOverview, useClusters, useCmsContentWithType, useCmsImage, useCmsUrl, useConfigSettings, useContractStatisticsByUser, useCountries, useCreateHost, useCurrentUser, useDefaultSettings, useDeleteHost, useDimensions, useEmailing, useEvolandBands, useEvolandLabels, useEvolandWmsLayers, useFeature, useFeatures, useFileUpload, useFileUrl, useFilterClusters, useGeoWikiSettings, useGetUserProject, useGrantedPolicies, useGroupsInProject, useHost, useHosts, useImageUrl, useIntroTourSettings, useIsAdmin, useIsAuthenticated, useIsInRole, useLanguages, useLatestTaskOnLocation, useLayerInfo, useLayerStore, useLocation, useLocationBulkUpload, useLocationsForProject, useLockBodyScroll, useLookUp, useMapMenuItems, useNews, useNewsFromAllClusters, usePagination, usePanelStore, usePermission, usePermissions, useProfile, useProjectDetails, useProjectResultSet, useProjectStatisticsByUser, useProjectUsers, useProjects, useProjectsPointsDownload, usePublicationSettings, useQuestionnaire, useRandomTasksPerLocation, useRenderInfo, useResource, useResourceFilter, useResourceType, useReviewTaskBulkUpload, useRoles, useTaskAnnotation, useTaskAnswers, useTaskBulkUpload, useTaskComments, useTaskDelete, useTaskMultipleAnnotations, useTaskSavedAnnotations, useTaskStatusList, useTasksPerLocation, useTenants, useTopic, useUpdateActiveGroupInProject, useUpdateHost, useUpdateUserDetail, useUserProfileGet, useUserRoles, useUsers };