@feltmaps/js-sdk 1.5.0-next.1 → 1.5.0-next.10

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,3385 @@
1
+ import { ZodRawShape, objectOutputType, ZodTypeAny, z } from 'zod';
2
+
3
+ /**
4
+ * A selection of generic utility types
5
+ */
6
+
7
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
8
+ type PromiseOrNot<T> = T | Promise<T>;
9
+ /**
10
+ * A better type inference for zod schemas that retains the TSDoc comments
11
+ * from the members in the compiled output.
12
+ */
13
+ type zInfer<T extends {
14
+ shape: ZodRawShape;
15
+ }> = objectOutputType<T["shape"], ZodTypeAny, "strip">;
16
+
17
+ declare const PlaceCreateSchema: z.ZodObject<Omit<{
18
+ symbol: z.ZodOptional<z.ZodString>;
19
+ type: z.ZodLiteral<"Place">;
20
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
21
+ id: z.ZodOptional<z.ZodString>;
22
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ color: z.ZodOptional<z.ZodString>;
24
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
25
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
26
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
27
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
28
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ frame: z.ZodOptional<z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>>;
30
+ hideLabel: z.ZodOptional<z.ZodBoolean>;
31
+ }, "id">, "strip", z.ZodTypeAny, {
32
+ type: "Place";
33
+ coordinates: [number, number];
34
+ symbol?: string | undefined;
35
+ groupId?: string | null | undefined;
36
+ color?: string | undefined;
37
+ name?: string | null | undefined;
38
+ description?: string | null | undefined;
39
+ attributes?: Record<string, unknown> | undefined;
40
+ interaction?: "default" | "locked" | undefined;
41
+ imageUrl?: string | null | undefined;
42
+ frame?: "frame-circle" | "frame-square" | null | undefined;
43
+ hideLabel?: boolean | undefined;
44
+ }, {
45
+ type: "Place";
46
+ coordinates: [number, number];
47
+ symbol?: string | undefined;
48
+ groupId?: string | null | undefined;
49
+ color?: string | undefined;
50
+ name?: string | null | undefined;
51
+ description?: string | null | undefined;
52
+ attributes?: Record<string, unknown> | undefined;
53
+ interaction?: "default" | "locked" | undefined;
54
+ imageUrl?: string | null | undefined;
55
+ frame?: "frame-circle" | "frame-square" | null | undefined;
56
+ hideLabel?: boolean | undefined;
57
+ }>;
58
+ declare const PathCreateSchema: z.ZodObject<Omit<{
59
+ type: z.ZodLiteral<"Path">;
60
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
61
+ id: z.ZodOptional<z.ZodString>;
62
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
+ color: z.ZodOptional<z.ZodString>;
64
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
65
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
66
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
67
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
68
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
+ strokeOpacity: z.ZodOptional<z.ZodNumber>;
70
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
71
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
72
+ distanceMarker: z.ZodOptional<z.ZodBoolean>;
73
+ endCaps: z.ZodOptional<z.ZodBoolean>;
74
+ routingMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>>;
75
+ }, "id">, "strip", z.ZodTypeAny, {
76
+ type: "Path";
77
+ coordinates: [number, number][][];
78
+ groupId?: string | null | undefined;
79
+ color?: string | undefined;
80
+ name?: string | null | undefined;
81
+ description?: string | null | undefined;
82
+ attributes?: Record<string, unknown> | undefined;
83
+ interaction?: "default" | "locked" | undefined;
84
+ imageUrl?: string | null | undefined;
85
+ strokeOpacity?: number | undefined;
86
+ strokeWidth?: number | undefined;
87
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
88
+ distanceMarker?: boolean | undefined;
89
+ endCaps?: boolean | undefined;
90
+ routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
91
+ }, {
92
+ type: "Path";
93
+ coordinates: [number, number][][];
94
+ groupId?: string | null | undefined;
95
+ color?: string | undefined;
96
+ name?: string | null | undefined;
97
+ description?: string | null | undefined;
98
+ attributes?: Record<string, unknown> | undefined;
99
+ interaction?: "default" | "locked" | undefined;
100
+ imageUrl?: string | null | undefined;
101
+ strokeOpacity?: number | undefined;
102
+ strokeWidth?: number | undefined;
103
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
104
+ distanceMarker?: boolean | undefined;
105
+ endCaps?: boolean | undefined;
106
+ routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
107
+ }>;
108
+ declare const PolygonCreateSchema: z.ZodObject<Omit<{
109
+ type: z.ZodLiteral<"Polygon">;
110
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
111
+ id: z.ZodOptional<z.ZodString>;
112
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
113
+ color: z.ZodOptional<z.ZodString>;
114
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
115
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
116
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
117
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
118
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
119
+ strokeOpacity: z.ZodOptional<z.ZodNumber>;
120
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
121
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
122
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
123
+ areaMarker: z.ZodOptional<z.ZodBoolean>;
124
+ }, "id">, "strip", z.ZodTypeAny, {
125
+ type: "Polygon";
126
+ coordinates: [number, number][][];
127
+ groupId?: string | null | undefined;
128
+ color?: string | undefined;
129
+ name?: string | null | undefined;
130
+ description?: string | null | undefined;
131
+ attributes?: Record<string, unknown> | undefined;
132
+ interaction?: "default" | "locked" | undefined;
133
+ imageUrl?: string | null | undefined;
134
+ strokeOpacity?: number | undefined;
135
+ strokeWidth?: number | undefined;
136
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
137
+ fillOpacity?: number | undefined;
138
+ areaMarker?: boolean | undefined;
139
+ }, {
140
+ type: "Polygon";
141
+ coordinates: [number, number][][];
142
+ groupId?: string | null | undefined;
143
+ color?: string | undefined;
144
+ name?: string | null | undefined;
145
+ description?: string | null | undefined;
146
+ attributes?: Record<string, unknown> | undefined;
147
+ interaction?: "default" | "locked" | undefined;
148
+ imageUrl?: string | null | undefined;
149
+ strokeOpacity?: number | undefined;
150
+ strokeWidth?: number | undefined;
151
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
152
+ fillOpacity?: number | undefined;
153
+ areaMarker?: boolean | undefined;
154
+ }>;
155
+ declare const CircleCreateSchema: z.ZodObject<Omit<{
156
+ type: z.ZodLiteral<"Circle">;
157
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
158
+ id: z.ZodOptional<z.ZodString>;
159
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
160
+ color: z.ZodOptional<z.ZodString>;
161
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
162
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
163
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
164
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
165
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
166
+ strokeOpacity: z.ZodOptional<z.ZodNumber>;
167
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
168
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
169
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
170
+ radius: z.ZodNumber;
171
+ radiusDisplayAngle: z.ZodOptional<z.ZodNumber>;
172
+ radiusDisplayUnit: z.ZodOptional<z.ZodNullable<z.ZodEnum<["meter", "kilometer", "foot", "mile"]>>>;
173
+ radiusMarker: z.ZodOptional<z.ZodBoolean>;
174
+ }, "id">, "strip", z.ZodTypeAny, {
175
+ type: "Circle";
176
+ coordinates: [number, number];
177
+ radius: number;
178
+ groupId?: string | null | undefined;
179
+ color?: string | undefined;
180
+ name?: string | null | undefined;
181
+ description?: string | null | undefined;
182
+ attributes?: Record<string, unknown> | undefined;
183
+ interaction?: "default" | "locked" | undefined;
184
+ imageUrl?: string | null | undefined;
185
+ strokeOpacity?: number | undefined;
186
+ strokeWidth?: number | undefined;
187
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
188
+ fillOpacity?: number | undefined;
189
+ radiusDisplayAngle?: number | undefined;
190
+ radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
191
+ radiusMarker?: boolean | undefined;
192
+ }, {
193
+ type: "Circle";
194
+ coordinates: [number, number];
195
+ radius: number;
196
+ groupId?: string | null | undefined;
197
+ color?: string | undefined;
198
+ name?: string | null | undefined;
199
+ description?: string | null | undefined;
200
+ attributes?: Record<string, unknown> | undefined;
201
+ interaction?: "default" | "locked" | undefined;
202
+ imageUrl?: string | null | undefined;
203
+ strokeOpacity?: number | undefined;
204
+ strokeWidth?: number | undefined;
205
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
206
+ fillOpacity?: number | undefined;
207
+ radiusDisplayAngle?: number | undefined;
208
+ radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
209
+ radiusMarker?: boolean | undefined;
210
+ }>;
211
+ declare const MarkerCreateSchema: z.ZodObject<Omit<{
212
+ type: z.ZodLiteral<"Marker">;
213
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
214
+ id: z.ZodOptional<z.ZodString>;
215
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
216
+ color: z.ZodOptional<z.ZodString>;
217
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
218
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
219
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
220
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
221
+ opacity: z.ZodOptional<z.ZodNumber>;
222
+ size: z.ZodOptional<z.ZodNumber>;
223
+ zoom: z.ZodOptional<z.ZodNumber>;
224
+ }, "id">, "strip", z.ZodTypeAny, {
225
+ type: "Marker";
226
+ coordinates: [number, number][][];
227
+ groupId?: string | null | undefined;
228
+ color?: string | undefined;
229
+ name?: string | null | undefined;
230
+ description?: string | null | undefined;
231
+ attributes?: Record<string, unknown> | undefined;
232
+ interaction?: "default" | "locked" | undefined;
233
+ opacity?: number | undefined;
234
+ size?: number | undefined;
235
+ zoom?: number | undefined;
236
+ }, {
237
+ type: "Marker";
238
+ coordinates: [number, number][][];
239
+ groupId?: string | null | undefined;
240
+ color?: string | undefined;
241
+ name?: string | null | undefined;
242
+ description?: string | null | undefined;
243
+ attributes?: Record<string, unknown> | undefined;
244
+ interaction?: "default" | "locked" | undefined;
245
+ opacity?: number | undefined;
246
+ size?: number | undefined;
247
+ zoom?: number | undefined;
248
+ }>;
249
+ declare const HighlighterCreateSchema: z.ZodObject<Omit<{
250
+ type: z.ZodLiteral<"Highlighter">;
251
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
252
+ id: z.ZodOptional<z.ZodString>;
253
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
254
+ color: z.ZodOptional<z.ZodString>;
255
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
256
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
257
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
258
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
259
+ opacity: z.ZodOptional<z.ZodNumber>;
260
+ }, "id">, "strip", z.ZodTypeAny, {
261
+ type: "Highlighter";
262
+ coordinates: [number, number][][];
263
+ groupId?: string | null | undefined;
264
+ color?: string | undefined;
265
+ name?: string | null | undefined;
266
+ description?: string | null | undefined;
267
+ attributes?: Record<string, unknown> | undefined;
268
+ interaction?: "default" | "locked" | undefined;
269
+ opacity?: number | undefined;
270
+ }, {
271
+ type: "Highlighter";
272
+ coordinates: [number, number][][];
273
+ groupId?: string | null | undefined;
274
+ color?: string | undefined;
275
+ name?: string | null | undefined;
276
+ description?: string | null | undefined;
277
+ attributes?: Record<string, unknown> | undefined;
278
+ interaction?: "default" | "locked" | undefined;
279
+ opacity?: number | undefined;
280
+ }>;
281
+ declare const TextCreateSchema: z.ZodObject<Omit<Omit<{
282
+ type: z.ZodLiteral<"Text">;
283
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
284
+ id: z.ZodOptional<z.ZodString>;
285
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
286
+ color: z.ZodOptional<z.ZodString>;
287
+ name: z.ZodOptional<z.ZodString>;
288
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
289
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
290
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
291
+ zoom: z.ZodOptional<z.ZodNumber>;
292
+ position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
293
+ rotation: z.ZodOptional<z.ZodNumber>;
294
+ scale: z.ZodOptional<z.ZodNumber>;
295
+ text: z.ZodString;
296
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
297
+ style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
298
+ }, "id">, "coordinates" | "name">, "strip", z.ZodTypeAny, {
299
+ type: "Text";
300
+ text: string;
301
+ groupId?: string | null | undefined;
302
+ color?: string | undefined;
303
+ description?: string | null | undefined;
304
+ attributes?: Record<string, unknown> | undefined;
305
+ interaction?: "default" | "locked" | undefined;
306
+ zoom?: number | undefined;
307
+ position?: [number, number] | undefined;
308
+ rotation?: number | undefined;
309
+ scale?: number | undefined;
310
+ align?: "left" | "center" | "right" | undefined;
311
+ style?: "italic" | "light" | "regular" | "caps" | undefined;
312
+ }, {
313
+ type: "Text";
314
+ text: string;
315
+ groupId?: string | null | undefined;
316
+ color?: string | undefined;
317
+ description?: string | null | undefined;
318
+ attributes?: Record<string, unknown> | undefined;
319
+ interaction?: "default" | "locked" | undefined;
320
+ zoom?: number | undefined;
321
+ position?: [number, number] | undefined;
322
+ rotation?: number | undefined;
323
+ scale?: number | undefined;
324
+ align?: "left" | "center" | "right" | undefined;
325
+ style?: "italic" | "light" | "regular" | "caps" | undefined;
326
+ }>;
327
+ declare const NoteCreateSchema: z.ZodObject<Omit<Omit<{
328
+ type: z.ZodLiteral<"Note">;
329
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
330
+ id: z.ZodOptional<z.ZodString>;
331
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
332
+ color: z.ZodOptional<z.ZodString>;
333
+ name: z.ZodOptional<z.ZodString>;
334
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
335
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
336
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
337
+ zoom: z.ZodOptional<z.ZodNumber>;
338
+ position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
339
+ rotation: z.ZodOptional<z.ZodNumber>;
340
+ scale: z.ZodOptional<z.ZodNumber>;
341
+ text: z.ZodString;
342
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
343
+ style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
344
+ widthScale: z.ZodOptional<z.ZodNumber>;
345
+ }, "id">, "coordinates" | "name">, "strip", z.ZodTypeAny, {
346
+ type: "Note";
347
+ text: string;
348
+ groupId?: string | null | undefined;
349
+ color?: string | undefined;
350
+ description?: string | null | undefined;
351
+ attributes?: Record<string, unknown> | undefined;
352
+ interaction?: "default" | "locked" | undefined;
353
+ zoom?: number | undefined;
354
+ position?: [number, number] | undefined;
355
+ rotation?: number | undefined;
356
+ scale?: number | undefined;
357
+ align?: "left" | "center" | "right" | undefined;
358
+ style?: "italic" | "light" | "regular" | "caps" | undefined;
359
+ widthScale?: number | undefined;
360
+ }, {
361
+ type: "Note";
362
+ text: string;
363
+ groupId?: string | null | undefined;
364
+ color?: string | undefined;
365
+ description?: string | null | undefined;
366
+ attributes?: Record<string, unknown> | undefined;
367
+ interaction?: "default" | "locked" | undefined;
368
+ zoom?: number | undefined;
369
+ position?: [number, number] | undefined;
370
+ rotation?: number | undefined;
371
+ scale?: number | undefined;
372
+ align?: "left" | "center" | "right" | undefined;
373
+ style?: "italic" | "light" | "regular" | "caps" | undefined;
374
+ widthScale?: number | undefined;
375
+ }>;
376
+ declare const ImageCreateSchema: z.ZodObject<Omit<{
377
+ type: z.ZodLiteral<"Image">;
378
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
379
+ id: z.ZodOptional<z.ZodString>;
380
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
381
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
382
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
383
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
384
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
385
+ imageUrl: z.ZodString;
386
+ opacity: z.ZodOptional<z.ZodNumber>;
387
+ }, "id">, "strip", z.ZodTypeAny, {
388
+ type: "Image";
389
+ coordinates: [number, number][][];
390
+ imageUrl: string;
391
+ groupId?: string | null | undefined;
392
+ name?: string | null | undefined;
393
+ description?: string | null | undefined;
394
+ attributes?: Record<string, unknown> | undefined;
395
+ interaction?: "default" | "locked" | undefined;
396
+ opacity?: number | undefined;
397
+ }, {
398
+ type: "Image";
399
+ coordinates: [number, number][][];
400
+ imageUrl: string;
401
+ groupId?: string | null | undefined;
402
+ name?: string | null | undefined;
403
+ description?: string | null | undefined;
404
+ attributes?: Record<string, unknown> | undefined;
405
+ interaction?: "default" | "locked" | undefined;
406
+ opacity?: number | undefined;
407
+ }>;
408
+ declare const PlaceReadSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
409
+ id: z.ZodString;
410
+ groupId: z.ZodNullable<z.ZodString>;
411
+ color: z.ZodString;
412
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
413
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
414
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
415
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
416
+ }, {
417
+ imageUrl: z.ZodNullable<z.ZodString>;
418
+ }>, {
419
+ type: z.ZodLiteral<"Place">;
420
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
421
+ symbol: z.ZodString;
422
+ frame: z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>;
423
+ hideLabel: z.ZodBoolean;
424
+ }>, "strip", z.ZodTypeAny, {
425
+ symbol: string;
426
+ type: "Place";
427
+ coordinates: [number, number];
428
+ id: string;
429
+ groupId: string | null;
430
+ color: string;
431
+ name: string | null;
432
+ description: string | null;
433
+ attributes: Record<string, unknown>;
434
+ imageUrl: string | null;
435
+ frame: "frame-circle" | "frame-square" | null;
436
+ hideLabel: boolean;
437
+ interaction?: "default" | "locked" | undefined;
438
+ }, {
439
+ symbol: string;
440
+ type: "Place";
441
+ coordinates: [number, number];
442
+ id: string;
443
+ groupId: string | null;
444
+ color: string;
445
+ name: string | null;
446
+ description: string | null;
447
+ attributes: Record<string, unknown>;
448
+ imageUrl: string | null;
449
+ frame: "frame-circle" | "frame-square" | null;
450
+ hideLabel: boolean;
451
+ interaction?: "default" | "locked" | undefined;
452
+ }>;
453
+ declare const PathReadSchema: z.ZodObject<Omit<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
454
+ id: z.ZodString;
455
+ groupId: z.ZodNullable<z.ZodString>;
456
+ color: z.ZodString;
457
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
458
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
459
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
460
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
461
+ }, {
462
+ imageUrl: z.ZodNullable<z.ZodString>;
463
+ }>, {
464
+ strokeOpacity: z.ZodNumber;
465
+ strokeWidth: z.ZodNumber;
466
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
467
+ }>, {
468
+ type: z.ZodLiteral<"Path">;
469
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
470
+ distanceMarker: z.ZodBoolean;
471
+ endCaps: z.ZodBoolean;
472
+ routingMode: z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>;
473
+ }>, "coordinates">, "strip", z.ZodTypeAny, {
474
+ type: "Path";
475
+ id: string;
476
+ groupId: string | null;
477
+ color: string;
478
+ name: string | null;
479
+ description: string | null;
480
+ attributes: Record<string, unknown>;
481
+ imageUrl: string | null;
482
+ strokeOpacity: number;
483
+ strokeWidth: number;
484
+ strokeStyle: "solid" | "dashed" | "dotted";
485
+ distanceMarker: boolean;
486
+ endCaps: boolean;
487
+ routingMode: "driving" | "cycling" | "walking" | "flying" | null;
488
+ interaction?: "default" | "locked" | undefined;
489
+ }, {
490
+ type: "Path";
491
+ id: string;
492
+ groupId: string | null;
493
+ color: string;
494
+ name: string | null;
495
+ description: string | null;
496
+ attributes: Record<string, unknown>;
497
+ imageUrl: string | null;
498
+ strokeOpacity: number;
499
+ strokeWidth: number;
500
+ strokeStyle: "solid" | "dashed" | "dotted";
501
+ distanceMarker: boolean;
502
+ endCaps: boolean;
503
+ routingMode: "driving" | "cycling" | "walking" | "flying" | null;
504
+ interaction?: "default" | "locked" | undefined;
505
+ }>;
506
+ declare const PolygonReadSchema: z.ZodObject<Omit<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
507
+ id: z.ZodString;
508
+ groupId: z.ZodNullable<z.ZodString>;
509
+ color: z.ZodString;
510
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
511
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
512
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
513
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
514
+ }, {
515
+ imageUrl: z.ZodNullable<z.ZodString>;
516
+ }>, {
517
+ strokeOpacity: z.ZodNumber;
518
+ strokeWidth: z.ZodNumber;
519
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
520
+ }>, {
521
+ type: z.ZodLiteral<"Polygon">;
522
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
523
+ fillOpacity: z.ZodNumber;
524
+ areaMarker: z.ZodBoolean;
525
+ }>, "coordinates">, "strip", z.ZodTypeAny, {
526
+ type: "Polygon";
527
+ id: string;
528
+ groupId: string | null;
529
+ color: string;
530
+ name: string | null;
531
+ description: string | null;
532
+ attributes: Record<string, unknown>;
533
+ imageUrl: string | null;
534
+ strokeOpacity: number;
535
+ strokeWidth: number;
536
+ strokeStyle: "solid" | "dashed" | "dotted";
537
+ fillOpacity: number;
538
+ areaMarker: boolean;
539
+ interaction?: "default" | "locked" | undefined;
540
+ }, {
541
+ type: "Polygon";
542
+ id: string;
543
+ groupId: string | null;
544
+ color: string;
545
+ name: string | null;
546
+ description: string | null;
547
+ attributes: Record<string, unknown>;
548
+ imageUrl: string | null;
549
+ strokeOpacity: number;
550
+ strokeWidth: number;
551
+ strokeStyle: "solid" | "dashed" | "dotted";
552
+ fillOpacity: number;
553
+ areaMarker: boolean;
554
+ interaction?: "default" | "locked" | undefined;
555
+ }>;
556
+ declare const CircleReadSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
557
+ id: z.ZodString;
558
+ groupId: z.ZodNullable<z.ZodString>;
559
+ color: z.ZodString;
560
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
561
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
562
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
563
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
564
+ }, {
565
+ imageUrl: z.ZodNullable<z.ZodString>;
566
+ }>, {
567
+ strokeOpacity: z.ZodNumber;
568
+ strokeWidth: z.ZodNumber;
569
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
570
+ }>, {
571
+ type: z.ZodLiteral<"Circle">;
572
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
573
+ radius: z.ZodNumber;
574
+ radiusDisplayAngle: z.ZodNumber;
575
+ radiusDisplayUnit: z.ZodNullable<z.ZodEnum<["meter", "kilometer", "foot", "mile"]>>;
576
+ fillOpacity: z.ZodNumber;
577
+ radiusMarker: z.ZodBoolean;
578
+ }>, "strip", z.ZodTypeAny, {
579
+ type: "Circle";
580
+ coordinates: [number, number];
581
+ id: string;
582
+ groupId: string | null;
583
+ color: string;
584
+ name: string | null;
585
+ description: string | null;
586
+ attributes: Record<string, unknown>;
587
+ imageUrl: string | null;
588
+ strokeOpacity: number;
589
+ strokeWidth: number;
590
+ strokeStyle: "solid" | "dashed" | "dotted";
591
+ fillOpacity: number;
592
+ radius: number;
593
+ radiusDisplayAngle: number;
594
+ radiusDisplayUnit: "meter" | "kilometer" | "foot" | "mile" | null;
595
+ radiusMarker: boolean;
596
+ interaction?: "default" | "locked" | undefined;
597
+ }, {
598
+ type: "Circle";
599
+ coordinates: [number, number];
600
+ id: string;
601
+ groupId: string | null;
602
+ color: string;
603
+ name: string | null;
604
+ description: string | null;
605
+ attributes: Record<string, unknown>;
606
+ imageUrl: string | null;
607
+ strokeOpacity: number;
608
+ strokeWidth: number;
609
+ strokeStyle: "solid" | "dashed" | "dotted";
610
+ fillOpacity: number;
611
+ radius: number;
612
+ radiusDisplayAngle: number;
613
+ radiusDisplayUnit: "meter" | "kilometer" | "foot" | "mile" | null;
614
+ radiusMarker: boolean;
615
+ interaction?: "default" | "locked" | undefined;
616
+ }>;
617
+ declare const MarkerReadSchema: z.ZodObject<Omit<z.objectUtil.extendShape<{
618
+ id: z.ZodString;
619
+ groupId: z.ZodNullable<z.ZodString>;
620
+ color: z.ZodString;
621
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
622
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
623
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
624
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
625
+ }, {
626
+ type: z.ZodLiteral<"Marker">;
627
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
628
+ opacity: z.ZodNumber;
629
+ size: z.ZodNumber;
630
+ zoom: z.ZodNumber;
631
+ }>, "coordinates">, "strip", z.ZodTypeAny, {
632
+ type: "Marker";
633
+ id: string;
634
+ groupId: string | null;
635
+ color: string;
636
+ name: string | null;
637
+ description: string | null;
638
+ attributes: Record<string, unknown>;
639
+ opacity: number;
640
+ size: number;
641
+ zoom: number;
642
+ interaction?: "default" | "locked" | undefined;
643
+ }, {
644
+ type: "Marker";
645
+ id: string;
646
+ groupId: string | null;
647
+ color: string;
648
+ name: string | null;
649
+ description: string | null;
650
+ attributes: Record<string, unknown>;
651
+ opacity: number;
652
+ size: number;
653
+ zoom: number;
654
+ interaction?: "default" | "locked" | undefined;
655
+ }>;
656
+ declare const HighlighterReadSchema: z.ZodObject<Omit<z.objectUtil.extendShape<{
657
+ id: z.ZodString;
658
+ groupId: z.ZodNullable<z.ZodString>;
659
+ color: z.ZodString;
660
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
661
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
662
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
663
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
664
+ }, {
665
+ type: z.ZodLiteral<"Highlighter">;
666
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
667
+ opacity: z.ZodNumber;
668
+ }>, "coordinates">, "strip", z.ZodTypeAny, {
669
+ type: "Highlighter";
670
+ id: string;
671
+ groupId: string | null;
672
+ color: string;
673
+ name: string | null;
674
+ description: string | null;
675
+ attributes: Record<string, unknown>;
676
+ opacity: number;
677
+ interaction?: "default" | "locked" | undefined;
678
+ }, {
679
+ type: "Highlighter";
680
+ id: string;
681
+ groupId: string | null;
682
+ color: string;
683
+ name: string | null;
684
+ description: string | null;
685
+ attributes: Record<string, unknown>;
686
+ opacity: number;
687
+ interaction?: "default" | "locked" | undefined;
688
+ }>;
689
+ declare const TextReadSchema: z.ZodObject<Omit<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
690
+ id: z.ZodString;
691
+ groupId: z.ZodNullable<z.ZodString>;
692
+ color: z.ZodString;
693
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
694
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
695
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
696
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
697
+ }, {
698
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
699
+ rotation: z.ZodNumber;
700
+ scale: z.ZodNumber;
701
+ zoom: z.ZodNumber;
702
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
703
+ }>, {
704
+ text: z.ZodString;
705
+ align: z.ZodEnum<["left", "center", "right"]>;
706
+ style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
707
+ name: z.ZodString;
708
+ }>, {
709
+ type: z.ZodLiteral<"Text">;
710
+ }>, "coordinates">, "strip", z.ZodTypeAny, {
711
+ type: "Text";
712
+ id: string;
713
+ groupId: string | null;
714
+ color: string;
715
+ name: string;
716
+ description: string | null;
717
+ attributes: Record<string, unknown>;
718
+ zoom: number;
719
+ position: [number, number];
720
+ rotation: number;
721
+ scale: number;
722
+ text: string;
723
+ align: "left" | "center" | "right";
724
+ style: "italic" | "light" | "regular" | "caps";
725
+ interaction?: "default" | "locked" | undefined;
726
+ }, {
727
+ type: "Text";
728
+ id: string;
729
+ groupId: string | null;
730
+ color: string;
731
+ name: string;
732
+ description: string | null;
733
+ attributes: Record<string, unknown>;
734
+ zoom: number;
735
+ position: [number, number];
736
+ rotation: number;
737
+ scale: number;
738
+ text: string;
739
+ align: "left" | "center" | "right";
740
+ style: "italic" | "light" | "regular" | "caps";
741
+ interaction?: "default" | "locked" | undefined;
742
+ }>;
743
+ declare const NoteReadSchema: z.ZodObject<Omit<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
744
+ id: z.ZodString;
745
+ groupId: z.ZodNullable<z.ZodString>;
746
+ color: z.ZodString;
747
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
748
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
749
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
750
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
751
+ }, {
752
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
753
+ rotation: z.ZodNumber;
754
+ scale: z.ZodNumber;
755
+ zoom: z.ZodNumber;
756
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
757
+ }>, {
758
+ text: z.ZodString;
759
+ align: z.ZodEnum<["left", "center", "right"]>;
760
+ style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
761
+ name: z.ZodString;
762
+ }>, {
763
+ type: z.ZodLiteral<"Note">;
764
+ widthScale: z.ZodNumber;
765
+ }>, "coordinates">, "strip", z.ZodTypeAny, {
766
+ type: "Note";
767
+ id: string;
768
+ groupId: string | null;
769
+ color: string;
770
+ name: string;
771
+ description: string | null;
772
+ attributes: Record<string, unknown>;
773
+ zoom: number;
774
+ position: [number, number];
775
+ rotation: number;
776
+ scale: number;
777
+ text: string;
778
+ align: "left" | "center" | "right";
779
+ style: "italic" | "light" | "regular" | "caps";
780
+ widthScale: number;
781
+ interaction?: "default" | "locked" | undefined;
782
+ }, {
783
+ type: "Note";
784
+ id: string;
785
+ groupId: string | null;
786
+ color: string;
787
+ name: string;
788
+ description: string | null;
789
+ attributes: Record<string, unknown>;
790
+ zoom: number;
791
+ position: [number, number];
792
+ rotation: number;
793
+ scale: number;
794
+ text: string;
795
+ align: "left" | "center" | "right";
796
+ style: "italic" | "light" | "regular" | "caps";
797
+ widthScale: number;
798
+ interaction?: "default" | "locked" | undefined;
799
+ }>;
800
+ declare const ImageReadSchema: z.ZodObject<Omit<Omit<z.objectUtil.extendShape<{
801
+ id: z.ZodString;
802
+ groupId: z.ZodNullable<z.ZodString>;
803
+ color: z.ZodString;
804
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
805
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
806
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
807
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
808
+ }, {
809
+ type: z.ZodLiteral<"Image">;
810
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
811
+ imageUrl: z.ZodString;
812
+ opacity: z.ZodNumber;
813
+ }>, "color">, "coordinates">, "strip", z.ZodTypeAny, {
814
+ type: "Image";
815
+ id: string;
816
+ groupId: string | null;
817
+ name: string | null;
818
+ description: string | null;
819
+ attributes: Record<string, unknown>;
820
+ imageUrl: string;
821
+ opacity: number;
822
+ interaction?: "default" | "locked" | undefined;
823
+ }, {
824
+ type: "Image";
825
+ id: string;
826
+ groupId: string | null;
827
+ name: string | null;
828
+ description: string | null;
829
+ attributes: Record<string, unknown>;
830
+ imageUrl: string;
831
+ opacity: number;
832
+ interaction?: "default" | "locked" | undefined;
833
+ }>;
834
+ declare const LinkReadSchema: z.ZodObject<Omit<z.objectUtil.extendShape<{
835
+ id: z.ZodString;
836
+ groupId: z.ZodNullable<z.ZodString>;
837
+ color: z.ZodString;
838
+ name: z.ZodUnion<[z.ZodString, z.ZodNull]>;
839
+ description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
840
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
841
+ interaction: z.ZodOptional<z.ZodEnum<["default", "locked"]>>;
842
+ }, {
843
+ type: z.ZodLiteral<"Link">;
844
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
845
+ url: z.ZodString;
846
+ }>, "coordinates">, "strip", z.ZodTypeAny, {
847
+ type: "Link";
848
+ id: string;
849
+ groupId: string | null;
850
+ color: string;
851
+ name: string | null;
852
+ description: string | null;
853
+ attributes: Record<string, unknown>;
854
+ url: string;
855
+ interaction?: "default" | "locked" | undefined;
856
+ }, {
857
+ type: "Link";
858
+ id: string;
859
+ groupId: string | null;
860
+ color: string;
861
+ name: string | null;
862
+ description: string | null;
863
+ attributes: Record<string, unknown>;
864
+ url: string;
865
+ interaction?: "default" | "locked" | undefined;
866
+ }>;
867
+ declare const PlaceUpdateSchema: z.ZodObject<{
868
+ symbol: z.ZodOptional<z.ZodString>;
869
+ type: z.ZodLiteral<"Place">;
870
+ coordinates: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
871
+ id: z.ZodString;
872
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
873
+ color: z.ZodOptional<z.ZodString>;
874
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
875
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
876
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
877
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
878
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
879
+ frame: z.ZodOptional<z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>>;
880
+ hideLabel: z.ZodOptional<z.ZodBoolean>;
881
+ }, "strip", z.ZodTypeAny, {
882
+ type: "Place";
883
+ id: string;
884
+ symbol?: string | undefined;
885
+ coordinates?: [number, number] | undefined;
886
+ groupId?: string | null | undefined;
887
+ color?: string | undefined;
888
+ name?: string | null | undefined;
889
+ description?: string | null | undefined;
890
+ attributes?: Record<string, unknown> | undefined;
891
+ interaction?: "default" | "locked" | undefined;
892
+ imageUrl?: string | null | undefined;
893
+ frame?: "frame-circle" | "frame-square" | null | undefined;
894
+ hideLabel?: boolean | undefined;
895
+ }, {
896
+ type: "Place";
897
+ id: string;
898
+ symbol?: string | undefined;
899
+ coordinates?: [number, number] | undefined;
900
+ groupId?: string | null | undefined;
901
+ color?: string | undefined;
902
+ name?: string | null | undefined;
903
+ description?: string | null | undefined;
904
+ attributes?: Record<string, unknown> | undefined;
905
+ interaction?: "default" | "locked" | undefined;
906
+ imageUrl?: string | null | undefined;
907
+ frame?: "frame-circle" | "frame-square" | null | undefined;
908
+ hideLabel?: boolean | undefined;
909
+ }>;
910
+ declare const PathUpdateSchema: z.ZodObject<{
911
+ type: z.ZodLiteral<"Path">;
912
+ coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
913
+ id: z.ZodString;
914
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
915
+ color: z.ZodOptional<z.ZodString>;
916
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
917
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
918
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
919
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
920
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
921
+ strokeOpacity: z.ZodOptional<z.ZodNumber>;
922
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
923
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
924
+ distanceMarker: z.ZodOptional<z.ZodBoolean>;
925
+ endCaps: z.ZodOptional<z.ZodBoolean>;
926
+ routingMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>>;
927
+ }, "strip", z.ZodTypeAny, {
928
+ type: "Path";
929
+ id: string;
930
+ coordinates?: [number, number][][] | undefined;
931
+ groupId?: string | null | undefined;
932
+ color?: string | undefined;
933
+ name?: string | null | undefined;
934
+ description?: string | null | undefined;
935
+ attributes?: Record<string, unknown> | undefined;
936
+ interaction?: "default" | "locked" | undefined;
937
+ imageUrl?: string | null | undefined;
938
+ strokeOpacity?: number | undefined;
939
+ strokeWidth?: number | undefined;
940
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
941
+ distanceMarker?: boolean | undefined;
942
+ endCaps?: boolean | undefined;
943
+ routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
944
+ }, {
945
+ type: "Path";
946
+ id: string;
947
+ coordinates?: [number, number][][] | undefined;
948
+ groupId?: string | null | undefined;
949
+ color?: string | undefined;
950
+ name?: string | null | undefined;
951
+ description?: string | null | undefined;
952
+ attributes?: Record<string, unknown> | undefined;
953
+ interaction?: "default" | "locked" | undefined;
954
+ imageUrl?: string | null | undefined;
955
+ strokeOpacity?: number | undefined;
956
+ strokeWidth?: number | undefined;
957
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
958
+ distanceMarker?: boolean | undefined;
959
+ endCaps?: boolean | undefined;
960
+ routingMode?: "driving" | "cycling" | "walking" | "flying" | null | undefined;
961
+ }>;
962
+ declare const PolygonUpdateSchema: z.ZodObject<{
963
+ type: z.ZodLiteral<"Polygon">;
964
+ coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
965
+ id: z.ZodString;
966
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
967
+ color: z.ZodOptional<z.ZodString>;
968
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
969
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
970
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
971
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
972
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
973
+ strokeOpacity: z.ZodOptional<z.ZodNumber>;
974
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
975
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
976
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
977
+ areaMarker: z.ZodOptional<z.ZodBoolean>;
978
+ }, "strip", z.ZodTypeAny, {
979
+ type: "Polygon";
980
+ id: string;
981
+ coordinates?: [number, number][][] | undefined;
982
+ groupId?: string | null | undefined;
983
+ color?: string | undefined;
984
+ name?: string | null | undefined;
985
+ description?: string | null | undefined;
986
+ attributes?: Record<string, unknown> | undefined;
987
+ interaction?: "default" | "locked" | undefined;
988
+ imageUrl?: string | null | undefined;
989
+ strokeOpacity?: number | undefined;
990
+ strokeWidth?: number | undefined;
991
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
992
+ fillOpacity?: number | undefined;
993
+ areaMarker?: boolean | undefined;
994
+ }, {
995
+ type: "Polygon";
996
+ id: string;
997
+ coordinates?: [number, number][][] | undefined;
998
+ groupId?: string | null | undefined;
999
+ color?: string | undefined;
1000
+ name?: string | null | undefined;
1001
+ description?: string | null | undefined;
1002
+ attributes?: Record<string, unknown> | undefined;
1003
+ interaction?: "default" | "locked" | undefined;
1004
+ imageUrl?: string | null | undefined;
1005
+ strokeOpacity?: number | undefined;
1006
+ strokeWidth?: number | undefined;
1007
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
1008
+ fillOpacity?: number | undefined;
1009
+ areaMarker?: boolean | undefined;
1010
+ }>;
1011
+ declare const CircleUpdateSchema: z.ZodObject<{
1012
+ type: z.ZodLiteral<"Circle">;
1013
+ coordinates: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1014
+ id: z.ZodString;
1015
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1016
+ color: z.ZodOptional<z.ZodString>;
1017
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1018
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1019
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1020
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
1021
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1022
+ strokeOpacity: z.ZodOptional<z.ZodNumber>;
1023
+ strokeWidth: z.ZodOptional<z.ZodNumber>;
1024
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1025
+ fillOpacity: z.ZodOptional<z.ZodNumber>;
1026
+ radius: z.ZodOptional<z.ZodNumber>;
1027
+ radiusDisplayAngle: z.ZodOptional<z.ZodNumber>;
1028
+ radiusDisplayUnit: z.ZodOptional<z.ZodNullable<z.ZodEnum<["meter", "kilometer", "foot", "mile"]>>>;
1029
+ radiusMarker: z.ZodOptional<z.ZodBoolean>;
1030
+ }, "strip", z.ZodTypeAny, {
1031
+ type: "Circle";
1032
+ id: string;
1033
+ coordinates?: [number, number] | undefined;
1034
+ groupId?: string | null | undefined;
1035
+ color?: string | undefined;
1036
+ name?: string | null | undefined;
1037
+ description?: string | null | undefined;
1038
+ attributes?: Record<string, unknown> | undefined;
1039
+ interaction?: "default" | "locked" | undefined;
1040
+ imageUrl?: string | null | undefined;
1041
+ strokeOpacity?: number | undefined;
1042
+ strokeWidth?: number | undefined;
1043
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
1044
+ fillOpacity?: number | undefined;
1045
+ radius?: number | undefined;
1046
+ radiusDisplayAngle?: number | undefined;
1047
+ radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
1048
+ radiusMarker?: boolean | undefined;
1049
+ }, {
1050
+ type: "Circle";
1051
+ id: string;
1052
+ coordinates?: [number, number] | undefined;
1053
+ groupId?: string | null | undefined;
1054
+ color?: string | undefined;
1055
+ name?: string | null | undefined;
1056
+ description?: string | null | undefined;
1057
+ attributes?: Record<string, unknown> | undefined;
1058
+ interaction?: "default" | "locked" | undefined;
1059
+ imageUrl?: string | null | undefined;
1060
+ strokeOpacity?: number | undefined;
1061
+ strokeWidth?: number | undefined;
1062
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
1063
+ fillOpacity?: number | undefined;
1064
+ radius?: number | undefined;
1065
+ radiusDisplayAngle?: number | undefined;
1066
+ radiusDisplayUnit?: "meter" | "kilometer" | "foot" | "mile" | null | undefined;
1067
+ radiusMarker?: boolean | undefined;
1068
+ }>;
1069
+ declare const MarkerUpdateSchema: z.ZodObject<{
1070
+ type: z.ZodLiteral<"Marker">;
1071
+ coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
1072
+ id: z.ZodString;
1073
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1074
+ color: z.ZodOptional<z.ZodString>;
1075
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1076
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1077
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1078
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
1079
+ opacity: z.ZodOptional<z.ZodNumber>;
1080
+ size: z.ZodOptional<z.ZodNumber>;
1081
+ zoom: z.ZodOptional<z.ZodNumber>;
1082
+ }, "strip", z.ZodTypeAny, {
1083
+ type: "Marker";
1084
+ id: string;
1085
+ coordinates?: [number, number][][] | undefined;
1086
+ groupId?: string | null | undefined;
1087
+ color?: string | undefined;
1088
+ name?: string | null | undefined;
1089
+ description?: string | null | undefined;
1090
+ attributes?: Record<string, unknown> | undefined;
1091
+ interaction?: "default" | "locked" | undefined;
1092
+ opacity?: number | undefined;
1093
+ size?: number | undefined;
1094
+ zoom?: number | undefined;
1095
+ }, {
1096
+ type: "Marker";
1097
+ id: string;
1098
+ coordinates?: [number, number][][] | undefined;
1099
+ groupId?: string | null | undefined;
1100
+ color?: string | undefined;
1101
+ name?: string | null | undefined;
1102
+ description?: string | null | undefined;
1103
+ attributes?: Record<string, unknown> | undefined;
1104
+ interaction?: "default" | "locked" | undefined;
1105
+ opacity?: number | undefined;
1106
+ size?: number | undefined;
1107
+ zoom?: number | undefined;
1108
+ }>;
1109
+ declare const HighlighterUpdateSchema: z.ZodObject<{
1110
+ type: z.ZodLiteral<"Highlighter">;
1111
+ coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
1112
+ id: z.ZodString;
1113
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1114
+ color: z.ZodOptional<z.ZodString>;
1115
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1116
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1117
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1118
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
1119
+ opacity: z.ZodOptional<z.ZodNumber>;
1120
+ }, "strip", z.ZodTypeAny, {
1121
+ type: "Highlighter";
1122
+ id: string;
1123
+ coordinates?: [number, number][][] | undefined;
1124
+ groupId?: string | null | undefined;
1125
+ color?: string | undefined;
1126
+ name?: string | null | undefined;
1127
+ description?: string | null | undefined;
1128
+ attributes?: Record<string, unknown> | undefined;
1129
+ interaction?: "default" | "locked" | undefined;
1130
+ opacity?: number | undefined;
1131
+ }, {
1132
+ type: "Highlighter";
1133
+ id: string;
1134
+ coordinates?: [number, number][][] | undefined;
1135
+ groupId?: string | null | undefined;
1136
+ color?: string | undefined;
1137
+ name?: string | null | undefined;
1138
+ description?: string | null | undefined;
1139
+ attributes?: Record<string, unknown> | undefined;
1140
+ interaction?: "default" | "locked" | undefined;
1141
+ opacity?: number | undefined;
1142
+ }>;
1143
+ declare const TextUpdateSchema: z.ZodObject<Omit<{
1144
+ type: z.ZodLiteral<"Text">;
1145
+ coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
1146
+ id: z.ZodString;
1147
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1148
+ color: z.ZodOptional<z.ZodString>;
1149
+ name: z.ZodOptional<z.ZodString>;
1150
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1151
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1152
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
1153
+ zoom: z.ZodOptional<z.ZodNumber>;
1154
+ position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1155
+ rotation: z.ZodOptional<z.ZodNumber>;
1156
+ scale: z.ZodOptional<z.ZodNumber>;
1157
+ text: z.ZodOptional<z.ZodString>;
1158
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1159
+ style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
1160
+ }, "coordinates" | "name">, "strip", z.ZodTypeAny, {
1161
+ type: "Text";
1162
+ id: string;
1163
+ groupId?: string | null | undefined;
1164
+ color?: string | undefined;
1165
+ description?: string | null | undefined;
1166
+ attributes?: Record<string, unknown> | undefined;
1167
+ interaction?: "default" | "locked" | undefined;
1168
+ zoom?: number | undefined;
1169
+ position?: [number, number] | undefined;
1170
+ rotation?: number | undefined;
1171
+ scale?: number | undefined;
1172
+ text?: string | undefined;
1173
+ align?: "left" | "center" | "right" | undefined;
1174
+ style?: "italic" | "light" | "regular" | "caps" | undefined;
1175
+ }, {
1176
+ type: "Text";
1177
+ id: string;
1178
+ groupId?: string | null | undefined;
1179
+ color?: string | undefined;
1180
+ description?: string | null | undefined;
1181
+ attributes?: Record<string, unknown> | undefined;
1182
+ interaction?: "default" | "locked" | undefined;
1183
+ zoom?: number | undefined;
1184
+ position?: [number, number] | undefined;
1185
+ rotation?: number | undefined;
1186
+ scale?: number | undefined;
1187
+ text?: string | undefined;
1188
+ align?: "left" | "center" | "right" | undefined;
1189
+ style?: "italic" | "light" | "regular" | "caps" | undefined;
1190
+ }>;
1191
+ declare const NoteUpdateSchema: z.ZodObject<Omit<{
1192
+ type: z.ZodLiteral<"Note">;
1193
+ coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
1194
+ id: z.ZodString;
1195
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1196
+ color: z.ZodOptional<z.ZodString>;
1197
+ name: z.ZodOptional<z.ZodString>;
1198
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1199
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1200
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
1201
+ zoom: z.ZodOptional<z.ZodNumber>;
1202
+ position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1203
+ rotation: z.ZodOptional<z.ZodNumber>;
1204
+ scale: z.ZodOptional<z.ZodNumber>;
1205
+ text: z.ZodOptional<z.ZodString>;
1206
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
1207
+ style: z.ZodOptional<z.ZodEnum<["italic", "light", "regular", "caps"]>>;
1208
+ widthScale: z.ZodOptional<z.ZodNumber>;
1209
+ }, "coordinates" | "name">, "strip", z.ZodTypeAny, {
1210
+ type: "Note";
1211
+ id: string;
1212
+ groupId?: string | null | undefined;
1213
+ color?: string | undefined;
1214
+ description?: string | null | undefined;
1215
+ attributes?: Record<string, unknown> | undefined;
1216
+ interaction?: "default" | "locked" | undefined;
1217
+ zoom?: number | undefined;
1218
+ position?: [number, number] | undefined;
1219
+ rotation?: number | undefined;
1220
+ scale?: number | undefined;
1221
+ text?: string | undefined;
1222
+ align?: "left" | "center" | "right" | undefined;
1223
+ style?: "italic" | "light" | "regular" | "caps" | undefined;
1224
+ widthScale?: number | undefined;
1225
+ }, {
1226
+ type: "Note";
1227
+ id: string;
1228
+ groupId?: string | null | undefined;
1229
+ color?: string | undefined;
1230
+ description?: string | null | undefined;
1231
+ attributes?: Record<string, unknown> | undefined;
1232
+ interaction?: "default" | "locked" | undefined;
1233
+ zoom?: number | undefined;
1234
+ position?: [number, number] | undefined;
1235
+ rotation?: number | undefined;
1236
+ scale?: number | undefined;
1237
+ text?: string | undefined;
1238
+ align?: "left" | "center" | "right" | undefined;
1239
+ style?: "italic" | "light" | "regular" | "caps" | undefined;
1240
+ widthScale?: number | undefined;
1241
+ }>;
1242
+ declare const ImageUpdateSchema: z.ZodObject<{
1243
+ type: z.ZodLiteral<"Image">;
1244
+ coordinates: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">>;
1245
+ id: z.ZodString;
1246
+ groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1247
+ name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1248
+ description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
1249
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1250
+ interaction: z.ZodOptional<z.ZodOptional<z.ZodEnum<["default", "locked"]>>>;
1251
+ imageUrl: z.ZodOptional<z.ZodString>;
1252
+ opacity: z.ZodOptional<z.ZodNumber>;
1253
+ }, "strip", z.ZodTypeAny, {
1254
+ type: "Image";
1255
+ id: string;
1256
+ coordinates?: [number, number][][] | undefined;
1257
+ groupId?: string | null | undefined;
1258
+ name?: string | null | undefined;
1259
+ description?: string | null | undefined;
1260
+ attributes?: Record<string, unknown> | undefined;
1261
+ interaction?: "default" | "locked" | undefined;
1262
+ imageUrl?: string | undefined;
1263
+ opacity?: number | undefined;
1264
+ }, {
1265
+ type: "Image";
1266
+ id: string;
1267
+ coordinates?: [number, number][][] | undefined;
1268
+ groupId?: string | null | undefined;
1269
+ name?: string | null | undefined;
1270
+ description?: string | null | undefined;
1271
+ attributes?: Record<string, unknown> | undefined;
1272
+ interaction?: "default" | "locked" | undefined;
1273
+ imageUrl?: string | undefined;
1274
+ opacity?: number | undefined;
1275
+ }>;
1276
+ interface PlaceElementCreate extends zInfer<typeof PlaceCreateSchema> {
1277
+ }
1278
+ interface PathElementCreate extends zInfer<typeof PathCreateSchema> {
1279
+ }
1280
+ interface PolygonElementCreate extends zInfer<typeof PolygonCreateSchema> {
1281
+ }
1282
+ interface CircleElementCreate extends zInfer<typeof CircleCreateSchema> {
1283
+ }
1284
+ interface MarkerElementCreate extends zInfer<typeof MarkerCreateSchema> {
1285
+ }
1286
+ interface HighlighterElementCreate extends zInfer<typeof HighlighterCreateSchema> {
1287
+ }
1288
+ interface TextElementCreate extends zInfer<typeof TextCreateSchema> {
1289
+ }
1290
+ interface NoteElementCreate extends zInfer<typeof NoteCreateSchema> {
1291
+ }
1292
+ interface ImageElementCreate extends zInfer<typeof ImageCreateSchema> {
1293
+ }
1294
+ interface PlaceElementRead extends zInfer<typeof PlaceReadSchema> {
1295
+ }
1296
+ interface PathElementRead extends zInfer<typeof PathReadSchema> {
1297
+ }
1298
+ interface PolygonElementRead extends zInfer<typeof PolygonReadSchema> {
1299
+ }
1300
+ interface CircleElementRead extends zInfer<typeof CircleReadSchema> {
1301
+ }
1302
+ interface MarkerElementRead extends zInfer<typeof MarkerReadSchema> {
1303
+ }
1304
+ interface HighlighterElementRead extends zInfer<typeof HighlighterReadSchema> {
1305
+ }
1306
+ interface TextElementRead extends zInfer<typeof TextReadSchema> {
1307
+ }
1308
+ interface NoteElementRead extends zInfer<typeof NoteReadSchema> {
1309
+ }
1310
+ interface ImageElementRead extends zInfer<typeof ImageReadSchema> {
1311
+ }
1312
+ interface LinkElementRead extends zInfer<typeof LinkReadSchema> {
1313
+ }
1314
+ interface PlaceElementUpdate extends zInfer<typeof PlaceUpdateSchema> {
1315
+ }
1316
+ interface PathElementUpdate extends zInfer<typeof PathUpdateSchema> {
1317
+ }
1318
+ interface PolygonElementUpdate extends zInfer<typeof PolygonUpdateSchema> {
1319
+ }
1320
+ interface CircleElementUpdate extends zInfer<typeof CircleUpdateSchema> {
1321
+ }
1322
+ interface MarkerElementUpdate extends zInfer<typeof MarkerUpdateSchema> {
1323
+ }
1324
+ interface HighlighterElementUpdate extends zInfer<typeof HighlighterUpdateSchema> {
1325
+ }
1326
+ interface TextElementUpdate extends zInfer<typeof TextUpdateSchema> {
1327
+ }
1328
+ interface NoteElementUpdate extends zInfer<typeof NoteUpdateSchema> {
1329
+ }
1330
+ interface ImageElementUpdate extends zInfer<typeof ImageUpdateSchema> {
1331
+ }
1332
+ type ElementCreate = PlaceElementCreate | PathElementCreate | PolygonElementCreate | CircleElementCreate | MarkerElementCreate | HighlighterElementCreate | ImageElementCreate | TextElementCreate | NoteElementCreate;
1333
+ type ElementUpdate = PlaceElementUpdate | PathElementUpdate | PolygonElementUpdate | CircleElementUpdate | MarkerElementUpdate | HighlighterElementUpdate | TextElementUpdate | NoteElementUpdate | ImageElementUpdate;
1334
+ /**
1335
+ * @group Elements
1336
+ */
1337
+ type Element = PlaceElementRead | PathElementRead | PolygonElementRead | CircleElementRead | MarkerElementRead | HighlighterElementRead | TextElementRead | NoteElementRead | ImageElementRead | LinkElementRead;
1338
+ /**
1339
+ * @group Element Groups
1340
+ */
1341
+ interface ElementGroup {
1342
+ /**
1343
+ * A string identifying the element group.
1344
+ */
1345
+ id: string;
1346
+ /**
1347
+ * The name of the element group. This is shown in the legend.
1348
+ */
1349
+ name: string;
1350
+ /**
1351
+ * The caption of the element group. This is shown in the legend.
1352
+ */
1353
+ caption: string | null;
1354
+ /**
1355
+ * The ids of the elements in the element group.
1356
+ *
1357
+ * @remarks
1358
+ * You can use these ids to get the full element objects via the `getElements` method.
1359
+ */
1360
+ elementIds: Array<string>;
1361
+ /**
1362
+ * Whether the element group is visible or not.
1363
+ */
1364
+ visible: boolean;
1365
+ /**
1366
+ * Whether the element group is shown in the legend or not.
1367
+ */
1368
+ shownInLegend: boolean;
1369
+ }
1370
+ /**
1371
+ * The constraints to apply when getting elements.
1372
+ *
1373
+ * @group Elements
1374
+ */
1375
+ interface GetElementsConstraint extends zInfer<typeof GetElementsConstraintSchema> {
1376
+ }
1377
+ declare const GetElementsConstraintSchema: z.ZodObject<{
1378
+ /**
1379
+ * The ids of the elements to get.
1380
+ */
1381
+ ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1382
+ }, "strip", z.ZodTypeAny, {
1383
+ ids?: string[] | undefined;
1384
+ }, {
1385
+ ids?: string[] | undefined;
1386
+ }>;
1387
+ /**
1388
+ * The constraints to apply when getting element groups.
1389
+ *
1390
+ * @group Element Groups
1391
+ */
1392
+ interface GetElementGroupsConstraint extends zInfer<typeof GetElementGroupsConstraintSchema> {
1393
+ }
1394
+ /**
1395
+ * @ignore
1396
+ */
1397
+ declare const GetElementGroupsConstraintSchema: z.ZodObject<{
1398
+ /**
1399
+ * The ids of the element groups to get.
1400
+ */
1401
+ ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1402
+ }, "strip", z.ZodTypeAny, {
1403
+ ids?: string[] | undefined;
1404
+ }, {
1405
+ ids?: string[] | undefined;
1406
+ }>;
1407
+ /**
1408
+ * The parameters for the `onElementChange` and the `onElementCreate` listeners.
1409
+ *
1410
+ * @group Elements
1411
+ */
1412
+ interface ElementChangeCallbackParams {
1413
+ /**
1414
+ * The new data for the element or null if the element was removed.
1415
+ */
1416
+ element: Element | null;
1417
+ /**
1418
+ * Whether or not this element is still being created by a drawing tool.
1419
+ *
1420
+ * For example, if the user begins drawing a polygon, they need to place
1421
+ * multiple points until they've ultimately completed the polygon. All
1422
+ * the time they are still placing points, this will be true.
1423
+ *
1424
+ * For elements that require text entry (such as Places, Text and Notes)
1425
+ * this will be true all the time the user is typing text until the point
1426
+ * at which the user finishes, by pressing Escape for example.
1427
+ *
1428
+ * If the user is editing an existing element, this will be false.
1429
+ *
1430
+ * For elements that are created programatically, this will be false.
1431
+ */
1432
+ isBeingCreated: boolean;
1433
+ }
1434
+ /**
1435
+ * The parameters for the `onElementGroupChange` listener.
1436
+ *
1437
+ * @group Element Groups
1438
+ */
1439
+ interface ElementGroupChangeCallbackParams {
1440
+ elementGroup: ElementGroup | null;
1441
+ }
1442
+
1443
+ /**
1444
+ * Represents a point in world coordinates.
1445
+ */
1446
+ interface LatLng {
1447
+ latitude: number;
1448
+ longitude: number;
1449
+ }
1450
+ /**
1451
+ * A tuple representing a longitude and latitude coordinate.
1452
+ *
1453
+ * This is used hen serializing geometry because that's the standard used in
1454
+ * GeoJSON.
1455
+ */
1456
+ type LngLatTuple = [longitude: number, latitude: number];
1457
+ /**
1458
+ * A GeoJSON properties object.
1459
+ */
1460
+ type GeoJsonProperties = Record<string, unknown>;
1461
+ /**
1462
+ * A GeoJSON feature object, compliant with:
1463
+ * https://datatracker.ietf.org/doc/html/rfc7946#section-3.2
1464
+ *
1465
+ * @interface
1466
+ */
1467
+ type GeoJsonFeature = {
1468
+ type: "Feature";
1469
+ /**
1470
+ * The bounding box of the feature.
1471
+ */
1472
+ bbox?: FeltBoundary;
1473
+ /**
1474
+ * The feature's geometry
1475
+ */
1476
+ geometry: GeoJsonGeometry;
1477
+ /**
1478
+ * A value that uniquely identifies this feature in a
1479
+ * https://tools.ietf.org/html/rfc7946#section-3.2.
1480
+ */
1481
+ id?: string | number | undefined;
1482
+ /**
1483
+ * Properties associated with this feature.
1484
+ */
1485
+ properties: GeoJsonProperties;
1486
+ };
1487
+ interface PointGeometry extends zInfer<typeof PointGeometrySchema> {
1488
+ }
1489
+ /**
1490
+ * A GeoJSON point geometry.
1491
+ */
1492
+ declare const PointGeometrySchema: z.ZodObject<{
1493
+ type: z.ZodLiteral<"Point">;
1494
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1495
+ }, "strip", z.ZodTypeAny, {
1496
+ type: "Point";
1497
+ coordinates: [number, number];
1498
+ }, {
1499
+ type: "Point";
1500
+ coordinates: [number, number];
1501
+ }>;
1502
+ /**
1503
+ * A GeoJSON multi-point geometry.
1504
+ *
1505
+ * @remarks
1506
+ * You shouldn't expect this to come from Felt - it is here for completeness
1507
+ * of the GeoJSON spec.
1508
+ */
1509
+ interface MultiPointGeometry {
1510
+ type: "MultiPoint";
1511
+ coordinates: PointGeometry["coordinates"][];
1512
+ }
1513
+ interface PolygonGeometry extends zInfer<typeof PolygonGeometrySchema> {
1514
+ }
1515
+ /**
1516
+ * A GeoJSON polygon geometry.
1517
+ */
1518
+ declare const PolygonGeometrySchema: z.ZodObject<{
1519
+ type: z.ZodLiteral<"Polygon">;
1520
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
1521
+ }, "strip", z.ZodTypeAny, {
1522
+ type: "Polygon";
1523
+ coordinates: [number, number][][];
1524
+ }, {
1525
+ type: "Polygon";
1526
+ coordinates: [number, number][][];
1527
+ }>;
1528
+ /**
1529
+ * A GeoJSON multi-polygon geometry.
1530
+ *
1531
+ * @interface
1532
+ */
1533
+ type MultiPolygonGeometry = {
1534
+ type: "MultiPolygon";
1535
+ coordinates: PolygonGeometry["coordinates"][];
1536
+ };
1537
+ /**
1538
+ * A GeoJSON line string geometry.
1539
+ *
1540
+ * @interface
1541
+ */
1542
+ type LineStringGeometry = {
1543
+ type: "LineString";
1544
+ coordinates: LngLatTuple[];
1545
+ };
1546
+ /**
1547
+ * A GeoJSON multi-line string geometry.
1548
+ *
1549
+ * @interface
1550
+ */
1551
+ type MultiLineStringGeometry = {
1552
+ type: "MultiLineString";
1553
+ coordinates: LineStringGeometry["coordinates"][];
1554
+ };
1555
+ /**
1556
+ * A GeoJSON geometry of any type
1557
+ */
1558
+ type GeoJsonGeometry = PointGeometry | PolygonGeometry | LineStringGeometry | MultiLineStringGeometry | MultiPolygonGeometry | MultiPointGeometry;
1559
+ /**
1560
+ * @ignore
1561
+ * @internal
1562
+ */
1563
+ declare const FeltZoomSchema: z.ZodNumber;
1564
+ /**
1565
+ * The zoom level of the map.
1566
+ *
1567
+ * It is a floating-point number between 1 and 23, where 1 is the most
1568
+ * zoomed out and 23 is the most zoomed in.
1569
+ *
1570
+ * @group Types
1571
+ * @public
1572
+ */
1573
+ type FeltZoom = z.infer<typeof FeltZoomSchema>;
1574
+ /**
1575
+ * @ignore
1576
+ * @internal
1577
+ */
1578
+ declare const FeltBoundarySchema: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1579
+ /**
1580
+ * The edges of the map in the form of a bounding box.
1581
+ *
1582
+ * The boundary is a tuple of the form `[west, south, east, north]`.
1583
+ *
1584
+ * @group Types
1585
+ * @public
1586
+ */
1587
+ type FeltBoundary = z.infer<typeof FeltBoundarySchema>;
1588
+ /**
1589
+ * The parameters for the methods that change the visibility of entities.
1590
+ *
1591
+ * @public
1592
+ * @category Visibility
1593
+ */
1594
+ interface SetVisibilityRequest extends zInfer<typeof SetVisibilityRequestSchema> {
1595
+ }
1596
+ /**
1597
+ * @internal
1598
+ */
1599
+ declare const SetVisibilityRequestSchema: z.ZodObject<{
1600
+ /**
1601
+ * The ids of the entities you want to change the visibility of.
1602
+ */
1603
+ show: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1604
+ hide: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1605
+ }, "strip", z.ZodTypeAny, {
1606
+ show?: string[] | undefined;
1607
+ hide?: string[] | undefined;
1608
+ }, {
1609
+ show?: string[] | undefined;
1610
+ hide?: string[] | undefined;
1611
+ }>;
1612
+ /**
1613
+ * Specifies the direction to sort data in
1614
+ *
1615
+ * @group Types
1616
+ */
1617
+ type SortDirection = z.infer<typeof SortDirectionSchema>;
1618
+ /** @ignore */
1619
+ declare const SortDirectionSchema: z.ZodEnum<["asc", "desc"]>;
1620
+ /**
1621
+ * Configuration for sorting data by a specific attribute
1622
+ *
1623
+ * @group Types
1624
+ */
1625
+ interface SortConfig extends zInfer<typeof SortConfigSchema> {
1626
+ }
1627
+ /** @ignore */
1628
+ declare const SortConfigSchema: z.ZodObject<{
1629
+ /**
1630
+ * The attribute to sort by. What this represents depends on the context.
1631
+ * For instance, when sorting features in a data table, the attribute is
1632
+ * the column to sort by.
1633
+ */
1634
+ attribute: z.ZodString;
1635
+ /**
1636
+ * The direction to sort in
1637
+ */
1638
+ direction: z.ZodEnum<["asc", "desc"]>;
1639
+ }, "strip", z.ZodTypeAny, {
1640
+ attribute: string;
1641
+ direction: "asc" | "desc";
1642
+ }, {
1643
+ attribute: string;
1644
+ direction: "asc" | "desc";
1645
+ }>;
1646
+
1647
+ /**
1648
+ * A LayerFeature is a single geographical item in a layer.
1649
+ *
1650
+ * It is intended to be a lightweight object that contains the properties of a
1651
+ * feature, but not the geometry. It is returned by methods like
1652
+ * {@link FeltController.getRenderedFeatures} and {@link FeltController.getFeature},
1653
+ * and as part of the methods in the {@link SelectionController}
1654
+ *
1655
+ * The geometry can be obtained via the {@link FeltController.getGeoJsonFeature}
1656
+ * method, which returns a {@link GeoJsonFeature} object.
1657
+ */
1658
+ interface LayerFeature {
1659
+ /**
1660
+ * The identifier of the feature, unique within the layer.
1661
+ */
1662
+ id: string | number;
1663
+ /**
1664
+ * The identifier of the layer that the feature belongs to.
1665
+ */
1666
+ layerId: string;
1667
+ /**
1668
+ * The type of geometry of the feature.
1669
+ *
1670
+ * @remarks Because LayerFeatures are read from tiled features, it's
1671
+ * possible that this `geometryType` won't match the `geometry.type` of the
1672
+ * {@link GeoJsonFeature} returned by {@link FeltController.getGeoJsonFeature}.
1673
+ *
1674
+ * For example, this may return `LineString` but the full feature is a `MultiLineString`,
1675
+ * or, similarly `Polygon` here may be a `MultiPolygon` in the full feature.
1676
+ *
1677
+ * As a result, you should treat this property as being indicative only.
1678
+ */
1679
+ geometryType: GeoJsonGeometry["type"] | (string & {});
1680
+ /**
1681
+ * The properties of the feature, as a bag of attributes.
1682
+ */
1683
+ properties: GeoJsonProperties;
1684
+ }
1685
+ /**
1686
+ * A raster pixel value for a specific layer.
1687
+ *
1688
+ * @interface
1689
+ */
1690
+ type RasterValue = {
1691
+ /**
1692
+ * The value of the pixel.
1693
+ */
1694
+ value: number;
1695
+ /**
1696
+ * The ID of the layer that the pixel belongs to.
1697
+ */
1698
+ layerId: string;
1699
+ /**
1700
+ * The name of the category that the pixel belongs to.
1701
+ */
1702
+ categoryName: null | string;
1703
+ /**
1704
+ * The color of the pixel. Each value is between 0 and 255.
1705
+ */
1706
+ color: null | {
1707
+ r: number;
1708
+ g: number;
1709
+ b: number;
1710
+ a: number;
1711
+ };
1712
+ };
1713
+
1714
+ /**
1715
+ * This describes the processing status of a layer.
1716
+ *
1717
+ * The various values are:
1718
+ * - `processing`: The layer has been uploaded or updated and is still processing.
1719
+ * - `completed`: The layer has been processed and can be viewed on the map.
1720
+ * - `failed`: The layer failed to process and cannot be viewed on the map.
1721
+ * - `incomplete`: The layer has not been processed.
1722
+ *
1723
+ * @group Layers
1724
+ */
1725
+ type LayerProcessingStatus = z.infer<typeof LayerProcessingStatusSchema>;
1726
+ declare const LayerProcessingStatusSchema: z.ZodEnum<["processing", "completed", "failed", "incomplete"]>;
1727
+ /**
1728
+ * @group Layers
1729
+ */
1730
+ interface Layer {
1731
+ /**
1732
+ * The string identifying the layer
1733
+ */
1734
+ id: string;
1735
+ /**
1736
+ * The ID of the layer group that the layer belongs to.
1737
+ *
1738
+ * Layers that appear at the root level in Felt will not have a group ID.
1739
+ */
1740
+ groupId: string | null;
1741
+ /**
1742
+ * The name of the layer can be displayed in the Legend, depending
1743
+ * on how the layer's legend is configured in its style.
1744
+ */
1745
+ name: string;
1746
+ /**
1747
+ * The layer's caption is shown in the legend.
1748
+ */
1749
+ caption: string | null;
1750
+ /**
1751
+ * The layer description forms part of the layer's metadata. This is visible
1752
+ * to users via the layer info button in the legend.
1753
+ */
1754
+ description: string | null;
1755
+ /**
1756
+ * Whether the layer is visible or not.
1757
+ */
1758
+ visible: boolean;
1759
+ /**
1760
+ * Whether the layer is shown in the legend or not.
1761
+ */
1762
+ shownInLegend: boolean;
1763
+ /**
1764
+ * The FSL style for the layer.
1765
+ *
1766
+ * See the [FSL documentation](https://developers.felt.com/felt-style-language) for details
1767
+ * on how to read and write styles.
1768
+ *
1769
+ * As the types of the styles are very complex, we return `object` here and advise that you
1770
+ * program defensively while reading the styles.
1771
+ */
1772
+ style: object;
1773
+ /**
1774
+ * The current processing status of the layer.
1775
+ */
1776
+ status: LayerProcessingStatus;
1777
+ /**
1778
+ * The geometry type of the layer.
1779
+ *
1780
+ * @remarks
1781
+ * This will generally be one of:
1782
+ * - `"Point"`
1783
+ * - `"Line"`
1784
+ * - `"Polygon"`
1785
+ * - `"Raster"`
1786
+ * - `null`
1787
+ *
1788
+ * When the layer is processing, or it is a data-only layer, it will be null. You should
1789
+ * expect this to be able to be any string, however, as more geometry types can be added
1790
+ * in the future.
1791
+ */
1792
+ geometryType: string | null;
1793
+ /**
1794
+ * The bounding box of the layer. If the layer is processing, or the bounds have otherwise
1795
+ * not been calculated or are not available, this will be `null`.
1796
+ *
1797
+ * {@link FeltBoundary}
1798
+ */
1799
+ bounds: FeltBoundary | null;
1800
+ }
1801
+ /**
1802
+ * @group Layer Groups
1803
+ */
1804
+ interface LayerGroup {
1805
+ /**
1806
+ * A string identifying the layer group.
1807
+ */
1808
+ id: string;
1809
+ /**
1810
+ * The name of the layer group. This is shown in the legend.
1811
+ */
1812
+ name: string;
1813
+ /**
1814
+ * The caption of the layer group. This is shown in the legend.
1815
+ */
1816
+ caption: string | null;
1817
+ /**
1818
+ * The ids of the layers in the layer group.
1819
+ *
1820
+ * @remarks
1821
+ * You can use these ids to get the full layer objects via the `getLayers` method.
1822
+ */
1823
+ layerIds: Array<string>;
1824
+ /**
1825
+ * Whether the layer group is visible or not.
1826
+ */
1827
+ visible: boolean;
1828
+ /**
1829
+ * Whether the layer group is shown in the legend or not.
1830
+ */
1831
+ shownInLegend: boolean;
1832
+ /**
1833
+ * The bounding box of the layer group.
1834
+ *
1835
+ * {@link FeltBoundary}
1836
+ */
1837
+ bounds: FeltBoundary | null;
1838
+ }
1839
+ /**
1840
+ * The constraints to apply when getting layers.
1841
+ *
1842
+ * @group Layers
1843
+ */
1844
+ interface GetLayersConstraint extends zInfer<typeof GetLayersConstraintSchema> {
1845
+ }
1846
+ /**
1847
+ * @ignore
1848
+ */
1849
+ declare const GetLayersConstraintSchema: z.ZodObject<{
1850
+ /**
1851
+ * The ids of the layers to get.
1852
+ */
1853
+ ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1854
+ }, "strip", z.ZodTypeAny, {
1855
+ ids?: string[] | undefined;
1856
+ }, {
1857
+ ids?: string[] | undefined;
1858
+ }>;
1859
+ /**
1860
+ * The constraints to apply when getting layer groups.
1861
+ *
1862
+ * @group Layer Groups
1863
+ */
1864
+ interface GetLayerGroupsConstraint extends zInfer<typeof GetLayerGroupsFilterSchema> {
1865
+ }
1866
+ /**
1867
+ * @ignore
1868
+ */
1869
+ declare const GetLayerGroupsFilterSchema: z.ZodObject<{
1870
+ /**
1871
+ * The ids of the layer groups to get.
1872
+ */
1873
+ ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1874
+ }, "strip", z.ZodTypeAny, {
1875
+ ids?: string[] | undefined;
1876
+ }, {
1877
+ ids?: string[] | undefined;
1878
+ }>;
1879
+ /**
1880
+ * The parameters for the `onLayerChange` listener.
1881
+ *
1882
+ * @group Layers
1883
+ */
1884
+ interface LayerChangeCallbackParams {
1885
+ /**
1886
+ * The new data for the layer or null if the layer was removed.
1887
+ */
1888
+ layer: Layer | null;
1889
+ }
1890
+ /**
1891
+ * The parameters for the `onLayerGroupChange` listener.
1892
+ *
1893
+ * @group Layer Groups
1894
+ */
1895
+ interface LayerGroupChangeCallbackParams {
1896
+ layerGroup: LayerGroup | null;
1897
+ }
1898
+ /**
1899
+ * A legend item, which often represents a sub-class of features in a
1900
+ * layer in the case of categorical or classed layers.
1901
+ *
1902
+ * @group Legend Items
1903
+ */
1904
+ interface LegendItem extends LegendItemIdentifier {
1905
+ /**
1906
+ * The title of the legend item.
1907
+ */
1908
+ title: string | Array<string>;
1909
+ /**
1910
+ * Whether the title depends on the zoom level or not. If it does, you
1911
+ * need to call `getLegendItem` when the zoom level changes.
1912
+ *
1913
+ * Note that as the zoom level changes, the `onLegendItemChange` handler
1914
+ * will not be called, so you need to call `getLegendItem` yourself.
1915
+ */
1916
+ titleDependsOnZoom: boolean;
1917
+ /**
1918
+ * Whether the legend item is visible or not.
1919
+ */
1920
+ visible: boolean;
1921
+ }
1922
+ /**
1923
+ * The identifier for a legend item. It is a compound key of the layer to
1924
+ * which the legend item belongs and the legend item's own id.
1925
+ *
1926
+ * @group Legend Items
1927
+ */
1928
+ interface LegendItemIdentifier extends zInfer<typeof LegendItemIdentifierSchema> {
1929
+ }
1930
+ /** @ignore */
1931
+ declare const LegendItemIdentifierSchema: z.ZodObject<{
1932
+ /**
1933
+ * The id of the legend item.
1934
+ */
1935
+ id: z.ZodString;
1936
+ /**
1937
+ * The id of the layer the legend item belongs to.
1938
+ */
1939
+ layerId: z.ZodString;
1940
+ }, "strip", z.ZodTypeAny, {
1941
+ id: string;
1942
+ layerId: string;
1943
+ }, {
1944
+ id: string;
1945
+ layerId: string;
1946
+ }>;
1947
+ /**
1948
+ * Constraints for legend items. If nothing is passed, all legend items will be returned.
1949
+ *
1950
+ * @group Legend Items
1951
+ */
1952
+ interface LegendItemsConstraint extends zInfer<typeof LegendItemsConstraintSchema> {
1953
+ }
1954
+ /** @ignore */
1955
+ declare const LegendItemsConstraintSchema: z.ZodObject<{
1956
+ /**
1957
+ * Array of legend item identifiers to constrain by.
1958
+ */
1959
+ ids: z.ZodOptional<z.ZodArray<z.ZodObject<{
1960
+ /**
1961
+ * The id of the legend item.
1962
+ */
1963
+ id: z.ZodString;
1964
+ /**
1965
+ * The id of the layer the legend item belongs to.
1966
+ */
1967
+ layerId: z.ZodString;
1968
+ }, "strip", z.ZodTypeAny, {
1969
+ id: string;
1970
+ layerId: string;
1971
+ }, {
1972
+ id: string;
1973
+ layerId: string;
1974
+ }>, "many">>;
1975
+ /**
1976
+ * Array of layer ids to constrain legend items by.
1977
+ */
1978
+ layerIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1979
+ }, "strip", z.ZodTypeAny, {
1980
+ ids?: {
1981
+ id: string;
1982
+ layerId: string;
1983
+ }[] | undefined;
1984
+ layerIds?: string[] | undefined;
1985
+ }, {
1986
+ ids?: {
1987
+ id: string;
1988
+ layerId: string;
1989
+ }[] | undefined;
1990
+ layerIds?: string[] | undefined;
1991
+ }>;
1992
+ /**
1993
+ * The parameters for the `onLegendItemChange` listener.
1994
+ *
1995
+ * @group Legend Items
1996
+ */
1997
+ interface LegendItemChangeCallbackParams {
1998
+ /**
1999
+ * The new data for the legend item or null if the legend item was removed.
2000
+ */
2001
+ legendItem: LegendItem | null;
2002
+ }
2003
+ /**
2004
+ * Constraints for the `getRenderedFeatures` method. This can include layer constriants, spatial constraints, or both. If no constraints are
2005
+ * provided, all rendered features will be returned.
2006
+ *
2007
+ * @group Layers
2008
+ */
2009
+ interface GetRenderedFeaturesConstraint extends zInfer<typeof GetRenderedFeaturesConstraintSchema> {
2010
+ /**
2011
+ * The area to query for rendered features. This can be specific coordinates or a {@link FeltBoundary}. If omitted, the entire viewport will be queried.
2012
+ */
2013
+ areaQuery?: {
2014
+ coordinates: LatLng;
2015
+ } | {
2016
+ boundary: FeltBoundary;
2017
+ };
2018
+ }
2019
+ /** @ignore */
2020
+ declare const GetRenderedFeaturesConstraintSchema: z.ZodObject<{
2021
+ /**
2022
+ * The ids of the layers to get rendered features for.
2023
+ */
2024
+ layerIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2025
+ areaQuery: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
2026
+ coordinates: z.ZodObject<{
2027
+ latitude: z.ZodNumber;
2028
+ longitude: z.ZodNumber;
2029
+ }, "strip", z.ZodTypeAny, {
2030
+ latitude: number;
2031
+ longitude: number;
2032
+ }, {
2033
+ latitude: number;
2034
+ longitude: number;
2035
+ }>;
2036
+ }, "strip", z.ZodTypeAny, {
2037
+ coordinates: {
2038
+ latitude: number;
2039
+ longitude: number;
2040
+ };
2041
+ }, {
2042
+ coordinates: {
2043
+ latitude: number;
2044
+ longitude: number;
2045
+ };
2046
+ }>, z.ZodObject<{
2047
+ boundary: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2048
+ }, "strip", z.ZodTypeAny, {
2049
+ boundary: [number, number, number, number];
2050
+ }, {
2051
+ boundary: [number, number, number, number];
2052
+ }>]>>;
2053
+ }, "strip", z.ZodTypeAny, {
2054
+ layerIds?: string[] | undefined;
2055
+ areaQuery?: {
2056
+ coordinates: {
2057
+ latitude: number;
2058
+ longitude: number;
2059
+ };
2060
+ } | {
2061
+ boundary: [number, number, number, number];
2062
+ } | undefined;
2063
+ }, {
2064
+ layerIds?: string[] | undefined;
2065
+ areaQuery?: {
2066
+ coordinates: {
2067
+ latitude: number;
2068
+ longitude: number;
2069
+ };
2070
+ } | {
2071
+ boundary: [number, number, number, number];
2072
+ } | undefined;
2073
+ }>;
2074
+
2075
+ /**
2076
+ * @group Filters
2077
+ */
2078
+ type FilterLogicGate = z.infer<typeof FilterLogicGateSchema>;
2079
+ declare const FilterLogicGateSchema: z.ZodEnum<["and", "or"]>;
2080
+ /**
2081
+ * @group Filters
2082
+ */
2083
+ type FilterExpression = z.infer<typeof FilterExpressionSchema>;
2084
+ declare const FilterExpressionSchema: z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>;
2085
+ /**
2086
+ * A `FilterTernary` is a tree structure for combining expressions with logical operators.
2087
+ *
2088
+ * When combining three or more conditions, you must use proper nesting rather than a flat list.
2089
+ *
2090
+ * @example
2091
+ * ```typescript
2092
+ * // A simple filter with a single condition
2093
+ * const filter = [
2094
+ * ["AREA", "gt", 30_000],
2095
+ * "and",
2096
+ * ["COLOR", "eq", "red"]
2097
+ * ]
2098
+ *
2099
+ * // A complex filter with multiple conditions
2100
+ * const filter = [
2101
+ * ["AREA", "gt", 30_000],
2102
+ * "and",
2103
+ * [
2104
+ * ["COLOR", "eq", "red"],
2105
+ * "or",
2106
+ * ["TYPE", "eq", "residential"]
2107
+ * ]
2108
+ * ]
2109
+ * ```
2110
+ *
2111
+ * @group Filters
2112
+ */
2113
+ type FilterTernary = [
2114
+ FilterTernary | FilterExpression | null | boolean,
2115
+ FilterLogicGate,
2116
+ FilterTernary | FilterExpression | null | boolean
2117
+ ];
2118
+ /**
2119
+ *
2120
+ * Filters can be used to change which features in a layer are rendered. Filters can be
2121
+ * applied to a layer by the `setLayerFilters` method on the Felt controller.
2122
+ *
2123
+ * Filters use a tree structure for combining expressions with logical operators, called a
2124
+ * {@link FilterTernary}. When combining three or more conditions, you must use proper nesting
2125
+ * rather than a flat list.
2126
+ *
2127
+ * See the examples below for the correct structure to use when building complex filters.
2128
+ *
2129
+ * @remarks
2130
+ * The possible operators are:
2131
+ * - `lt`: Less than
2132
+ * - `gt`: Greater than
2133
+ * - `le`: Less than or equal to
2134
+ * - `ge`: Greater than or equal to
2135
+ * - `eq`: Equal to
2136
+ * - `ne`: Not equal to
2137
+ * - `cn`: Contains
2138
+ * - `nc`: Does not contain
2139
+ *
2140
+ * The allowed boolean operators are:
2141
+ * - `and`: Logical AND
2142
+ * - `or`: Logical OR
2143
+ *
2144
+ * @example
2145
+ * ```typescript
2146
+ * // 1. Simple filter: single condition
2147
+ * felt.setLayerFilters({
2148
+ * layerId: "layer-1",
2149
+ * filters: ["AREA", "gt", 30_000],
2150
+ * });
2151
+ *
2152
+ * // 2. Basic compound filter: two conditions with AND
2153
+ * felt.setLayerFilters({
2154
+ * layerId: "layer-1",
2155
+ * filters: [
2156
+ * ["AREA", "gt", 30_000], // First condition
2157
+ * "and", // Logic operator
2158
+ * ["COLOR", "eq", "red"] // Second condition
2159
+ * ]
2160
+ * });
2161
+ *
2162
+ * // 3. Complex filter: three or more conditions require nesting
2163
+ * // ⚠️ IMPORTANT: Filters use a tree structure, not a flat list
2164
+ * felt.setLayerFilters({
2165
+ * layerId: "layer-1",
2166
+ * filters: [
2167
+ * ["AREA", "gt", 30_000], // First condition
2168
+ * "and", // First logic operator
2169
+ * [ // Nested group starts
2170
+ * ["COLOR", "eq", "red"], // Second condition
2171
+ * "and", // Second logic operator
2172
+ * ["TYPE", "eq", "residential"] // Third condition
2173
+ * ] // Nested group ends
2174
+ * ]
2175
+ * });
2176
+ *
2177
+ * // 4. Even more complex: four conditions with proper nesting
2178
+ * // Visual structure:
2179
+ * // AND
2180
+ * // / \
2181
+ * // condition AND
2182
+ * // / \
2183
+ * // condition AND
2184
+ * // / \
2185
+ * // condition condition
2186
+ * felt.setLayerFilters({
2187
+ * layerId: "layer-1",
2188
+ * filters: [
2189
+ * ["AREA", "gt", 30_000], // First condition
2190
+ * "and",
2191
+ * [
2192
+ * ["COLOR", "eq", "red"], // Second condition
2193
+ * "and",
2194
+ * [
2195
+ * ["TYPE", "eq", "residential"], // Third condition
2196
+ * "and",
2197
+ * ["YEAR", "gt", 2000] // Fourth condition
2198
+ * ]
2199
+ * ]
2200
+ * ]
2201
+ * });
2202
+ *
2203
+ * // 5. Mixed operators: combining AND and OR
2204
+ * // Visual structure:
2205
+ * // AND
2206
+ * // / \
2207
+ * // condition OR
2208
+ * // / \
2209
+ * // condition condition
2210
+ * felt.setLayerFilters({
2211
+ * layerId: "layer-1",
2212
+ * filters: [
2213
+ * ["AREA", "gt", 30_000], // Must have large area
2214
+ * "and",
2215
+ * [
2216
+ * ["COLOR", "eq", "red"], // Must be either red
2217
+ * "or",
2218
+ * ["TYPE", "eq", "residential"] // OR residential type
2219
+ * ]
2220
+ * ]
2221
+ * });
2222
+ * ```
2223
+ *
2224
+ * @group Filters
2225
+ */
2226
+ type Filters = FilterTernary | FilterExpression | null | boolean;
2227
+ /**
2228
+ * The filters that are currently set on a layer.
2229
+ *
2230
+ * A layer's filters are the combination of various different places
2231
+ * in which filters can be applied.
2232
+ *
2233
+ * @group Filters
2234
+ */
2235
+ interface LayerFilters {
2236
+ /**
2237
+ * Filters that are set in the layer's style. These are the lowest level
2238
+ * of filters, and can only be set by editing the map.
2239
+ */
2240
+ style: Filters;
2241
+ /**
2242
+ * Filters that are set in the layer's components, which are interactive
2243
+ * elements in the legend. These can be set by viewers for their own session,
2244
+ * but their default value can be set by the map creator.
2245
+ */
2246
+ components: Filters;
2247
+ /**
2248
+ * Filters that are set ephemerally by viewers in their own session.
2249
+ *
2250
+ * These are the filters that are set when the `setLayerFilters` method is
2251
+ * called. There is no way to set these in the Felt UI - they can only be
2252
+ * set using the SDK.
2253
+ */
2254
+ ephemeral: Filters;
2255
+ /**
2256
+ * The combined result of all the filters set on the layer.
2257
+ */
2258
+ combined: Filters;
2259
+ }
2260
+
2261
+ declare const AggregateMethodSchema: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
2262
+ declare const AggregationConfigSchema: z.ZodObject<{
2263
+ /**
2264
+ * The operation to use on the values from the features in the layer
2265
+ */
2266
+ method: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
2267
+ /**
2268
+ * The attribute to use for the aggregation. This must be a numeric attribute.
2269
+ */
2270
+ attribute: z.ZodString;
2271
+ }, "strip", z.ZodTypeAny, {
2272
+ attribute: string;
2273
+ method: "avg" | "max" | "min" | "sum" | "median";
2274
+ }, {
2275
+ attribute: string;
2276
+ method: "avg" | "max" | "min" | "sum" | "median";
2277
+ }>;
2278
+ declare const MutliAggregationConfigSchema: z.ZodObject<{
2279
+ /**
2280
+ * The operations to use on the values from the features in the layer
2281
+ */
2282
+ methods: z.ZodArray<z.ZodUnion<[z.ZodEnum<["avg", "max", "min", "sum", "median"]>, z.ZodLiteral<"count">]>, "many">;
2283
+ /**
2284
+ * The attribute to use for the aggregation. This must be a numeric attribute.
2285
+ */
2286
+ attribute: z.ZodOptional<z.ZodString>;
2287
+ }, "strip", z.ZodTypeAny, {
2288
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2289
+ attribute?: string | undefined;
2290
+ }, {
2291
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2292
+ attribute?: string | undefined;
2293
+ }>;
2294
+ /**
2295
+ * Defines how to aggregate a value across features in a layer.
2296
+ */
2297
+ interface AggregationConfig extends zInfer<typeof AggregationConfigSchema> {
2298
+ /**
2299
+ * The method to use for the aggregation.
2300
+ */
2301
+ method: AggregationMethod;
2302
+ }
2303
+ /**
2304
+ * The method to use for the aggregation.
2305
+ */
2306
+ type AggregationMethod = z.infer<typeof AggregateMethodSchema>;
2307
+ /**
2308
+ * Defines how to aggregate a value across features in a layer with multiple aggregations
2309
+ * returned at once.
2310
+ */
2311
+ interface MultiAggregationConfig<T extends AggregationMethod | "count"> extends zInfer<typeof MutliAggregationConfigSchema> {
2312
+ methods: T[];
2313
+ /**
2314
+ * The attribute to use for the aggregation when aggregations other than "count" are used.
2315
+ *
2316
+ * This can be omitted if the only aggregation is "count", but must be a numeric attribute
2317
+ * otherwise.
2318
+ */
2319
+ attribute?: string;
2320
+ }
2321
+ declare const ValueConfigurationSchema: z.ZodObject<{
2322
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2323
+ type: z.ZodLiteral<"Polygon">;
2324
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2325
+ }, "strip", z.ZodTypeAny, {
2326
+ type: "Polygon";
2327
+ coordinates: [number, number][][];
2328
+ }, {
2329
+ type: "Polygon";
2330
+ coordinates: [number, number][][];
2331
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2332
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2333
+ aggregation: z.ZodOptional<z.ZodObject<{
2334
+ /**
2335
+ * The operation to use on the values from the features in the layer
2336
+ */
2337
+ method: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
2338
+ /**
2339
+ * The attribute to use for the aggregation. This must be a numeric attribute.
2340
+ */
2341
+ attribute: z.ZodString;
2342
+ }, "strip", z.ZodTypeAny, {
2343
+ attribute: string;
2344
+ method: "avg" | "max" | "min" | "sum" | "median";
2345
+ }, {
2346
+ attribute: string;
2347
+ method: "avg" | "max" | "min" | "sum" | "median";
2348
+ }>>;
2349
+ }, "strip", z.ZodTypeAny, {
2350
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2351
+ boundary?: [number, number, number, number] | [number, number][] | {
2352
+ type: "Polygon";
2353
+ coordinates: [number, number][][];
2354
+ } | undefined;
2355
+ aggregation?: {
2356
+ attribute: string;
2357
+ method: "avg" | "max" | "min" | "sum" | "median";
2358
+ } | undefined;
2359
+ }, {
2360
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2361
+ boundary?: [number, number, number, number] | [number, number][] | {
2362
+ type: "Polygon";
2363
+ coordinates: [number, number][][];
2364
+ } | undefined;
2365
+ aggregation?: {
2366
+ attribute: string;
2367
+ method: "avg" | "max" | "min" | "sum" | "median";
2368
+ } | undefined;
2369
+ }>;
2370
+ /**
2371
+ * Configuration for filtering and aggregating values across features.
2372
+ *
2373
+ * This can be used to restrict the features considered for aggregation via the `boundary`
2374
+ * and `filters` properties.
2375
+ *
2376
+ * It can also be used to specify how to aggregate the values via the `aggregation` property.
2377
+ */
2378
+ interface ValueConfiguration extends zInfer<typeof ValueConfigurationSchema> {
2379
+ /**
2380
+ * A spatial boundary to filter what gets counted or aggregated, while still including
2381
+ * all possible categories or bin ranges in the results.
2382
+ */
2383
+ boundary?: PolygonGeometry | LngLatTuple[] | FeltBoundary;
2384
+ /**
2385
+ * Attribute filters to determine what gets counted or aggregated, while still including
2386
+ * all possible categories or bin ranges in the results.
2387
+ */
2388
+ filters?: Filters;
2389
+ /**
2390
+ * Specifies how to aggregate values within each category or bin. When omitted,
2391
+ * features are counted. When specified, the chosen calculation (avg, sum, etc.)
2392
+ * is performed on the specified attribute.
2393
+ *
2394
+ * For example, instead of counting buildings in each category, you might want
2395
+ * to sum their square footage or average their assessed values.
2396
+ */
2397
+ aggregation?: AggregationConfig;
2398
+ }
2399
+ declare const GetLayerCategoriesParamsSchema: z.ZodObject<{
2400
+ /**
2401
+ * The ID of the layer to get categories from.
2402
+ */
2403
+ layerId: z.ZodString;
2404
+ /**
2405
+ * The attribute to use for categorization.
2406
+ */
2407
+ attribute: z.ZodString;
2408
+ /**
2409
+ * The maximum number of categories to return.
2410
+ */
2411
+ limit: z.ZodOptional<z.ZodNumber>;
2412
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2413
+ type: z.ZodLiteral<"Polygon">;
2414
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2415
+ }, "strip", z.ZodTypeAny, {
2416
+ type: "Polygon";
2417
+ coordinates: [number, number][][];
2418
+ }, {
2419
+ type: "Polygon";
2420
+ coordinates: [number, number][][];
2421
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2422
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2423
+ values: z.ZodOptional<z.ZodObject<{
2424
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2425
+ type: z.ZodLiteral<"Polygon">;
2426
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2427
+ }, "strip", z.ZodTypeAny, {
2428
+ type: "Polygon";
2429
+ coordinates: [number, number][][];
2430
+ }, {
2431
+ type: "Polygon";
2432
+ coordinates: [number, number][][];
2433
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2434
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2435
+ aggregation: z.ZodOptional<z.ZodObject<{
2436
+ /**
2437
+ * The operation to use on the values from the features in the layer
2438
+ */
2439
+ method: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
2440
+ /**
2441
+ * The attribute to use for the aggregation. This must be a numeric attribute.
2442
+ */
2443
+ attribute: z.ZodString;
2444
+ }, "strip", z.ZodTypeAny, {
2445
+ attribute: string;
2446
+ method: "avg" | "max" | "min" | "sum" | "median";
2447
+ }, {
2448
+ attribute: string;
2449
+ method: "avg" | "max" | "min" | "sum" | "median";
2450
+ }>>;
2451
+ }, "strip", z.ZodTypeAny, {
2452
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2453
+ boundary?: [number, number, number, number] | [number, number][] | {
2454
+ type: "Polygon";
2455
+ coordinates: [number, number][][];
2456
+ } | undefined;
2457
+ aggregation?: {
2458
+ attribute: string;
2459
+ method: "avg" | "max" | "min" | "sum" | "median";
2460
+ } | undefined;
2461
+ }, {
2462
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2463
+ boundary?: [number, number, number, number] | [number, number][] | {
2464
+ type: "Polygon";
2465
+ coordinates: [number, number][][];
2466
+ } | undefined;
2467
+ aggregation?: {
2468
+ attribute: string;
2469
+ method: "avg" | "max" | "min" | "sum" | "median";
2470
+ } | undefined;
2471
+ }>>;
2472
+ }, "strip", z.ZodTypeAny, {
2473
+ attribute: string;
2474
+ layerId: string;
2475
+ values?: {
2476
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2477
+ boundary?: [number, number, number, number] | [number, number][] | {
2478
+ type: "Polygon";
2479
+ coordinates: [number, number][][];
2480
+ } | undefined;
2481
+ aggregation?: {
2482
+ attribute: string;
2483
+ method: "avg" | "max" | "min" | "sum" | "median";
2484
+ } | undefined;
2485
+ } | undefined;
2486
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2487
+ boundary?: [number, number, number, number] | [number, number][] | {
2488
+ type: "Polygon";
2489
+ coordinates: [number, number][][];
2490
+ } | undefined;
2491
+ limit?: number | undefined;
2492
+ }, {
2493
+ attribute: string;
2494
+ layerId: string;
2495
+ values?: {
2496
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2497
+ boundary?: [number, number, number, number] | [number, number][] | {
2498
+ type: "Polygon";
2499
+ coordinates: [number, number][][];
2500
+ } | undefined;
2501
+ aggregation?: {
2502
+ attribute: string;
2503
+ method: "avg" | "max" | "min" | "sum" | "median";
2504
+ } | undefined;
2505
+ } | undefined;
2506
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2507
+ boundary?: [number, number, number, number] | [number, number][] | {
2508
+ type: "Polygon";
2509
+ coordinates: [number, number][][];
2510
+ } | undefined;
2511
+ limit?: number | undefined;
2512
+ }>;
2513
+ /**
2514
+ * The parameters for getting categories from a layer, passed to
2515
+ * the {@link LayersController.getCategoryData} method.
2516
+ */
2517
+ interface GetLayerCategoriesParams extends zInfer<typeof GetLayerCategoriesParamsSchema> {
2518
+ /**
2519
+ * Attribute filters to determine what gets counted or aggregated.
2520
+ */
2521
+ filters?: Filters;
2522
+ /**
2523
+ * A spatial boundary to filter what gets counted or aggregated. This can be either
2524
+ * a [w, s, e, n] bounding box, a GeoJSON Polygon geometry, or a list of coordinates
2525
+ * that form a polyline.
2526
+ */
2527
+ boundary?: PolygonGeometry | LngLatTuple[] | FeltBoundary;
2528
+ /**
2529
+ * Configuration for filtering and aggregating values while preserving the full set of
2530
+ * categories in the results.
2531
+ *
2532
+ * This is particularly useful when you want to compare different subsets of data while
2533
+ * maintaining consistent categories. For example:
2534
+ *
2535
+ * - Show all building types in a city, but only count recent buildings in each type
2536
+ * - Keep all neighborhood categories but only sum up residential square footage
2537
+ *
2538
+ * Unlike top-level filters which affect both what categories appear AND their values,
2539
+ * filters in this configuration only affect the values while keeping all possible
2540
+ * categories in the results.
2541
+ */
2542
+ values?: ValueConfiguration;
2543
+ }
2544
+ declare const GetLayerCategoriesGroupSchema: z.ZodObject<{
2545
+ /**
2546
+ * The category for which the value was calculated.
2547
+ */
2548
+ key: z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean]>;
2549
+ /**
2550
+ * The value calculated for the category, whether a count, sum, average, etc.
2551
+ *
2552
+ * `null` is returned if there are no features in the category as opposed to zero,
2553
+ * so as not to confuse with a real zero value from some aggregation.
2554
+ */
2555
+ value: z.ZodNullable<z.ZodNumber>;
2556
+ }, "strip", z.ZodTypeAny, {
2557
+ value: number | null;
2558
+ key: string | number | boolean;
2559
+ }, {
2560
+ value: number | null;
2561
+ key: string | number | boolean;
2562
+ }>;
2563
+ /**
2564
+ * A single category from the response from the {@link LayersController.getCategoryData} method.
2565
+ */
2566
+ interface GetLayerCategoriesGroup extends zInfer<typeof GetLayerCategoriesGroupSchema> {
2567
+ }
2568
+ declare const GetLayerHistogramParamsSchema: z.ZodObject<{
2569
+ layerId: z.ZodString;
2570
+ attribute: z.ZodString;
2571
+ steps: z.ZodUnion<[z.ZodObject<{
2572
+ type: z.ZodLiteral<"equal-intervals">;
2573
+ count: z.ZodNumber;
2574
+ }, "strip", z.ZodTypeAny, {
2575
+ type: "equal-intervals";
2576
+ count: number;
2577
+ }, {
2578
+ type: "equal-intervals";
2579
+ count: number;
2580
+ }>, z.ZodObject<{
2581
+ type: z.ZodLiteral<"time-interval">;
2582
+ interval: z.ZodEnum<["hour", "day", "week", "month", "year"]>;
2583
+ }, "strip", z.ZodTypeAny, {
2584
+ type: "time-interval";
2585
+ interval: "hour" | "day" | "week" | "month" | "year";
2586
+ }, {
2587
+ type: "time-interval";
2588
+ interval: "hour" | "day" | "week" | "month" | "year";
2589
+ }>, z.ZodArray<z.ZodNumber, "many">]>;
2590
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2591
+ type: z.ZodLiteral<"Polygon">;
2592
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2593
+ }, "strip", z.ZodTypeAny, {
2594
+ type: "Polygon";
2595
+ coordinates: [number, number][][];
2596
+ }, {
2597
+ type: "Polygon";
2598
+ coordinates: [number, number][][];
2599
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2600
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2601
+ /**
2602
+ * Configuration for filtering and aggregating values while preserving the full set of
2603
+ * bin ranges in the results.
2604
+ *
2605
+ * This is particularly useful when you want to compare different subsets of data while
2606
+ * maintaining consistent ranges. For example:
2607
+ *
2608
+ * - Use the same height ranges for comparing old vs new buildings
2609
+ *
2610
+ * Unlike top-level filters which affect both what ranges appear AND their values,
2611
+ * filters in this configuration only affect the values while keeping all possible
2612
+ * ranges in the results.
2613
+ */
2614
+ values: z.ZodOptional<z.ZodObject<{
2615
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2616
+ type: z.ZodLiteral<"Polygon">;
2617
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2618
+ }, "strip", z.ZodTypeAny, {
2619
+ type: "Polygon";
2620
+ coordinates: [number, number][][];
2621
+ }, {
2622
+ type: "Polygon";
2623
+ coordinates: [number, number][][];
2624
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2625
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2626
+ aggregation: z.ZodOptional<z.ZodObject<{
2627
+ /**
2628
+ * The operation to use on the values from the features in the layer
2629
+ */
2630
+ method: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
2631
+ /**
2632
+ * The attribute to use for the aggregation. This must be a numeric attribute.
2633
+ */
2634
+ attribute: z.ZodString;
2635
+ }, "strip", z.ZodTypeAny, {
2636
+ attribute: string;
2637
+ method: "avg" | "max" | "min" | "sum" | "median";
2638
+ }, {
2639
+ attribute: string;
2640
+ method: "avg" | "max" | "min" | "sum" | "median";
2641
+ }>>;
2642
+ }, "strip", z.ZodTypeAny, {
2643
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2644
+ boundary?: [number, number, number, number] | [number, number][] | {
2645
+ type: "Polygon";
2646
+ coordinates: [number, number][][];
2647
+ } | undefined;
2648
+ aggregation?: {
2649
+ attribute: string;
2650
+ method: "avg" | "max" | "min" | "sum" | "median";
2651
+ } | undefined;
2652
+ }, {
2653
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2654
+ boundary?: [number, number, number, number] | [number, number][] | {
2655
+ type: "Polygon";
2656
+ coordinates: [number, number][][];
2657
+ } | undefined;
2658
+ aggregation?: {
2659
+ attribute: string;
2660
+ method: "avg" | "max" | "min" | "sum" | "median";
2661
+ } | undefined;
2662
+ }>>;
2663
+ }, "strip", z.ZodTypeAny, {
2664
+ attribute: string;
2665
+ layerId: string;
2666
+ steps: number[] | {
2667
+ type: "equal-intervals";
2668
+ count: number;
2669
+ } | {
2670
+ type: "time-interval";
2671
+ interval: "hour" | "day" | "week" | "month" | "year";
2672
+ };
2673
+ values?: {
2674
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2675
+ boundary?: [number, number, number, number] | [number, number][] | {
2676
+ type: "Polygon";
2677
+ coordinates: [number, number][][];
2678
+ } | undefined;
2679
+ aggregation?: {
2680
+ attribute: string;
2681
+ method: "avg" | "max" | "min" | "sum" | "median";
2682
+ } | undefined;
2683
+ } | undefined;
2684
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2685
+ boundary?: [number, number, number, number] | [number, number][] | {
2686
+ type: "Polygon";
2687
+ coordinates: [number, number][][];
2688
+ } | undefined;
2689
+ }, {
2690
+ attribute: string;
2691
+ layerId: string;
2692
+ steps: number[] | {
2693
+ type: "equal-intervals";
2694
+ count: number;
2695
+ } | {
2696
+ type: "time-interval";
2697
+ interval: "hour" | "day" | "week" | "month" | "year";
2698
+ };
2699
+ values?: {
2700
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2701
+ boundary?: [number, number, number, number] | [number, number][] | {
2702
+ type: "Polygon";
2703
+ coordinates: [number, number][][];
2704
+ } | undefined;
2705
+ aggregation?: {
2706
+ attribute: string;
2707
+ method: "avg" | "max" | "min" | "sum" | "median";
2708
+ } | undefined;
2709
+ } | undefined;
2710
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2711
+ boundary?: [number, number, number, number] | [number, number][] | {
2712
+ type: "Polygon";
2713
+ coordinates: [number, number][][];
2714
+ } | undefined;
2715
+ }>;
2716
+ /**
2717
+ * The params used to request a histogram of values from a layer, passed to
2718
+ * the {@link LayersController.getHistogramData} method.
2719
+ */
2720
+ interface GetLayerHistogramParams extends zInfer<typeof GetLayerHistogramParamsSchema> {
2721
+ /**
2722
+ * Attribute filters to determine what gets counted or aggregated.
2723
+ */
2724
+ filters?: Filters;
2725
+ /**
2726
+ * A spatial boundary to filter what gets counted or aggregated. This can be either
2727
+ * a [w, s, e, n] bounding box, a GeoJSON Polygon geometry, or a list of coordinates
2728
+ * that form a polyline.
2729
+ */
2730
+ boundary?: PolygonGeometry | LngLatTuple[] | FeltBoundary;
2731
+ }
2732
+ declare const GetLayerHistogramBinSchema: z.ZodObject<{
2733
+ /**
2734
+ * The left edge of the bin.
2735
+ */
2736
+ min: z.ZodNumber;
2737
+ /**
2738
+ * The right edge of the bin.
2739
+ */
2740
+ max: z.ZodNumber;
2741
+ /**
2742
+ * The number of features in the bin.
2743
+ */
2744
+ value: z.ZodNumber;
2745
+ }, "strip", z.ZodTypeAny, {
2746
+ value: number;
2747
+ max: number;
2748
+ min: number;
2749
+ }, {
2750
+ value: number;
2751
+ max: number;
2752
+ min: number;
2753
+ }>;
2754
+ /**
2755
+ * One bin from the response from the {@link LayersController.getHistogramData} method.
2756
+ */
2757
+ interface GetLayerHistogramBin extends zInfer<typeof GetLayerHistogramBinSchema> {
2758
+ }
2759
+ declare const GetLayerCalculationParamsSchema: z.ZodObject<{
2760
+ /**
2761
+ * The ID of the layer to calculate an aggregate value for.
2762
+ */
2763
+ layerId: z.ZodString;
2764
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2765
+ type: z.ZodLiteral<"Polygon">;
2766
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2767
+ }, "strip", z.ZodTypeAny, {
2768
+ type: "Polygon";
2769
+ coordinates: [number, number][][];
2770
+ }, {
2771
+ type: "Polygon";
2772
+ coordinates: [number, number][][];
2773
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2774
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2775
+ aggregation: z.ZodObject<{
2776
+ /**
2777
+ * The operations to use on the values from the features in the layer
2778
+ */
2779
+ methods: z.ZodArray<z.ZodUnion<[z.ZodEnum<["avg", "max", "min", "sum", "median"]>, z.ZodLiteral<"count">]>, "many">;
2780
+ /**
2781
+ * The attribute to use for the aggregation. This must be a numeric attribute.
2782
+ */
2783
+ attribute: z.ZodOptional<z.ZodString>;
2784
+ }, "strip", z.ZodTypeAny, {
2785
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2786
+ attribute?: string | undefined;
2787
+ }, {
2788
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2789
+ attribute?: string | undefined;
2790
+ }>;
2791
+ }, "strip", z.ZodTypeAny, {
2792
+ layerId: string;
2793
+ aggregation: {
2794
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2795
+ attribute?: string | undefined;
2796
+ };
2797
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2798
+ boundary?: [number, number, number, number] | [number, number][] | {
2799
+ type: "Polygon";
2800
+ coordinates: [number, number][][];
2801
+ } | undefined;
2802
+ }, {
2803
+ layerId: string;
2804
+ aggregation: {
2805
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2806
+ attribute?: string | undefined;
2807
+ };
2808
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
2809
+ boundary?: [number, number, number, number] | [number, number][] | {
2810
+ type: "Polygon";
2811
+ coordinates: [number, number][][];
2812
+ } | undefined;
2813
+ }>;
2814
+ /**
2815
+ * The parameters for calculating a single aggregate value for a layer, passed to
2816
+ * the {@link LayersController.getAggregates} method.
2817
+ */
2818
+ interface GetLayerCalculationParams<T extends AggregationMethod | "count"> extends z.infer<typeof GetLayerCalculationParamsSchema> {
2819
+ /**
2820
+ * Attribute filters to determine what gets counted or aggregated.
2821
+ */
2822
+ filters?: Filters;
2823
+ /**
2824
+ * A spatial boundary to filter what gets counted or aggregated. This can be either
2825
+ * a [w, s, e, n] bounding box, a GeoJSON Polygon geometry, or a list of coordinates
2826
+ * that form a polyline.
2827
+ */
2828
+ boundary?: PolygonGeometry | LngLatTuple[] | FeltBoundary;
2829
+ /**
2830
+ * Specifies how to aggregate values within each category or bin. When omitted,
2831
+ * features are counted. When specified, the chosen calculation (avg, sum, etc.)
2832
+ * is performed on the specified attribute.
2833
+ */
2834
+ aggregation: MultiAggregationConfig<T>;
2835
+ }
2836
+
2837
+ /**
2838
+ * The event object passed to the interaction listeners.
2839
+ */
2840
+ interface MapInteractionEvent {
2841
+ /**
2842
+ * The cursor position in world coordinates.
2843
+ */
2844
+ coordinate: LatLng;
2845
+ /**
2846
+ * The vector features that are under the cursor.
2847
+ */
2848
+ features: Array<LayerFeature>;
2849
+ /**
2850
+ * The raster pixel values that are under the cursor.
2851
+ */
2852
+ rasterValues: Array<RasterValue>;
2853
+ }
2854
+
2855
+ /**
2856
+ * The details of a map.
2857
+ *
2858
+ * @group Types
2859
+ */
2860
+ type MapDetails = {
2861
+ /**
2862
+ * The id of the map.
2863
+ */
2864
+ id: string;
2865
+ /**
2866
+ * The title of the map.
2867
+ */
2868
+ title: string;
2869
+ /**
2870
+ * The description of the map.
2871
+ */
2872
+ description: string | null;
2873
+ };
2874
+
2875
+ /**
2876
+ * A reference to any kind of entity in the map.
2877
+ *
2878
+ * @remarks
2879
+ * EntityNodes are used when you have some collection of entities and you need to
2880
+ *
2881
+ * @group Entity Node
2882
+ */
2883
+ type EntityNode = ElementNode | ElementGroupNode | LayerNode | LayerGroupNode | FeatureNode;
2884
+ /**
2885
+ * References an element on the map.
2886
+ *
2887
+ * @interface
2888
+ * @group Entity Nodes
2889
+ */
2890
+ type ElementNode = {
2891
+ type: "element";
2892
+ entity: Element;
2893
+ };
2894
+ /**
2895
+ * References an element group.
2896
+ *
2897
+ * @interface
2898
+ * @group Entity Nodes
2899
+ */
2900
+ type ElementGroupNode = {
2901
+ type: "elementGroup";
2902
+ entity: ElementGroup;
2903
+ };
2904
+ /**
2905
+ * References a layer on the map.
2906
+ *
2907
+ * @interface
2908
+ * @group Entity Nodes
2909
+ */
2910
+ type LayerNode = {
2911
+ type: "layer";
2912
+ entity: Layer;
2913
+ };
2914
+ /**
2915
+ * References a layer group on the map.
2916
+ *
2917
+ * @interface
2918
+ * @group Entity Nodes
2919
+ */
2920
+ type LayerGroupNode = {
2921
+ type: "layerGroup";
2922
+ entity: LayerGroup;
2923
+ };
2924
+ /**
2925
+ * References a feature on the map.
2926
+ *
2927
+ * @interface
2928
+ * @group Entity Nodes
2929
+ */
2930
+ type FeatureNode = {
2931
+ type: "feature";
2932
+ entity: LayerFeature;
2933
+ };
2934
+ /**
2935
+ * The options for selecting a feature in a layer.
2936
+ */
2937
+ interface FeatureSelection extends zInfer<typeof FeatureSelectionSchema> {
2938
+ }
2939
+ /**
2940
+ * @ignore
2941
+ */
2942
+ declare const FeatureSelectionSchema: z.ZodObject<{
2943
+ /**
2944
+ * The id of the feature to select.
2945
+ */
2946
+ id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
2947
+ /**
2948
+ * The id of the layer that the feature belongs to.
2949
+ */
2950
+ layerId: z.ZodString;
2951
+ /**
2952
+ * Whether to show the feature's popup, if it is configured in the layer's style.
2953
+ *
2954
+ * @default true
2955
+ */
2956
+ showPopup: z.ZodOptional<z.ZodBoolean>;
2957
+ /**
2958
+ * Whether to center the view on the feature after selecting it.
2959
+ *
2960
+ * When true, the viewport will be centered on the feature and zoomed to fit the feature
2961
+ * in the viewport. If you need to control the zoom level to prevent it zooming in too
2962
+ * far, you can pass an object with a `maxZoom` property.
2963
+ *
2964
+ * This is useful for avoiding zooming in too far on point features, or if you want
2965
+ * to maintain the current zoom level.
2966
+ *
2967
+ * @default true
2968
+ */
2969
+ fitViewport: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
2970
+ maxZoom: z.ZodNumber;
2971
+ }, "strip", z.ZodTypeAny, {
2972
+ maxZoom: number;
2973
+ }, {
2974
+ maxZoom: number;
2975
+ }>]>>;
2976
+ }, "strip", z.ZodTypeAny, {
2977
+ id: string | number;
2978
+ layerId: string;
2979
+ showPopup?: boolean | undefined;
2980
+ fitViewport?: boolean | {
2981
+ maxZoom: number;
2982
+ } | undefined;
2983
+ }, {
2984
+ id: string | number;
2985
+ layerId: string;
2986
+ showPopup?: boolean | undefined;
2987
+ fitViewport?: boolean | {
2988
+ maxZoom: number;
2989
+ } | undefined;
2990
+ }>;
2991
+
2992
+ declare const ToolSchema: z.ZodEnum<["pin", "line", "route", "polygon", "circle", "marker", "highlighter", "text", "note", "link"]>;
2993
+ type ToolType = z.infer<typeof ToolSchema>;
2994
+ type ConfigurableToolType = keyof ToolSettingsMap;
2995
+ declare const PinToolSettingsSchema: z.ZodObject<{
2996
+ symbol: z.ZodString;
2997
+ color: z.ZodString;
2998
+ frame: z.ZodNullable<z.ZodEnum<["frame-circle", "frame-square"]>>;
2999
+ afterCreation: z.ZodEnum<["enter name", "add another", "select"]>;
3000
+ }, "strip", z.ZodTypeAny, {
3001
+ symbol: string;
3002
+ color: string;
3003
+ frame: "frame-circle" | "frame-square" | null;
3004
+ afterCreation: "enter name" | "add another" | "select";
3005
+ }, {
3006
+ symbol: string;
3007
+ color: string;
3008
+ frame: "frame-circle" | "frame-square" | null;
3009
+ afterCreation: "enter name" | "add another" | "select";
3010
+ }>;
3011
+ interface PinToolSettings extends zInfer<typeof PinToolSettingsSchema> {
3012
+ symbol: PlaceSymbol;
3013
+ /**
3014
+ * What to do after creating the Place element.
3015
+ *
3016
+ * - `"enter name"`: Enter a name for the Place, focusing the name input.
3017
+ * - `"add another"`: Add another Place, leaving the tool still selected.
3018
+ * - `"none"`: Puts the tool down and selects the new Place element.
3019
+ *
3020
+ * @defaultValue `"enter name"`
3021
+ */
3022
+ afterCreation: "enter name" | "add another" | "select";
3023
+ }
3024
+ declare const LineToolSettingsSchema: z.ZodObject<{
3025
+ color: z.ZodString;
3026
+ strokeOpacity: z.ZodNumber;
3027
+ strokeWidth: z.ZodNumber;
3028
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
3029
+ distanceMarker: z.ZodBoolean;
3030
+ }, "strip", z.ZodTypeAny, {
3031
+ color: string;
3032
+ strokeOpacity: number;
3033
+ strokeWidth: number;
3034
+ strokeStyle: "solid" | "dashed" | "dotted";
3035
+ distanceMarker: boolean;
3036
+ }, {
3037
+ color: string;
3038
+ strokeOpacity: number;
3039
+ strokeWidth: number;
3040
+ strokeStyle: "solid" | "dashed" | "dotted";
3041
+ distanceMarker: boolean;
3042
+ }>;
3043
+ interface LineToolSettings extends zInfer<typeof LineToolSettingsSchema> {
3044
+ }
3045
+ declare const RouteToolSettingsSchema: z.ZodObject<{
3046
+ color: z.ZodString;
3047
+ strokeOpacity: z.ZodNumber;
3048
+ strokeWidth: z.ZodNumber;
3049
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
3050
+ distanceMarker: z.ZodBoolean;
3051
+ endCaps: z.ZodBoolean;
3052
+ routingMode: z.ZodNullable<z.ZodEnum<["driving", "cycling", "walking", "flying"]>>;
3053
+ }, "strip", z.ZodTypeAny, {
3054
+ color: string;
3055
+ strokeOpacity: number;
3056
+ strokeWidth: number;
3057
+ strokeStyle: "solid" | "dashed" | "dotted";
3058
+ distanceMarker: boolean;
3059
+ endCaps: boolean;
3060
+ routingMode: "driving" | "cycling" | "walking" | "flying" | null;
3061
+ }, {
3062
+ color: string;
3063
+ strokeOpacity: number;
3064
+ strokeWidth: number;
3065
+ strokeStyle: "solid" | "dashed" | "dotted";
3066
+ distanceMarker: boolean;
3067
+ endCaps: boolean;
3068
+ routingMode: "driving" | "cycling" | "walking" | "flying" | null;
3069
+ }>;
3070
+ interface RouteToolSettings extends zInfer<typeof RouteToolSettingsSchema> {
3071
+ }
3072
+ declare const PolygonToolSettingsSchema: z.ZodObject<{
3073
+ color: z.ZodString;
3074
+ strokeOpacity: z.ZodNumber;
3075
+ strokeWidth: z.ZodNumber;
3076
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
3077
+ fillOpacity: z.ZodNumber;
3078
+ areaMarker: z.ZodBoolean;
3079
+ }, "strip", z.ZodTypeAny, {
3080
+ color: string;
3081
+ strokeOpacity: number;
3082
+ strokeWidth: number;
3083
+ strokeStyle: "solid" | "dashed" | "dotted";
3084
+ fillOpacity: number;
3085
+ areaMarker: boolean;
3086
+ }, {
3087
+ color: string;
3088
+ strokeOpacity: number;
3089
+ strokeWidth: number;
3090
+ strokeStyle: "solid" | "dashed" | "dotted";
3091
+ fillOpacity: number;
3092
+ areaMarker: boolean;
3093
+ }>;
3094
+ interface PolygonToolSettings extends zInfer<typeof PolygonToolSettingsSchema> {
3095
+ }
3096
+ declare const CircleToolSettingsSchema: z.ZodObject<{
3097
+ color: z.ZodString;
3098
+ strokeOpacity: z.ZodNumber;
3099
+ strokeWidth: z.ZodNumber;
3100
+ strokeStyle: z.ZodEnum<["solid", "dashed", "dotted"]>;
3101
+ fillOpacity: z.ZodNumber;
3102
+ radiusMarker: z.ZodBoolean;
3103
+ }, "strip", z.ZodTypeAny, {
3104
+ color: string;
3105
+ strokeOpacity: number;
3106
+ strokeWidth: number;
3107
+ strokeStyle: "solid" | "dashed" | "dotted";
3108
+ fillOpacity: number;
3109
+ radiusMarker: boolean;
3110
+ }, {
3111
+ color: string;
3112
+ strokeOpacity: number;
3113
+ strokeWidth: number;
3114
+ strokeStyle: "solid" | "dashed" | "dotted";
3115
+ fillOpacity: number;
3116
+ radiusMarker: boolean;
3117
+ }>;
3118
+ interface CircleToolSettings extends zInfer<typeof CircleToolSettingsSchema> {
3119
+ }
3120
+ declare const MarkerToolSettingsSchema: z.ZodObject<{
3121
+ color: z.ZodString;
3122
+ opacity: z.ZodNumber;
3123
+ size: z.ZodNumber;
3124
+ }, "strip", z.ZodTypeAny, {
3125
+ color: string;
3126
+ opacity: number;
3127
+ size: number;
3128
+ }, {
3129
+ color: string;
3130
+ opacity: number;
3131
+ size: number;
3132
+ }>;
3133
+ interface MarkerToolSettings extends zInfer<typeof MarkerToolSettingsSchema> {
3134
+ }
3135
+ declare const HighlighterToolSettingsSchema: z.ZodObject<{
3136
+ color: z.ZodString;
3137
+ opacity: z.ZodNumber;
3138
+ size: z.ZodNumber;
3139
+ }, "strip", z.ZodTypeAny, {
3140
+ color: string;
3141
+ opacity: number;
3142
+ size: number;
3143
+ }, {
3144
+ color: string;
3145
+ opacity: number;
3146
+ size: number;
3147
+ }>;
3148
+ interface HighlighterToolSettings extends zInfer<typeof HighlighterToolSettingsSchema> {
3149
+ }
3150
+ declare const TextToolSettingsSchema: z.ZodObject<{
3151
+ color: z.ZodString;
3152
+ align: z.ZodEnum<["left", "center", "right"]>;
3153
+ style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
3154
+ }, "strip", z.ZodTypeAny, {
3155
+ color: string;
3156
+ align: "left" | "center" | "right";
3157
+ style: "italic" | "light" | "regular" | "caps";
3158
+ }, {
3159
+ color: string;
3160
+ align: "left" | "center" | "right";
3161
+ style: "italic" | "light" | "regular" | "caps";
3162
+ }>;
3163
+ interface TextToolSettings extends zInfer<typeof TextToolSettingsSchema> {
3164
+ }
3165
+ declare const NoteToolSettingsSchema: z.ZodObject<{
3166
+ color: z.ZodString;
3167
+ align: z.ZodEnum<["left", "center", "right"]>;
3168
+ style: z.ZodEnum<["italic", "light", "regular", "caps"]>;
3169
+ }, "strip", z.ZodTypeAny, {
3170
+ color: string;
3171
+ align: "left" | "center" | "right";
3172
+ style: "italic" | "light" | "regular" | "caps";
3173
+ }, {
3174
+ color: string;
3175
+ align: "left" | "center" | "right";
3176
+ style: "italic" | "light" | "regular" | "caps";
3177
+ }>;
3178
+ interface NoteToolSettings extends zInfer<typeof NoteToolSettingsSchema> {
3179
+ }
3180
+ /**
3181
+ * The parameters for changing the settings of each tool.
3182
+ */
3183
+ type InputToolSettings = ({
3184
+ tool: "pin";
3185
+ } & Partial<PinToolSettings>) | ({
3186
+ tool: "line";
3187
+ } & Partial<LineToolSettings>) | ({
3188
+ tool: "route";
3189
+ } & Partial<RouteToolSettings>) | ({
3190
+ tool: "polygon";
3191
+ } & Partial<PolygonToolSettings>) | ({
3192
+ tool: "circle";
3193
+ } & Partial<CircleToolSettings>) | ({
3194
+ tool: "marker";
3195
+ } & Partial<MarkerToolSettings>) | ({
3196
+ tool: "highlighter";
3197
+ } & Partial<HighlighterToolSettings>) | ({
3198
+ tool: "text";
3199
+ } & Partial<TextToolSettings>) | ({
3200
+ tool: "note";
3201
+ } & Partial<NoteToolSettings>);
3202
+ /**
3203
+ * The result of listening for changes to the settings of each tool.
3204
+ */
3205
+ type ToolSettingsChangeEvent = ({
3206
+ tool: "pin";
3207
+ } & PinToolSettings) | ({
3208
+ tool: "line";
3209
+ } & LineToolSettings) | ({
3210
+ tool: "route";
3211
+ } & RouteToolSettings) | ({
3212
+ tool: "polygon";
3213
+ } & PolygonToolSettings) | ({
3214
+ tool: "circle";
3215
+ } & CircleToolSettings) | ({
3216
+ tool: "marker";
3217
+ } & MarkerToolSettings) | ({
3218
+ tool: "highlighter";
3219
+ } & HighlighterToolSettings) | ({
3220
+ tool: "text";
3221
+ } & TextToolSettings) | ({
3222
+ tool: "note";
3223
+ } & NoteToolSettings);
3224
+ type ToolSettingsMap = {
3225
+ pin: PinToolSettings;
3226
+ line: LineToolSettings;
3227
+ route: RouteToolSettings;
3228
+ polygon: PolygonToolSettings;
3229
+ circle: CircleToolSettings;
3230
+ marker: MarkerToolSettings;
3231
+ highlighter: HighlighterToolSettings;
3232
+ text: TextToolSettings;
3233
+ note: NoteToolSettings;
3234
+ };
3235
+ type PlaceFrame = "frame-circle" | "frame-square" | null;
3236
+ type PlaceSymbol = "dot" | "square" | "diamond" | "triangle" | "x" | "plus" | "circle-line" | "circle-slash" | "star" | "heart" | "hexagon" | "octagon" | "pedestrian" | "bicycle" | "wheelchair" | "airport" | "car" | "bus" | "train" | "truck" | "ferry" | "sailboat" | "electric-service" | "gas-service" | "blood-clinic" | "badge" | "traffic-light" | "traffic-cone" | "road-sign-caution" | "person" | "restroom" | "house" | "work" | "letter" | "hotel" | "factory" | "hospital" | "religious-facility" | "school" | "government" | "university" | "bank" | "landmark" | "museum" | "clothing" | "shopping" | "store" | "bar" | "pub" | "cafe" | "food" | "park" | "amusement-park" | "camping-tent" | "cabin" | "picnic" | "water-refill" | "trailhead" | "guidepost" | "viewpoint" | "camera" | "us-football" | "football" | "tennis" | "binoculars" | "swimming" | "zap" | "battery-full" | "battery-half" | "battery-low" | "boom" | "radar" | "wind-turbine" | "solar-panel" | "antenna" | "telephone-pole" | "oil-well" | "oil-barrel" | "railroad-track" | "bridge" | "lighthouse" | "lock-closed" | "lock-open" | "wifi" | "trash" | "recycle" | "tree" | "flower" | "leaf" | "fire" | "mountain" | "snowy-mountain" | "volcano" | "island" | "wave" | "hot-springs" | "water" | "lake" | "ocean" | "animal" | "bird" | "duck" | "dog" | "fish" | "beach" | "wetland" | "sun" | "moon" | "cloud" | "partial-sun" | "rain" | "lightning" | "snowflake" | "wind" | "snow" | "fog" | "sleet" | "hurricane" | "warning" | "parking" | "info" | "circle-exclamation" | "circle-triangle" | "circle-x" | "circle-plus" | (`:${string}:` & {});
3237
+
3238
+ /**
3239
+ * The input type for setting the viewport to a particular center and zoom.
3240
+ *
3241
+ * @group Types
3242
+ */
3243
+ interface ViewportCenterZoom extends zInfer<typeof ViewportCenterZoomSchema> {
3244
+ /**
3245
+ * The center of the viewport in latitude and longitude.
3246
+ */
3247
+ center: LatLng;
3248
+ /**
3249
+ * The zoom level of the viewport.
3250
+ */
3251
+ zoom: FeltZoom;
3252
+ }
3253
+ declare const ViewportCenterZoomSchema: z.ZodObject<{
3254
+ center: z.ZodObject<{
3255
+ latitude: z.ZodNumber;
3256
+ longitude: z.ZodNumber;
3257
+ }, "strip", z.ZodTypeAny, {
3258
+ latitude: number;
3259
+ longitude: number;
3260
+ }, {
3261
+ latitude: number;
3262
+ longitude: number;
3263
+ }>;
3264
+ zoom: z.ZodNumber;
3265
+ }, "strip", z.ZodTypeAny, {
3266
+ zoom: number;
3267
+ center: {
3268
+ latitude: number;
3269
+ longitude: number;
3270
+ };
3271
+ }, {
3272
+ zoom: number;
3273
+ center: {
3274
+ latitude: number;
3275
+ longitude: number;
3276
+ };
3277
+ }>;
3278
+ /**
3279
+ * The current state of the viewport, including the derived bounds.
3280
+ *
3281
+ * @group Types
3282
+ */
3283
+ interface ViewportState {
3284
+ /**
3285
+ * The center of the viewport in latitude and longitude.
3286
+ *
3287
+ * {@link LatLng}
3288
+ */
3289
+ center: LatLng;
3290
+ /**
3291
+ * The zoom level of the viewport.
3292
+ *
3293
+ * {@link FeltZoom}
3294
+ */
3295
+ zoom: FeltZoom;
3296
+ /**
3297
+ * The bounding box of the viewport.
3298
+ *
3299
+ * This is derived, and depends on the center and zoom of the viewport, as
3300
+ * well as its size.
3301
+ *
3302
+ * {@link FeltBoundary}
3303
+ */
3304
+ bounds: FeltBoundary;
3305
+ }
3306
+ /**
3307
+ * The parameters for the `setViewport` method.
3308
+ *
3309
+ * @group Types
3310
+ */
3311
+ interface SetViewportCenterZoomParams extends zInfer<typeof SetViewportCenterZoomParamsSchema> {
3312
+ }
3313
+ declare const SetViewportCenterZoomParamsSchema: z.ZodObject<{
3314
+ center: z.ZodOptional<z.ZodObject<{
3315
+ latitude: z.ZodNumber;
3316
+ longitude: z.ZodNumber;
3317
+ }, "strip", z.ZodTypeAny, {
3318
+ latitude: number;
3319
+ longitude: number;
3320
+ }, {
3321
+ latitude: number;
3322
+ longitude: number;
3323
+ }>>;
3324
+ zoom: z.ZodOptional<z.ZodNumber>;
3325
+ }, "strip", z.ZodTypeAny, {
3326
+ zoom?: number | undefined;
3327
+ center?: {
3328
+ latitude: number;
3329
+ longitude: number;
3330
+ } | undefined;
3331
+ }, {
3332
+ zoom?: number | undefined;
3333
+ center?: {
3334
+ latitude: number;
3335
+ longitude: number;
3336
+ } | undefined;
3337
+ }>;
3338
+ /**
3339
+ * The constraints for the viewport. Used to ensure that the viewport stays
3340
+ * within certain bounds and zoom levels.
3341
+ *
3342
+ * @group Types
3343
+ */
3344
+ interface ViewportConstraints {
3345
+ /**
3346
+ * The minimum zoom level for the viewport.
3347
+ *
3348
+ * {@link FeltZoom}
3349
+ */
3350
+ minZoom: FeltZoom | null;
3351
+ /**
3352
+ * The maximum zoom level for the viewport.
3353
+ *
3354
+ * {@link FeltZoom}
3355
+ */
3356
+ maxZoom: FeltZoom | null;
3357
+ /**
3358
+ * The bounds for the viewport.
3359
+ *
3360
+ * {@link FeltBoundary}
3361
+ */
3362
+ bounds: FeltBoundary | null;
3363
+ }
3364
+ /**
3365
+ * The parameters for the `fitViewportToBounds` method.
3366
+ *
3367
+ * @group Types
3368
+ */
3369
+ interface ViewportFitBoundsParams extends zInfer<typeof ViewportFitBoundsParamsSchema> {
3370
+ /**
3371
+ * The bounds to fit the viewport to.
3372
+ *
3373
+ * {@link FeltBoundary}
3374
+ */
3375
+ bounds: FeltBoundary;
3376
+ }
3377
+ declare const ViewportFitBoundsParamsSchema: z.ZodObject<{
3378
+ bounds: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3379
+ }, "strip", z.ZodTypeAny, {
3380
+ bounds: [number, number, number, number];
3381
+ }, {
3382
+ bounds: [number, number, number, number];
3383
+ }>;
3384
+
3385
+ export type { ImageElementCreate as $, AggregationMethod as A, EntityNode as B, FeatureSelection as C, ConfigurableToolType as D, Element as E, Filters as F, GeoJsonGeometry as G, ToolSettingsMap as H, InputToolSettings as I, ToolSettingsChangeEvent as J, zInfer as K, Layer as L, MapInteractionEvent as M, SortConfig as N, SetViewportCenterZoomParams as O, ViewportConstraints as P, ViewportFitBoundsParams as Q, ViewportCenterZoom as R, SetVisibilityRequest as S, ToolType as T, CircleElementCreate as U, ViewportState as V, CircleElementRead as W, CircleElementUpdate as X, HighlighterElementCreate as Y, HighlighterElementRead as Z, HighlighterElementUpdate as _, GetElementsConstraint as a, ImageElementRead as a0, ImageElementUpdate as a1, LinkElementRead as a2, MarkerElementCreate as a3, MarkerElementRead as a4, MarkerElementUpdate as a5, NoteElementCreate as a6, NoteElementRead as a7, NoteElementUpdate as a8, PathElementCreate as a9, GeoJsonProperties as aA, LatLng as aB, LineStringGeometry as aC, LngLatTuple as aD, MultiLineStringGeometry as aE, MultiPointGeometry as aF, MultiPolygonGeometry as aG, PointGeometry as aH, PolygonGeometry as aI, SortDirection as aJ, CircleToolSettings as aK, HighlighterToolSettings as aL, LineToolSettings as aM, MarkerToolSettings as aN, NoteToolSettings as aO, PinToolSettings as aP, PlaceFrame as aQ, PlaceSymbol as aR, PolygonToolSettings as aS, RouteToolSettings as aT, TextToolSettings as aU, UnionToIntersection as aV, PromiseOrNot as aW, PathElementRead as aa, PathElementUpdate as ab, PlaceElementCreate as ac, PlaceElementRead as ad, PlaceElementUpdate as ae, PolygonElementCreate as af, PolygonElementRead as ag, PolygonElementUpdate as ah, TextElementCreate as ai, TextElementRead as aj, TextElementUpdate as ak, LayerProcessingStatus as al, RasterValue as am, FilterExpression as an, FilterLogicGate as ao, FilterTernary as ap, AggregationConfig as aq, MultiAggregationConfig as ar, ValueConfiguration as as, ElementGroupNode as at, ElementNode as au, FeatureNode as av, LayerGroupNode as aw, LayerNode as ax, FeltBoundary as ay, FeltZoom as az, ElementGroup as b, GetElementGroupsConstraint as c, ElementChangeCallbackParams as d, ElementGroupChangeCallbackParams as e, ElementCreate as f, ElementUpdate as g, GetLayersConstraint as h, LayerChangeCallbackParams as i, LayerGroup as j, GetLayerGroupsConstraint as k, LayerGroupChangeCallbackParams as l, LegendItemIdentifier as m, LegendItem as n, LegendItemsConstraint as o, LegendItemChangeCallbackParams as p, LayerFilters as q, GetRenderedFeaturesConstraint as r, LayerFeature as s, GeoJsonFeature as t, GetLayerCategoriesParams as u, GetLayerCategoriesGroup as v, GetLayerHistogramParams as w, GetLayerHistogramBin as x, GetLayerCalculationParams as y, MapDetails as z };