@tileflow/core 0.1.0-alpha.4 → 0.1.0-alpha.5

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.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { z } from 'zod';
2
+
1
3
  type TileflowDensity = 'clean' | 'balanced' | 'dense';
2
4
  type TileflowRoads = 'hidden' | 'soft' | 'standard' | 'detailed';
3
5
  type TileflowLabels = 'none' | 'essential' | 'balanced' | 'full';
@@ -6,27 +8,108 @@ type TileflowTheme = 'standard' | 'light' | 'dark' | 'minimal' | 'osm-bright-2';
6
8
  type TileflowBuildings = 'hidden' | 'flat' | '3d';
7
9
  type TileflowTerrainMode = 'none' | 'hillshade' | '3d';
8
10
  type TileflowTerrainEncoding = 'mapbox' | 'terrarium';
9
- type TileflowThemeName = 'light' | 'dark';
10
- type TileflowThemeMode = TileflowThemeName;
11
+ type TileflowThemeName = string;
12
+ type TileflowThemeMode = 'light' | 'dark';
13
+ type TileflowColor = `#${string}`;
14
+ type TileflowBaseColors = {
15
+ background: TileflowColor;
16
+ land: TileflowColor;
17
+ water: TileflowColor;
18
+ park: TileflowColor;
19
+ building: TileflowColor;
20
+ road: TileflowColor;
21
+ roadMajor: TileflowColor;
22
+ boundary: TileflowColor;
23
+ text: TileflowColor;
24
+ textMuted: TileflowColor;
25
+ textHalo: TileflowColor;
26
+ };
27
+ type LegacyTileflowColorAliases = {
28
+ accent?: TileflowColor;
29
+ canvas?: TileflowColor;
30
+ background?: TileflowColor;
31
+ greenspace?: TileflowColor;
32
+ nature?: TileflowColor;
33
+ park?: TileflowColor;
34
+ roadCasing?: TileflowColor;
35
+ };
36
+ type TileflowRoadColorConfig = {
37
+ bridge?: TileflowColor;
38
+ casing?: TileflowColor;
39
+ ferry?: TileflowColor;
40
+ minor?: TileflowColor;
41
+ motorway?: TileflowColor;
42
+ path?: TileflowColor;
43
+ primary?: TileflowColor;
44
+ rail?: TileflowColor;
45
+ secondary?: TileflowColor;
46
+ trunk?: TileflowColor;
47
+ tunnel?: TileflowColor;
48
+ };
49
+ type TileflowLabelColorConfig = {
50
+ country?: TileflowColor;
51
+ halo?: TileflowColor;
52
+ muted?: TileflowColor;
53
+ poi?: TileflowColor;
54
+ primary?: TileflowColor;
55
+ road?: TileflowColor;
56
+ settlement?: TileflowColor;
57
+ water?: TileflowColor;
58
+ };
59
+ type TileflowLanduseColorConfig = {
60
+ cemetery?: TileflowColor;
61
+ civic?: TileflowColor;
62
+ commercial?: TileflowColor;
63
+ industrial?: TileflowColor;
64
+ residential?: TileflowColor;
65
+ };
66
+ type TileflowLandcoverColorConfig = {
67
+ grass?: TileflowColor;
68
+ ice?: TileflowColor;
69
+ park?: TileflowColor;
70
+ protected?: TileflowColor;
71
+ sand?: TileflowColor;
72
+ wood?: TileflowColor;
73
+ };
74
+ type TileflowHydroColorConfig = {
75
+ ferry?: TileflowColor;
76
+ label?: TileflowColor;
77
+ water?: TileflowColor;
78
+ waterway?: TileflowColor;
79
+ };
80
+ type TileflowBuildingColorConfig = {
81
+ extrusion?: TileflowColor;
82
+ fill?: TileflowColor;
83
+ outline?: TileflowColor;
84
+ };
85
+ type TileflowBoundaryColorConfig = {
86
+ admin?: TileflowColor;
87
+ disputed?: TileflowColor;
88
+ major?: TileflowColor;
89
+ maritime?: TileflowColor;
90
+ };
91
+ type TileflowAdvancedColorConfig = {
92
+ boundaries?: TileflowBoundaryColorConfig;
93
+ buildings?: TileflowBuildingColorConfig;
94
+ hydro?: TileflowHydroColorConfig;
95
+ labels?: TileflowLabelColorConfig;
96
+ landcover?: TileflowLandcoverColorConfig;
97
+ landuse?: TileflowLanduseColorConfig;
98
+ roads?: TileflowRoadColorConfig;
99
+ };
100
+ type TileflowThemeModulesConfig = TileflowAdvancedColorConfig;
101
+ type TileflowColorConfig = Partial<TileflowBaseColors> & LegacyTileflowColorAliases & TileflowAdvancedColorConfig;
11
102
  type TileflowColors = {
103
+ [K in keyof TileflowBaseColors]: string;
104
+ } & {
12
105
  canvas: string;
13
- land: string;
14
- water: string;
106
+ greenspace: string;
15
107
  nature: string;
16
- road: string;
17
- text: string;
18
- accent: string;
19
- };
20
- type LegacyTileflowColorAliases = {
21
- background?: string;
22
- park?: string;
23
- building?: string;
24
- roadCasing?: string;
25
108
  };
26
- type TileflowColorConfig = Partial<TileflowColors> & LegacyTileflowColorAliases;
27
109
  type TileflowFontWeight = 'regular' | 'medium' | 'semibold' | 'bold';
28
110
  type TileflowTypography = {
29
111
  font?: string;
112
+ fontFamily?: string;
30
113
  weight?: TileflowFontWeight;
31
114
  };
32
115
  type TileflowFonts = {
@@ -35,7 +118,11 @@ type TileflowFonts = {
35
118
  };
36
119
  type TileflowThemeConfig = {
37
120
  colors?: TileflowColorConfig;
121
+ extends?: string;
38
122
  fonts?: TileflowFonts;
123
+ layers?: Record<string, TileflowStyleLayerOverride>;
124
+ mode?: TileflowThemeMode;
125
+ modules?: TileflowThemeModulesConfig;
39
126
  typography?: TileflowTypography;
40
127
  };
41
128
  type TileflowSourceLayers = {
@@ -89,13 +176,32 @@ type TileflowRoadsModuleConfig = {
89
176
  preset?: TileflowRoadsModulePreset;
90
177
  };
91
178
  type TileflowRoadsModuleOptions = Omit<TileflowRoadsModuleConfig, 'type'>;
92
- type TileflowModuleConfig = TileflowRoadsModuleConfig;
179
+ type TileflowStyleLayerOverride = Record<string, unknown> & {
180
+ before?: string;
181
+ filter?: unknown;
182
+ layout?: Record<string, unknown>;
183
+ maxzoom?: number;
184
+ metadata?: Record<string, unknown>;
185
+ minzoom?: number;
186
+ paint?: Record<string, unknown>;
187
+ source?: string;
188
+ 'source-layer'?: string;
189
+ type?: string;
190
+ };
191
+ type TileflowStyleOverrideModuleConfig = {
192
+ type: 'styleOverride';
193
+ layers?: Record<string, TileflowStyleLayerOverride>;
194
+ removeLayers?: string[];
195
+ };
196
+ type TileflowStyleOverrideOptions = Omit<TileflowStyleOverrideModuleConfig, 'type'>;
197
+ type TileflowModuleConfig = TileflowRoadsModuleConfig | TileflowStyleOverrideModuleConfig;
93
198
  type TileflowConfig = {
94
199
  basemap?: TileflowBasemapConfig;
95
200
  name?: string;
96
201
  tileset?: string;
97
202
  theme?: TileflowTheme | string | TileflowThemeConfig;
98
203
  modules?: readonly TileflowModuleConfig[];
204
+ layers?: Record<string, TileflowStyleLayerOverride>;
99
205
  colors?: TileflowColorConfig;
100
206
  typography?: TileflowTypography;
101
207
  density?: TileflowDensity;
@@ -123,7 +229,7 @@ type TileflowTilesetConfig = {
123
229
  attribution?: string;
124
230
  sourceLayers?: TileflowSourceLayers;
125
231
  };
126
- type TileflowProjectThemes = Partial<Record<TileflowThemeName, TileflowThemeConfig>>;
232
+ type TileflowProjectThemes = Record<TileflowThemeName, TileflowThemeConfig>;
127
233
  type TileflowProjectConfig = {
128
234
  themes?: TileflowProjectThemes;
129
235
  tilesets?: Record<string, TileflowTilesetConfig>;
@@ -160,19 +266,1065 @@ type ValidationResult = {
160
266
  messages: ValidationMessage[];
161
267
  };
162
268
  declare function createStyle(input?: TileflowConfig, options?: TileflowStyleOptions): MapLibreStyle;
163
- declare function createStyleFromProject(projectConfig: TileflowProjectConfig, mapName: string, options?: TileflowStyleOptions): MapLibreStyle;
269
+ declare function createStyleFromProject<const TProject extends TileflowProjectConfig, const TMapName extends keyof TProject['maps'] & string>(projectConfig: TProject, mapName: TMapName, options?: TileflowStyleOptions): MapLibreStyle;
164
270
  declare function createManifest(projectConfig: TileflowProjectConfig, options?: {
165
271
  styleBaseUrl?: string;
166
272
  tileBaseUrl?: string;
167
273
  }): TileflowManifest;
168
274
  declare function getDefaultColors(): TileflowColors;
169
275
 
276
+ declare const tileflowThemeSchema: z.ZodObject<{
277
+ colors: z.ZodOptional<z.ZodObject<{
278
+ accent: z.ZodOptional<z.ZodString>;
279
+ background: z.ZodOptional<z.ZodString>;
280
+ boundary: z.ZodOptional<z.ZodString>;
281
+ building: z.ZodOptional<z.ZodString>;
282
+ canvas: z.ZodOptional<z.ZodString>;
283
+ greenspace: z.ZodOptional<z.ZodString>;
284
+ land: z.ZodOptional<z.ZodString>;
285
+ nature: z.ZodOptional<z.ZodString>;
286
+ park: z.ZodOptional<z.ZodString>;
287
+ road: z.ZodOptional<z.ZodString>;
288
+ roadCasing: z.ZodOptional<z.ZodString>;
289
+ roadMajor: z.ZodOptional<z.ZodString>;
290
+ text: z.ZodOptional<z.ZodString>;
291
+ textHalo: z.ZodOptional<z.ZodString>;
292
+ textMuted: z.ZodOptional<z.ZodString>;
293
+ water: z.ZodOptional<z.ZodString>;
294
+ boundaries: z.ZodOptional<z.ZodObject<{
295
+ [x: string]: z.ZodOptional<z.ZodString>;
296
+ }, z.core.$strict>>;
297
+ buildings: z.ZodOptional<z.ZodObject<{
298
+ [x: string]: z.ZodOptional<z.ZodString>;
299
+ }, z.core.$strict>>;
300
+ hydro: z.ZodOptional<z.ZodObject<{
301
+ [x: string]: z.ZodOptional<z.ZodString>;
302
+ }, z.core.$strict>>;
303
+ labels: z.ZodOptional<z.ZodObject<{
304
+ [x: string]: z.ZodOptional<z.ZodString>;
305
+ }, z.core.$strict>>;
306
+ landcover: z.ZodOptional<z.ZodObject<{
307
+ [x: string]: z.ZodOptional<z.ZodString>;
308
+ }, z.core.$strict>>;
309
+ landuse: z.ZodOptional<z.ZodObject<{
310
+ [x: string]: z.ZodOptional<z.ZodString>;
311
+ }, z.core.$strict>>;
312
+ roads: z.ZodOptional<z.ZodObject<{
313
+ [x: string]: z.ZodOptional<z.ZodString>;
314
+ }, z.core.$strict>>;
315
+ }, z.core.$strict>>;
316
+ extends: z.ZodOptional<z.ZodString>;
317
+ fonts: z.ZodOptional<z.ZodObject<{
318
+ body: z.ZodOptional<z.ZodString>;
319
+ labels: z.ZodOptional<z.ZodString>;
320
+ }, z.core.$strict>>;
321
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
322
+ before: z.ZodOptional<z.ZodString>;
323
+ filter: z.ZodOptional<z.ZodUnknown>;
324
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
325
+ maxzoom: z.ZodOptional<z.ZodNumber>;
326
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
327
+ minzoom: z.ZodOptional<z.ZodNumber>;
328
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
329
+ source: z.ZodOptional<z.ZodString>;
330
+ 'source-layer': z.ZodOptional<z.ZodString>;
331
+ type: z.ZodOptional<z.ZodString>;
332
+ }, z.core.$catchall<z.ZodUnknown>>>>;
333
+ mode: z.ZodOptional<z.ZodEnum<{
334
+ light: "light";
335
+ dark: "dark";
336
+ }>>;
337
+ modules: z.ZodOptional<z.ZodObject<{
338
+ boundaries: z.ZodOptional<z.ZodObject<{
339
+ [x: string]: z.ZodOptional<z.ZodString>;
340
+ }, z.core.$strict>>;
341
+ buildings: z.ZodOptional<z.ZodObject<{
342
+ [x: string]: z.ZodOptional<z.ZodString>;
343
+ }, z.core.$strict>>;
344
+ hydro: z.ZodOptional<z.ZodObject<{
345
+ [x: string]: z.ZodOptional<z.ZodString>;
346
+ }, z.core.$strict>>;
347
+ labels: z.ZodOptional<z.ZodObject<{
348
+ [x: string]: z.ZodOptional<z.ZodString>;
349
+ }, z.core.$strict>>;
350
+ landcover: z.ZodOptional<z.ZodObject<{
351
+ [x: string]: z.ZodOptional<z.ZodString>;
352
+ }, z.core.$strict>>;
353
+ landuse: z.ZodOptional<z.ZodObject<{
354
+ [x: string]: z.ZodOptional<z.ZodString>;
355
+ }, z.core.$strict>>;
356
+ roads: z.ZodOptional<z.ZodObject<{
357
+ [x: string]: z.ZodOptional<z.ZodString>;
358
+ }, z.core.$strict>>;
359
+ }, z.core.$strict>>;
360
+ typography: z.ZodOptional<z.ZodObject<{
361
+ font: z.ZodOptional<z.ZodString>;
362
+ fontFamily: z.ZodOptional<z.ZodString>;
363
+ weight: z.ZodOptional<z.ZodEnum<{
364
+ regular: "regular";
365
+ medium: "medium";
366
+ semibold: "semibold";
367
+ bold: "bold";
368
+ }>>;
369
+ }, z.core.$strict>>;
370
+ }, z.core.$strict>;
371
+ declare const tileflowMapSchema: z.ZodObject<{
372
+ basemap: z.ZodOptional<z.ZodObject<{
373
+ type: z.ZodLiteral<"osm">;
374
+ attribution: z.ZodOptional<z.ZodString>;
375
+ glyphs: z.ZodOptional<z.ZodString>;
376
+ sourceId: z.ZodOptional<z.ZodString>;
377
+ sourceLayers: z.ZodOptional<z.ZodObject<{
378
+ landuse: z.ZodOptional<z.ZodString>;
379
+ park: z.ZodOptional<z.ZodString>;
380
+ water: z.ZodOptional<z.ZodString>;
381
+ road: z.ZodOptional<z.ZodString>;
382
+ building: z.ZodOptional<z.ZodString>;
383
+ boundary: z.ZodOptional<z.ZodString>;
384
+ place: z.ZodOptional<z.ZodString>;
385
+ poi: z.ZodOptional<z.ZodString>;
386
+ }, z.core.$strict>>;
387
+ sprite: z.ZodOptional<z.ZodString>;
388
+ tileset: z.ZodOptional<z.ZodString>;
389
+ url: z.ZodOptional<z.ZodURL>;
390
+ }, z.core.$strict>>;
391
+ name: z.ZodOptional<z.ZodString>;
392
+ tileset: z.ZodOptional<z.ZodString>;
393
+ theme: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
394
+ colors: z.ZodOptional<z.ZodObject<{
395
+ accent: z.ZodOptional<z.ZodString>;
396
+ background: z.ZodOptional<z.ZodString>;
397
+ boundary: z.ZodOptional<z.ZodString>;
398
+ building: z.ZodOptional<z.ZodString>;
399
+ canvas: z.ZodOptional<z.ZodString>;
400
+ greenspace: z.ZodOptional<z.ZodString>;
401
+ land: z.ZodOptional<z.ZodString>;
402
+ nature: z.ZodOptional<z.ZodString>;
403
+ park: z.ZodOptional<z.ZodString>;
404
+ road: z.ZodOptional<z.ZodString>;
405
+ roadCasing: z.ZodOptional<z.ZodString>;
406
+ roadMajor: z.ZodOptional<z.ZodString>;
407
+ text: z.ZodOptional<z.ZodString>;
408
+ textHalo: z.ZodOptional<z.ZodString>;
409
+ textMuted: z.ZodOptional<z.ZodString>;
410
+ water: z.ZodOptional<z.ZodString>;
411
+ boundaries: z.ZodOptional<z.ZodObject<{
412
+ [x: string]: z.ZodOptional<z.ZodString>;
413
+ }, z.core.$strict>>;
414
+ buildings: z.ZodOptional<z.ZodObject<{
415
+ [x: string]: z.ZodOptional<z.ZodString>;
416
+ }, z.core.$strict>>;
417
+ hydro: z.ZodOptional<z.ZodObject<{
418
+ [x: string]: z.ZodOptional<z.ZodString>;
419
+ }, z.core.$strict>>;
420
+ labels: z.ZodOptional<z.ZodObject<{
421
+ [x: string]: z.ZodOptional<z.ZodString>;
422
+ }, z.core.$strict>>;
423
+ landcover: z.ZodOptional<z.ZodObject<{
424
+ [x: string]: z.ZodOptional<z.ZodString>;
425
+ }, z.core.$strict>>;
426
+ landuse: z.ZodOptional<z.ZodObject<{
427
+ [x: string]: z.ZodOptional<z.ZodString>;
428
+ }, z.core.$strict>>;
429
+ roads: z.ZodOptional<z.ZodObject<{
430
+ [x: string]: z.ZodOptional<z.ZodString>;
431
+ }, z.core.$strict>>;
432
+ }, z.core.$strict>>;
433
+ extends: z.ZodOptional<z.ZodString>;
434
+ fonts: z.ZodOptional<z.ZodObject<{
435
+ body: z.ZodOptional<z.ZodString>;
436
+ labels: z.ZodOptional<z.ZodString>;
437
+ }, z.core.$strict>>;
438
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
439
+ before: z.ZodOptional<z.ZodString>;
440
+ filter: z.ZodOptional<z.ZodUnknown>;
441
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
442
+ maxzoom: z.ZodOptional<z.ZodNumber>;
443
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
444
+ minzoom: z.ZodOptional<z.ZodNumber>;
445
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
446
+ source: z.ZodOptional<z.ZodString>;
447
+ 'source-layer': z.ZodOptional<z.ZodString>;
448
+ type: z.ZodOptional<z.ZodString>;
449
+ }, z.core.$catchall<z.ZodUnknown>>>>;
450
+ mode: z.ZodOptional<z.ZodEnum<{
451
+ light: "light";
452
+ dark: "dark";
453
+ }>>;
454
+ modules: z.ZodOptional<z.ZodObject<{
455
+ boundaries: z.ZodOptional<z.ZodObject<{
456
+ [x: string]: z.ZodOptional<z.ZodString>;
457
+ }, z.core.$strict>>;
458
+ buildings: z.ZodOptional<z.ZodObject<{
459
+ [x: string]: z.ZodOptional<z.ZodString>;
460
+ }, z.core.$strict>>;
461
+ hydro: z.ZodOptional<z.ZodObject<{
462
+ [x: string]: z.ZodOptional<z.ZodString>;
463
+ }, z.core.$strict>>;
464
+ labels: z.ZodOptional<z.ZodObject<{
465
+ [x: string]: z.ZodOptional<z.ZodString>;
466
+ }, z.core.$strict>>;
467
+ landcover: z.ZodOptional<z.ZodObject<{
468
+ [x: string]: z.ZodOptional<z.ZodString>;
469
+ }, z.core.$strict>>;
470
+ landuse: z.ZodOptional<z.ZodObject<{
471
+ [x: string]: z.ZodOptional<z.ZodString>;
472
+ }, z.core.$strict>>;
473
+ roads: z.ZodOptional<z.ZodObject<{
474
+ [x: string]: z.ZodOptional<z.ZodString>;
475
+ }, z.core.$strict>>;
476
+ }, z.core.$strict>>;
477
+ typography: z.ZodOptional<z.ZodObject<{
478
+ font: z.ZodOptional<z.ZodString>;
479
+ fontFamily: z.ZodOptional<z.ZodString>;
480
+ weight: z.ZodOptional<z.ZodEnum<{
481
+ regular: "regular";
482
+ medium: "medium";
483
+ semibold: "semibold";
484
+ bold: "bold";
485
+ }>>;
486
+ }, z.core.$strict>>;
487
+ }, z.core.$strict>]>>;
488
+ modules: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
489
+ type: z.ZodLiteral<"roads">;
490
+ density: z.ZodOptional<z.ZodEnum<{
491
+ clean: "clean";
492
+ balanced: "balanced";
493
+ dense: "dense";
494
+ }>>;
495
+ preset: z.ZodOptional<z.ZodEnum<{
496
+ minimal: "minimal";
497
+ modern: "modern";
498
+ }>>;
499
+ }, z.core.$strict>, z.ZodObject<{
500
+ type: z.ZodLiteral<"styleOverride">;
501
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
502
+ before: z.ZodOptional<z.ZodString>;
503
+ filter: z.ZodOptional<z.ZodUnknown>;
504
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
505
+ maxzoom: z.ZodOptional<z.ZodNumber>;
506
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
507
+ minzoom: z.ZodOptional<z.ZodNumber>;
508
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
509
+ source: z.ZodOptional<z.ZodString>;
510
+ 'source-layer': z.ZodOptional<z.ZodString>;
511
+ type: z.ZodOptional<z.ZodString>;
512
+ }, z.core.$catchall<z.ZodUnknown>>>>;
513
+ removeLayers: z.ZodOptional<z.ZodArray<z.ZodString>>;
514
+ }, z.core.$strict>], "type">>>;
515
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
516
+ before: z.ZodOptional<z.ZodString>;
517
+ filter: z.ZodOptional<z.ZodUnknown>;
518
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
519
+ maxzoom: z.ZodOptional<z.ZodNumber>;
520
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
521
+ minzoom: z.ZodOptional<z.ZodNumber>;
522
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
523
+ source: z.ZodOptional<z.ZodString>;
524
+ 'source-layer': z.ZodOptional<z.ZodString>;
525
+ type: z.ZodOptional<z.ZodString>;
526
+ }, z.core.$catchall<z.ZodUnknown>>>>;
527
+ colors: z.ZodOptional<z.ZodObject<{
528
+ accent: z.ZodOptional<z.ZodString>;
529
+ background: z.ZodOptional<z.ZodString>;
530
+ boundary: z.ZodOptional<z.ZodString>;
531
+ building: z.ZodOptional<z.ZodString>;
532
+ canvas: z.ZodOptional<z.ZodString>;
533
+ greenspace: z.ZodOptional<z.ZodString>;
534
+ land: z.ZodOptional<z.ZodString>;
535
+ nature: z.ZodOptional<z.ZodString>;
536
+ park: z.ZodOptional<z.ZodString>;
537
+ road: z.ZodOptional<z.ZodString>;
538
+ roadCasing: z.ZodOptional<z.ZodString>;
539
+ roadMajor: z.ZodOptional<z.ZodString>;
540
+ text: z.ZodOptional<z.ZodString>;
541
+ textHalo: z.ZodOptional<z.ZodString>;
542
+ textMuted: z.ZodOptional<z.ZodString>;
543
+ water: z.ZodOptional<z.ZodString>;
544
+ boundaries: z.ZodOptional<z.ZodObject<{
545
+ [x: string]: z.ZodOptional<z.ZodString>;
546
+ }, z.core.$strict>>;
547
+ buildings: z.ZodOptional<z.ZodObject<{
548
+ [x: string]: z.ZodOptional<z.ZodString>;
549
+ }, z.core.$strict>>;
550
+ hydro: z.ZodOptional<z.ZodObject<{
551
+ [x: string]: z.ZodOptional<z.ZodString>;
552
+ }, z.core.$strict>>;
553
+ labels: z.ZodOptional<z.ZodObject<{
554
+ [x: string]: z.ZodOptional<z.ZodString>;
555
+ }, z.core.$strict>>;
556
+ landcover: z.ZodOptional<z.ZodObject<{
557
+ [x: string]: z.ZodOptional<z.ZodString>;
558
+ }, z.core.$strict>>;
559
+ landuse: z.ZodOptional<z.ZodObject<{
560
+ [x: string]: z.ZodOptional<z.ZodString>;
561
+ }, z.core.$strict>>;
562
+ roads: z.ZodOptional<z.ZodObject<{
563
+ [x: string]: z.ZodOptional<z.ZodString>;
564
+ }, z.core.$strict>>;
565
+ }, z.core.$strict>>;
566
+ typography: z.ZodOptional<z.ZodObject<{
567
+ font: z.ZodOptional<z.ZodString>;
568
+ fontFamily: z.ZodOptional<z.ZodString>;
569
+ weight: z.ZodOptional<z.ZodEnum<{
570
+ regular: "regular";
571
+ medium: "medium";
572
+ semibold: "semibold";
573
+ bold: "bold";
574
+ }>>;
575
+ }, z.core.$strict>>;
576
+ density: z.ZodOptional<z.ZodEnum<{
577
+ clean: "clean";
578
+ balanced: "balanced";
579
+ dense: "dense";
580
+ }>>;
581
+ roads: z.ZodOptional<z.ZodEnum<{
582
+ hidden: "hidden";
583
+ soft: "soft";
584
+ standard: "standard";
585
+ detailed: "detailed";
586
+ }>>;
587
+ labels: z.ZodOptional<z.ZodEnum<{
588
+ balanced: "balanced";
589
+ none: "none";
590
+ essential: "essential";
591
+ full: "full";
592
+ }>>;
593
+ poi: z.ZodOptional<z.ZodEnum<{
594
+ balanced: "balanced";
595
+ none: "none";
596
+ full: "full";
597
+ minimal: "minimal";
598
+ }>>;
599
+ buildings: z.ZodOptional<z.ZodEnum<{
600
+ hidden: "hidden";
601
+ flat: "flat";
602
+ "3d": "3d";
603
+ }>>;
604
+ terrain: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
605
+ none: "none";
606
+ "3d": "3d";
607
+ hillshade: "hillshade";
608
+ }>, z.ZodObject<{
609
+ attribution: z.ZodOptional<z.ZodString>;
610
+ encoding: z.ZodOptional<z.ZodEnum<{
611
+ mapbox: "mapbox";
612
+ terrarium: "terrarium";
613
+ }>>;
614
+ exaggeration: z.ZodOptional<z.ZodNumber>;
615
+ mode: z.ZodOptional<z.ZodEnum<{
616
+ none: "none";
617
+ "3d": "3d";
618
+ hillshade: "hillshade";
619
+ }>>;
620
+ sourceId: z.ZodOptional<z.ZodString>;
621
+ tileset: z.ZodOptional<z.ZodString>;
622
+ url: z.ZodOptional<z.ZodURL>;
623
+ }, z.core.$strict>]>>;
624
+ glyphs: z.ZodOptional<z.ZodString>;
625
+ sprite: z.ZodOptional<z.ZodString>;
626
+ tiles: z.ZodOptional<z.ZodObject<{
627
+ sourceId: z.ZodOptional<z.ZodString>;
628
+ tileset: z.ZodOptional<z.ZodString>;
629
+ url: z.ZodOptional<z.ZodURL>;
630
+ attribution: z.ZodOptional<z.ZodString>;
631
+ sourceLayers: z.ZodOptional<z.ZodObject<{
632
+ landuse: z.ZodOptional<z.ZodString>;
633
+ park: z.ZodOptional<z.ZodString>;
634
+ water: z.ZodOptional<z.ZodString>;
635
+ road: z.ZodOptional<z.ZodString>;
636
+ building: z.ZodOptional<z.ZodString>;
637
+ boundary: z.ZodOptional<z.ZodString>;
638
+ place: z.ZodOptional<z.ZodString>;
639
+ poi: z.ZodOptional<z.ZodString>;
640
+ }, z.core.$strict>>;
641
+ }, z.core.$strict>>;
642
+ view: z.ZodOptional<z.ZodObject<{
643
+ bearing: z.ZodOptional<z.ZodNumber>;
644
+ center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
645
+ zoom: z.ZodOptional<z.ZodNumber>;
646
+ }, z.core.$strict>>;
647
+ allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
648
+ }, z.core.$strict>;
649
+ declare const configSchema: z.ZodObject<{
650
+ basemap: z.ZodOptional<z.ZodObject<{
651
+ type: z.ZodLiteral<"osm">;
652
+ attribution: z.ZodOptional<z.ZodString>;
653
+ glyphs: z.ZodOptional<z.ZodString>;
654
+ sourceId: z.ZodOptional<z.ZodString>;
655
+ sourceLayers: z.ZodOptional<z.ZodObject<{
656
+ landuse: z.ZodOptional<z.ZodString>;
657
+ park: z.ZodOptional<z.ZodString>;
658
+ water: z.ZodOptional<z.ZodString>;
659
+ road: z.ZodOptional<z.ZodString>;
660
+ building: z.ZodOptional<z.ZodString>;
661
+ boundary: z.ZodOptional<z.ZodString>;
662
+ place: z.ZodOptional<z.ZodString>;
663
+ poi: z.ZodOptional<z.ZodString>;
664
+ }, z.core.$strict>>;
665
+ sprite: z.ZodOptional<z.ZodString>;
666
+ tileset: z.ZodOptional<z.ZodString>;
667
+ url: z.ZodOptional<z.ZodURL>;
668
+ }, z.core.$strict>>;
669
+ name: z.ZodOptional<z.ZodString>;
670
+ tileset: z.ZodOptional<z.ZodString>;
671
+ theme: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
672
+ colors: z.ZodOptional<z.ZodObject<{
673
+ accent: z.ZodOptional<z.ZodString>;
674
+ background: z.ZodOptional<z.ZodString>;
675
+ boundary: z.ZodOptional<z.ZodString>;
676
+ building: z.ZodOptional<z.ZodString>;
677
+ canvas: z.ZodOptional<z.ZodString>;
678
+ greenspace: z.ZodOptional<z.ZodString>;
679
+ land: z.ZodOptional<z.ZodString>;
680
+ nature: z.ZodOptional<z.ZodString>;
681
+ park: z.ZodOptional<z.ZodString>;
682
+ road: z.ZodOptional<z.ZodString>;
683
+ roadCasing: z.ZodOptional<z.ZodString>;
684
+ roadMajor: z.ZodOptional<z.ZodString>;
685
+ text: z.ZodOptional<z.ZodString>;
686
+ textHalo: z.ZodOptional<z.ZodString>;
687
+ textMuted: z.ZodOptional<z.ZodString>;
688
+ water: z.ZodOptional<z.ZodString>;
689
+ boundaries: z.ZodOptional<z.ZodObject<{
690
+ [x: string]: z.ZodOptional<z.ZodString>;
691
+ }, z.core.$strict>>;
692
+ buildings: z.ZodOptional<z.ZodObject<{
693
+ [x: string]: z.ZodOptional<z.ZodString>;
694
+ }, z.core.$strict>>;
695
+ hydro: z.ZodOptional<z.ZodObject<{
696
+ [x: string]: z.ZodOptional<z.ZodString>;
697
+ }, z.core.$strict>>;
698
+ labels: z.ZodOptional<z.ZodObject<{
699
+ [x: string]: z.ZodOptional<z.ZodString>;
700
+ }, z.core.$strict>>;
701
+ landcover: z.ZodOptional<z.ZodObject<{
702
+ [x: string]: z.ZodOptional<z.ZodString>;
703
+ }, z.core.$strict>>;
704
+ landuse: z.ZodOptional<z.ZodObject<{
705
+ [x: string]: z.ZodOptional<z.ZodString>;
706
+ }, z.core.$strict>>;
707
+ roads: z.ZodOptional<z.ZodObject<{
708
+ [x: string]: z.ZodOptional<z.ZodString>;
709
+ }, z.core.$strict>>;
710
+ }, z.core.$strict>>;
711
+ extends: z.ZodOptional<z.ZodString>;
712
+ fonts: z.ZodOptional<z.ZodObject<{
713
+ body: z.ZodOptional<z.ZodString>;
714
+ labels: z.ZodOptional<z.ZodString>;
715
+ }, z.core.$strict>>;
716
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
717
+ before: z.ZodOptional<z.ZodString>;
718
+ filter: z.ZodOptional<z.ZodUnknown>;
719
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
720
+ maxzoom: z.ZodOptional<z.ZodNumber>;
721
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
722
+ minzoom: z.ZodOptional<z.ZodNumber>;
723
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
724
+ source: z.ZodOptional<z.ZodString>;
725
+ 'source-layer': z.ZodOptional<z.ZodString>;
726
+ type: z.ZodOptional<z.ZodString>;
727
+ }, z.core.$catchall<z.ZodUnknown>>>>;
728
+ mode: z.ZodOptional<z.ZodEnum<{
729
+ light: "light";
730
+ dark: "dark";
731
+ }>>;
732
+ modules: z.ZodOptional<z.ZodObject<{
733
+ boundaries: z.ZodOptional<z.ZodObject<{
734
+ [x: string]: z.ZodOptional<z.ZodString>;
735
+ }, z.core.$strict>>;
736
+ buildings: z.ZodOptional<z.ZodObject<{
737
+ [x: string]: z.ZodOptional<z.ZodString>;
738
+ }, z.core.$strict>>;
739
+ hydro: z.ZodOptional<z.ZodObject<{
740
+ [x: string]: z.ZodOptional<z.ZodString>;
741
+ }, z.core.$strict>>;
742
+ labels: z.ZodOptional<z.ZodObject<{
743
+ [x: string]: z.ZodOptional<z.ZodString>;
744
+ }, z.core.$strict>>;
745
+ landcover: z.ZodOptional<z.ZodObject<{
746
+ [x: string]: z.ZodOptional<z.ZodString>;
747
+ }, z.core.$strict>>;
748
+ landuse: z.ZodOptional<z.ZodObject<{
749
+ [x: string]: z.ZodOptional<z.ZodString>;
750
+ }, z.core.$strict>>;
751
+ roads: z.ZodOptional<z.ZodObject<{
752
+ [x: string]: z.ZodOptional<z.ZodString>;
753
+ }, z.core.$strict>>;
754
+ }, z.core.$strict>>;
755
+ typography: z.ZodOptional<z.ZodObject<{
756
+ font: z.ZodOptional<z.ZodString>;
757
+ fontFamily: z.ZodOptional<z.ZodString>;
758
+ weight: z.ZodOptional<z.ZodEnum<{
759
+ regular: "regular";
760
+ medium: "medium";
761
+ semibold: "semibold";
762
+ bold: "bold";
763
+ }>>;
764
+ }, z.core.$strict>>;
765
+ }, z.core.$strict>]>>;
766
+ modules: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
767
+ type: z.ZodLiteral<"roads">;
768
+ density: z.ZodOptional<z.ZodEnum<{
769
+ clean: "clean";
770
+ balanced: "balanced";
771
+ dense: "dense";
772
+ }>>;
773
+ preset: z.ZodOptional<z.ZodEnum<{
774
+ minimal: "minimal";
775
+ modern: "modern";
776
+ }>>;
777
+ }, z.core.$strict>, z.ZodObject<{
778
+ type: z.ZodLiteral<"styleOverride">;
779
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
780
+ before: z.ZodOptional<z.ZodString>;
781
+ filter: z.ZodOptional<z.ZodUnknown>;
782
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
783
+ maxzoom: z.ZodOptional<z.ZodNumber>;
784
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
785
+ minzoom: z.ZodOptional<z.ZodNumber>;
786
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
787
+ source: z.ZodOptional<z.ZodString>;
788
+ 'source-layer': z.ZodOptional<z.ZodString>;
789
+ type: z.ZodOptional<z.ZodString>;
790
+ }, z.core.$catchall<z.ZodUnknown>>>>;
791
+ removeLayers: z.ZodOptional<z.ZodArray<z.ZodString>>;
792
+ }, z.core.$strict>], "type">>>;
793
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
794
+ before: z.ZodOptional<z.ZodString>;
795
+ filter: z.ZodOptional<z.ZodUnknown>;
796
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
797
+ maxzoom: z.ZodOptional<z.ZodNumber>;
798
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
799
+ minzoom: z.ZodOptional<z.ZodNumber>;
800
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
801
+ source: z.ZodOptional<z.ZodString>;
802
+ 'source-layer': z.ZodOptional<z.ZodString>;
803
+ type: z.ZodOptional<z.ZodString>;
804
+ }, z.core.$catchall<z.ZodUnknown>>>>;
805
+ colors: z.ZodOptional<z.ZodObject<{
806
+ accent: z.ZodOptional<z.ZodString>;
807
+ background: z.ZodOptional<z.ZodString>;
808
+ boundary: z.ZodOptional<z.ZodString>;
809
+ building: z.ZodOptional<z.ZodString>;
810
+ canvas: z.ZodOptional<z.ZodString>;
811
+ greenspace: z.ZodOptional<z.ZodString>;
812
+ land: z.ZodOptional<z.ZodString>;
813
+ nature: z.ZodOptional<z.ZodString>;
814
+ park: z.ZodOptional<z.ZodString>;
815
+ road: z.ZodOptional<z.ZodString>;
816
+ roadCasing: z.ZodOptional<z.ZodString>;
817
+ roadMajor: z.ZodOptional<z.ZodString>;
818
+ text: z.ZodOptional<z.ZodString>;
819
+ textHalo: z.ZodOptional<z.ZodString>;
820
+ textMuted: z.ZodOptional<z.ZodString>;
821
+ water: z.ZodOptional<z.ZodString>;
822
+ boundaries: z.ZodOptional<z.ZodObject<{
823
+ [x: string]: z.ZodOptional<z.ZodString>;
824
+ }, z.core.$strict>>;
825
+ buildings: z.ZodOptional<z.ZodObject<{
826
+ [x: string]: z.ZodOptional<z.ZodString>;
827
+ }, z.core.$strict>>;
828
+ hydro: z.ZodOptional<z.ZodObject<{
829
+ [x: string]: z.ZodOptional<z.ZodString>;
830
+ }, z.core.$strict>>;
831
+ labels: z.ZodOptional<z.ZodObject<{
832
+ [x: string]: z.ZodOptional<z.ZodString>;
833
+ }, z.core.$strict>>;
834
+ landcover: z.ZodOptional<z.ZodObject<{
835
+ [x: string]: z.ZodOptional<z.ZodString>;
836
+ }, z.core.$strict>>;
837
+ landuse: z.ZodOptional<z.ZodObject<{
838
+ [x: string]: z.ZodOptional<z.ZodString>;
839
+ }, z.core.$strict>>;
840
+ roads: z.ZodOptional<z.ZodObject<{
841
+ [x: string]: z.ZodOptional<z.ZodString>;
842
+ }, z.core.$strict>>;
843
+ }, z.core.$strict>>;
844
+ typography: z.ZodOptional<z.ZodObject<{
845
+ font: z.ZodOptional<z.ZodString>;
846
+ fontFamily: z.ZodOptional<z.ZodString>;
847
+ weight: z.ZodOptional<z.ZodEnum<{
848
+ regular: "regular";
849
+ medium: "medium";
850
+ semibold: "semibold";
851
+ bold: "bold";
852
+ }>>;
853
+ }, z.core.$strict>>;
854
+ density: z.ZodOptional<z.ZodEnum<{
855
+ clean: "clean";
856
+ balanced: "balanced";
857
+ dense: "dense";
858
+ }>>;
859
+ roads: z.ZodOptional<z.ZodEnum<{
860
+ hidden: "hidden";
861
+ soft: "soft";
862
+ standard: "standard";
863
+ detailed: "detailed";
864
+ }>>;
865
+ labels: z.ZodOptional<z.ZodEnum<{
866
+ balanced: "balanced";
867
+ none: "none";
868
+ essential: "essential";
869
+ full: "full";
870
+ }>>;
871
+ poi: z.ZodOptional<z.ZodEnum<{
872
+ balanced: "balanced";
873
+ none: "none";
874
+ full: "full";
875
+ minimal: "minimal";
876
+ }>>;
877
+ buildings: z.ZodOptional<z.ZodEnum<{
878
+ hidden: "hidden";
879
+ flat: "flat";
880
+ "3d": "3d";
881
+ }>>;
882
+ terrain: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
883
+ none: "none";
884
+ "3d": "3d";
885
+ hillshade: "hillshade";
886
+ }>, z.ZodObject<{
887
+ attribution: z.ZodOptional<z.ZodString>;
888
+ encoding: z.ZodOptional<z.ZodEnum<{
889
+ mapbox: "mapbox";
890
+ terrarium: "terrarium";
891
+ }>>;
892
+ exaggeration: z.ZodOptional<z.ZodNumber>;
893
+ mode: z.ZodOptional<z.ZodEnum<{
894
+ none: "none";
895
+ "3d": "3d";
896
+ hillshade: "hillshade";
897
+ }>>;
898
+ sourceId: z.ZodOptional<z.ZodString>;
899
+ tileset: z.ZodOptional<z.ZodString>;
900
+ url: z.ZodOptional<z.ZodURL>;
901
+ }, z.core.$strict>]>>;
902
+ glyphs: z.ZodOptional<z.ZodString>;
903
+ sprite: z.ZodOptional<z.ZodString>;
904
+ tiles: z.ZodOptional<z.ZodObject<{
905
+ sourceId: z.ZodOptional<z.ZodString>;
906
+ tileset: z.ZodOptional<z.ZodString>;
907
+ url: z.ZodOptional<z.ZodURL>;
908
+ attribution: z.ZodOptional<z.ZodString>;
909
+ sourceLayers: z.ZodOptional<z.ZodObject<{
910
+ landuse: z.ZodOptional<z.ZodString>;
911
+ park: z.ZodOptional<z.ZodString>;
912
+ water: z.ZodOptional<z.ZodString>;
913
+ road: z.ZodOptional<z.ZodString>;
914
+ building: z.ZodOptional<z.ZodString>;
915
+ boundary: z.ZodOptional<z.ZodString>;
916
+ place: z.ZodOptional<z.ZodString>;
917
+ poi: z.ZodOptional<z.ZodString>;
918
+ }, z.core.$strict>>;
919
+ }, z.core.$strict>>;
920
+ view: z.ZodOptional<z.ZodObject<{
921
+ bearing: z.ZodOptional<z.ZodNumber>;
922
+ center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
923
+ zoom: z.ZodOptional<z.ZodNumber>;
924
+ }, z.core.$strict>>;
925
+ allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
926
+ }, z.core.$strict>;
927
+ declare const tileflowProjectSchema: z.ZodObject<{
928
+ themes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
929
+ colors: z.ZodOptional<z.ZodObject<{
930
+ accent: z.ZodOptional<z.ZodString>;
931
+ background: z.ZodOptional<z.ZodString>;
932
+ boundary: z.ZodOptional<z.ZodString>;
933
+ building: z.ZodOptional<z.ZodString>;
934
+ canvas: z.ZodOptional<z.ZodString>;
935
+ greenspace: z.ZodOptional<z.ZodString>;
936
+ land: z.ZodOptional<z.ZodString>;
937
+ nature: z.ZodOptional<z.ZodString>;
938
+ park: z.ZodOptional<z.ZodString>;
939
+ road: z.ZodOptional<z.ZodString>;
940
+ roadCasing: z.ZodOptional<z.ZodString>;
941
+ roadMajor: z.ZodOptional<z.ZodString>;
942
+ text: z.ZodOptional<z.ZodString>;
943
+ textHalo: z.ZodOptional<z.ZodString>;
944
+ textMuted: z.ZodOptional<z.ZodString>;
945
+ water: z.ZodOptional<z.ZodString>;
946
+ boundaries: z.ZodOptional<z.ZodObject<{
947
+ [x: string]: z.ZodOptional<z.ZodString>;
948
+ }, z.core.$strict>>;
949
+ buildings: z.ZodOptional<z.ZodObject<{
950
+ [x: string]: z.ZodOptional<z.ZodString>;
951
+ }, z.core.$strict>>;
952
+ hydro: z.ZodOptional<z.ZodObject<{
953
+ [x: string]: z.ZodOptional<z.ZodString>;
954
+ }, z.core.$strict>>;
955
+ labels: z.ZodOptional<z.ZodObject<{
956
+ [x: string]: z.ZodOptional<z.ZodString>;
957
+ }, z.core.$strict>>;
958
+ landcover: z.ZodOptional<z.ZodObject<{
959
+ [x: string]: z.ZodOptional<z.ZodString>;
960
+ }, z.core.$strict>>;
961
+ landuse: z.ZodOptional<z.ZodObject<{
962
+ [x: string]: z.ZodOptional<z.ZodString>;
963
+ }, z.core.$strict>>;
964
+ roads: z.ZodOptional<z.ZodObject<{
965
+ [x: string]: z.ZodOptional<z.ZodString>;
966
+ }, z.core.$strict>>;
967
+ }, z.core.$strict>>;
968
+ extends: z.ZodOptional<z.ZodString>;
969
+ fonts: z.ZodOptional<z.ZodObject<{
970
+ body: z.ZodOptional<z.ZodString>;
971
+ labels: z.ZodOptional<z.ZodString>;
972
+ }, z.core.$strict>>;
973
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
974
+ before: z.ZodOptional<z.ZodString>;
975
+ filter: z.ZodOptional<z.ZodUnknown>;
976
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
977
+ maxzoom: z.ZodOptional<z.ZodNumber>;
978
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
979
+ minzoom: z.ZodOptional<z.ZodNumber>;
980
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
981
+ source: z.ZodOptional<z.ZodString>;
982
+ 'source-layer': z.ZodOptional<z.ZodString>;
983
+ type: z.ZodOptional<z.ZodString>;
984
+ }, z.core.$catchall<z.ZodUnknown>>>>;
985
+ mode: z.ZodOptional<z.ZodEnum<{
986
+ light: "light";
987
+ dark: "dark";
988
+ }>>;
989
+ modules: z.ZodOptional<z.ZodObject<{
990
+ boundaries: z.ZodOptional<z.ZodObject<{
991
+ [x: string]: z.ZodOptional<z.ZodString>;
992
+ }, z.core.$strict>>;
993
+ buildings: z.ZodOptional<z.ZodObject<{
994
+ [x: string]: z.ZodOptional<z.ZodString>;
995
+ }, z.core.$strict>>;
996
+ hydro: z.ZodOptional<z.ZodObject<{
997
+ [x: string]: z.ZodOptional<z.ZodString>;
998
+ }, z.core.$strict>>;
999
+ labels: z.ZodOptional<z.ZodObject<{
1000
+ [x: string]: z.ZodOptional<z.ZodString>;
1001
+ }, z.core.$strict>>;
1002
+ landcover: z.ZodOptional<z.ZodObject<{
1003
+ [x: string]: z.ZodOptional<z.ZodString>;
1004
+ }, z.core.$strict>>;
1005
+ landuse: z.ZodOptional<z.ZodObject<{
1006
+ [x: string]: z.ZodOptional<z.ZodString>;
1007
+ }, z.core.$strict>>;
1008
+ roads: z.ZodOptional<z.ZodObject<{
1009
+ [x: string]: z.ZodOptional<z.ZodString>;
1010
+ }, z.core.$strict>>;
1011
+ }, z.core.$strict>>;
1012
+ typography: z.ZodOptional<z.ZodObject<{
1013
+ font: z.ZodOptional<z.ZodString>;
1014
+ fontFamily: z.ZodOptional<z.ZodString>;
1015
+ weight: z.ZodOptional<z.ZodEnum<{
1016
+ regular: "regular";
1017
+ medium: "medium";
1018
+ semibold: "semibold";
1019
+ bold: "bold";
1020
+ }>>;
1021
+ }, z.core.$strict>>;
1022
+ }, z.core.$strict>>>;
1023
+ tilesets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1024
+ id: z.ZodOptional<z.ZodString>;
1025
+ name: z.ZodOptional<z.ZodString>;
1026
+ attribution: z.ZodOptional<z.ZodString>;
1027
+ sourceLayers: z.ZodOptional<z.ZodObject<{
1028
+ landuse: z.ZodOptional<z.ZodString>;
1029
+ park: z.ZodOptional<z.ZodString>;
1030
+ water: z.ZodOptional<z.ZodString>;
1031
+ road: z.ZodOptional<z.ZodString>;
1032
+ building: z.ZodOptional<z.ZodString>;
1033
+ boundary: z.ZodOptional<z.ZodString>;
1034
+ place: z.ZodOptional<z.ZodString>;
1035
+ poi: z.ZodOptional<z.ZodString>;
1036
+ }, z.core.$strict>>;
1037
+ }, z.core.$strict>>>;
1038
+ maps: z.ZodRecord<z.ZodString, z.ZodObject<{
1039
+ basemap: z.ZodOptional<z.ZodObject<{
1040
+ type: z.ZodLiteral<"osm">;
1041
+ attribution: z.ZodOptional<z.ZodString>;
1042
+ glyphs: z.ZodOptional<z.ZodString>;
1043
+ sourceId: z.ZodOptional<z.ZodString>;
1044
+ sourceLayers: z.ZodOptional<z.ZodObject<{
1045
+ landuse: z.ZodOptional<z.ZodString>;
1046
+ park: z.ZodOptional<z.ZodString>;
1047
+ water: z.ZodOptional<z.ZodString>;
1048
+ road: z.ZodOptional<z.ZodString>;
1049
+ building: z.ZodOptional<z.ZodString>;
1050
+ boundary: z.ZodOptional<z.ZodString>;
1051
+ place: z.ZodOptional<z.ZodString>;
1052
+ poi: z.ZodOptional<z.ZodString>;
1053
+ }, z.core.$strict>>;
1054
+ sprite: z.ZodOptional<z.ZodString>;
1055
+ tileset: z.ZodOptional<z.ZodString>;
1056
+ url: z.ZodOptional<z.ZodURL>;
1057
+ }, z.core.$strict>>;
1058
+ name: z.ZodOptional<z.ZodString>;
1059
+ tileset: z.ZodOptional<z.ZodString>;
1060
+ theme: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1061
+ colors: z.ZodOptional<z.ZodObject<{
1062
+ accent: z.ZodOptional<z.ZodString>;
1063
+ background: z.ZodOptional<z.ZodString>;
1064
+ boundary: z.ZodOptional<z.ZodString>;
1065
+ building: z.ZodOptional<z.ZodString>;
1066
+ canvas: z.ZodOptional<z.ZodString>;
1067
+ greenspace: z.ZodOptional<z.ZodString>;
1068
+ land: z.ZodOptional<z.ZodString>;
1069
+ nature: z.ZodOptional<z.ZodString>;
1070
+ park: z.ZodOptional<z.ZodString>;
1071
+ road: z.ZodOptional<z.ZodString>;
1072
+ roadCasing: z.ZodOptional<z.ZodString>;
1073
+ roadMajor: z.ZodOptional<z.ZodString>;
1074
+ text: z.ZodOptional<z.ZodString>;
1075
+ textHalo: z.ZodOptional<z.ZodString>;
1076
+ textMuted: z.ZodOptional<z.ZodString>;
1077
+ water: z.ZodOptional<z.ZodString>;
1078
+ boundaries: z.ZodOptional<z.ZodObject<{
1079
+ [x: string]: z.ZodOptional<z.ZodString>;
1080
+ }, z.core.$strict>>;
1081
+ buildings: z.ZodOptional<z.ZodObject<{
1082
+ [x: string]: z.ZodOptional<z.ZodString>;
1083
+ }, z.core.$strict>>;
1084
+ hydro: z.ZodOptional<z.ZodObject<{
1085
+ [x: string]: z.ZodOptional<z.ZodString>;
1086
+ }, z.core.$strict>>;
1087
+ labels: z.ZodOptional<z.ZodObject<{
1088
+ [x: string]: z.ZodOptional<z.ZodString>;
1089
+ }, z.core.$strict>>;
1090
+ landcover: z.ZodOptional<z.ZodObject<{
1091
+ [x: string]: z.ZodOptional<z.ZodString>;
1092
+ }, z.core.$strict>>;
1093
+ landuse: z.ZodOptional<z.ZodObject<{
1094
+ [x: string]: z.ZodOptional<z.ZodString>;
1095
+ }, z.core.$strict>>;
1096
+ roads: z.ZodOptional<z.ZodObject<{
1097
+ [x: string]: z.ZodOptional<z.ZodString>;
1098
+ }, z.core.$strict>>;
1099
+ }, z.core.$strict>>;
1100
+ extends: z.ZodOptional<z.ZodString>;
1101
+ fonts: z.ZodOptional<z.ZodObject<{
1102
+ body: z.ZodOptional<z.ZodString>;
1103
+ labels: z.ZodOptional<z.ZodString>;
1104
+ }, z.core.$strict>>;
1105
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1106
+ before: z.ZodOptional<z.ZodString>;
1107
+ filter: z.ZodOptional<z.ZodUnknown>;
1108
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1109
+ maxzoom: z.ZodOptional<z.ZodNumber>;
1110
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1111
+ minzoom: z.ZodOptional<z.ZodNumber>;
1112
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1113
+ source: z.ZodOptional<z.ZodString>;
1114
+ 'source-layer': z.ZodOptional<z.ZodString>;
1115
+ type: z.ZodOptional<z.ZodString>;
1116
+ }, z.core.$catchall<z.ZodUnknown>>>>;
1117
+ mode: z.ZodOptional<z.ZodEnum<{
1118
+ light: "light";
1119
+ dark: "dark";
1120
+ }>>;
1121
+ modules: z.ZodOptional<z.ZodObject<{
1122
+ boundaries: z.ZodOptional<z.ZodObject<{
1123
+ [x: string]: z.ZodOptional<z.ZodString>;
1124
+ }, z.core.$strict>>;
1125
+ buildings: z.ZodOptional<z.ZodObject<{
1126
+ [x: string]: z.ZodOptional<z.ZodString>;
1127
+ }, z.core.$strict>>;
1128
+ hydro: z.ZodOptional<z.ZodObject<{
1129
+ [x: string]: z.ZodOptional<z.ZodString>;
1130
+ }, z.core.$strict>>;
1131
+ labels: z.ZodOptional<z.ZodObject<{
1132
+ [x: string]: z.ZodOptional<z.ZodString>;
1133
+ }, z.core.$strict>>;
1134
+ landcover: z.ZodOptional<z.ZodObject<{
1135
+ [x: string]: z.ZodOptional<z.ZodString>;
1136
+ }, z.core.$strict>>;
1137
+ landuse: z.ZodOptional<z.ZodObject<{
1138
+ [x: string]: z.ZodOptional<z.ZodString>;
1139
+ }, z.core.$strict>>;
1140
+ roads: z.ZodOptional<z.ZodObject<{
1141
+ [x: string]: z.ZodOptional<z.ZodString>;
1142
+ }, z.core.$strict>>;
1143
+ }, z.core.$strict>>;
1144
+ typography: z.ZodOptional<z.ZodObject<{
1145
+ font: z.ZodOptional<z.ZodString>;
1146
+ fontFamily: z.ZodOptional<z.ZodString>;
1147
+ weight: z.ZodOptional<z.ZodEnum<{
1148
+ regular: "regular";
1149
+ medium: "medium";
1150
+ semibold: "semibold";
1151
+ bold: "bold";
1152
+ }>>;
1153
+ }, z.core.$strict>>;
1154
+ }, z.core.$strict>]>>;
1155
+ modules: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1156
+ type: z.ZodLiteral<"roads">;
1157
+ density: z.ZodOptional<z.ZodEnum<{
1158
+ clean: "clean";
1159
+ balanced: "balanced";
1160
+ dense: "dense";
1161
+ }>>;
1162
+ preset: z.ZodOptional<z.ZodEnum<{
1163
+ minimal: "minimal";
1164
+ modern: "modern";
1165
+ }>>;
1166
+ }, z.core.$strict>, z.ZodObject<{
1167
+ type: z.ZodLiteral<"styleOverride">;
1168
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1169
+ before: z.ZodOptional<z.ZodString>;
1170
+ filter: z.ZodOptional<z.ZodUnknown>;
1171
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1172
+ maxzoom: z.ZodOptional<z.ZodNumber>;
1173
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1174
+ minzoom: z.ZodOptional<z.ZodNumber>;
1175
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1176
+ source: z.ZodOptional<z.ZodString>;
1177
+ 'source-layer': z.ZodOptional<z.ZodString>;
1178
+ type: z.ZodOptional<z.ZodString>;
1179
+ }, z.core.$catchall<z.ZodUnknown>>>>;
1180
+ removeLayers: z.ZodOptional<z.ZodArray<z.ZodString>>;
1181
+ }, z.core.$strict>], "type">>>;
1182
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1183
+ before: z.ZodOptional<z.ZodString>;
1184
+ filter: z.ZodOptional<z.ZodUnknown>;
1185
+ layout: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1186
+ maxzoom: z.ZodOptional<z.ZodNumber>;
1187
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1188
+ minzoom: z.ZodOptional<z.ZodNumber>;
1189
+ paint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1190
+ source: z.ZodOptional<z.ZodString>;
1191
+ 'source-layer': z.ZodOptional<z.ZodString>;
1192
+ type: z.ZodOptional<z.ZodString>;
1193
+ }, z.core.$catchall<z.ZodUnknown>>>>;
1194
+ colors: z.ZodOptional<z.ZodObject<{
1195
+ accent: z.ZodOptional<z.ZodString>;
1196
+ background: z.ZodOptional<z.ZodString>;
1197
+ boundary: z.ZodOptional<z.ZodString>;
1198
+ building: z.ZodOptional<z.ZodString>;
1199
+ canvas: z.ZodOptional<z.ZodString>;
1200
+ greenspace: z.ZodOptional<z.ZodString>;
1201
+ land: z.ZodOptional<z.ZodString>;
1202
+ nature: z.ZodOptional<z.ZodString>;
1203
+ park: z.ZodOptional<z.ZodString>;
1204
+ road: z.ZodOptional<z.ZodString>;
1205
+ roadCasing: z.ZodOptional<z.ZodString>;
1206
+ roadMajor: z.ZodOptional<z.ZodString>;
1207
+ text: z.ZodOptional<z.ZodString>;
1208
+ textHalo: z.ZodOptional<z.ZodString>;
1209
+ textMuted: z.ZodOptional<z.ZodString>;
1210
+ water: z.ZodOptional<z.ZodString>;
1211
+ boundaries: z.ZodOptional<z.ZodObject<{
1212
+ [x: string]: z.ZodOptional<z.ZodString>;
1213
+ }, z.core.$strict>>;
1214
+ buildings: z.ZodOptional<z.ZodObject<{
1215
+ [x: string]: z.ZodOptional<z.ZodString>;
1216
+ }, z.core.$strict>>;
1217
+ hydro: z.ZodOptional<z.ZodObject<{
1218
+ [x: string]: z.ZodOptional<z.ZodString>;
1219
+ }, z.core.$strict>>;
1220
+ labels: z.ZodOptional<z.ZodObject<{
1221
+ [x: string]: z.ZodOptional<z.ZodString>;
1222
+ }, z.core.$strict>>;
1223
+ landcover: z.ZodOptional<z.ZodObject<{
1224
+ [x: string]: z.ZodOptional<z.ZodString>;
1225
+ }, z.core.$strict>>;
1226
+ landuse: z.ZodOptional<z.ZodObject<{
1227
+ [x: string]: z.ZodOptional<z.ZodString>;
1228
+ }, z.core.$strict>>;
1229
+ roads: z.ZodOptional<z.ZodObject<{
1230
+ [x: string]: z.ZodOptional<z.ZodString>;
1231
+ }, z.core.$strict>>;
1232
+ }, z.core.$strict>>;
1233
+ typography: z.ZodOptional<z.ZodObject<{
1234
+ font: z.ZodOptional<z.ZodString>;
1235
+ fontFamily: z.ZodOptional<z.ZodString>;
1236
+ weight: z.ZodOptional<z.ZodEnum<{
1237
+ regular: "regular";
1238
+ medium: "medium";
1239
+ semibold: "semibold";
1240
+ bold: "bold";
1241
+ }>>;
1242
+ }, z.core.$strict>>;
1243
+ density: z.ZodOptional<z.ZodEnum<{
1244
+ clean: "clean";
1245
+ balanced: "balanced";
1246
+ dense: "dense";
1247
+ }>>;
1248
+ roads: z.ZodOptional<z.ZodEnum<{
1249
+ hidden: "hidden";
1250
+ soft: "soft";
1251
+ standard: "standard";
1252
+ detailed: "detailed";
1253
+ }>>;
1254
+ labels: z.ZodOptional<z.ZodEnum<{
1255
+ balanced: "balanced";
1256
+ none: "none";
1257
+ essential: "essential";
1258
+ full: "full";
1259
+ }>>;
1260
+ poi: z.ZodOptional<z.ZodEnum<{
1261
+ balanced: "balanced";
1262
+ none: "none";
1263
+ full: "full";
1264
+ minimal: "minimal";
1265
+ }>>;
1266
+ buildings: z.ZodOptional<z.ZodEnum<{
1267
+ hidden: "hidden";
1268
+ flat: "flat";
1269
+ "3d": "3d";
1270
+ }>>;
1271
+ terrain: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1272
+ none: "none";
1273
+ "3d": "3d";
1274
+ hillshade: "hillshade";
1275
+ }>, z.ZodObject<{
1276
+ attribution: z.ZodOptional<z.ZodString>;
1277
+ encoding: z.ZodOptional<z.ZodEnum<{
1278
+ mapbox: "mapbox";
1279
+ terrarium: "terrarium";
1280
+ }>>;
1281
+ exaggeration: z.ZodOptional<z.ZodNumber>;
1282
+ mode: z.ZodOptional<z.ZodEnum<{
1283
+ none: "none";
1284
+ "3d": "3d";
1285
+ hillshade: "hillshade";
1286
+ }>>;
1287
+ sourceId: z.ZodOptional<z.ZodString>;
1288
+ tileset: z.ZodOptional<z.ZodString>;
1289
+ url: z.ZodOptional<z.ZodURL>;
1290
+ }, z.core.$strict>]>>;
1291
+ glyphs: z.ZodOptional<z.ZodString>;
1292
+ sprite: z.ZodOptional<z.ZodString>;
1293
+ tiles: z.ZodOptional<z.ZodObject<{
1294
+ sourceId: z.ZodOptional<z.ZodString>;
1295
+ tileset: z.ZodOptional<z.ZodString>;
1296
+ url: z.ZodOptional<z.ZodURL>;
1297
+ attribution: z.ZodOptional<z.ZodString>;
1298
+ sourceLayers: z.ZodOptional<z.ZodObject<{
1299
+ landuse: z.ZodOptional<z.ZodString>;
1300
+ park: z.ZodOptional<z.ZodString>;
1301
+ water: z.ZodOptional<z.ZodString>;
1302
+ road: z.ZodOptional<z.ZodString>;
1303
+ building: z.ZodOptional<z.ZodString>;
1304
+ boundary: z.ZodOptional<z.ZodString>;
1305
+ place: z.ZodOptional<z.ZodString>;
1306
+ poi: z.ZodOptional<z.ZodString>;
1307
+ }, z.core.$strict>>;
1308
+ }, z.core.$strict>>;
1309
+ view: z.ZodOptional<z.ZodObject<{
1310
+ bearing: z.ZodOptional<z.ZodNumber>;
1311
+ center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1312
+ zoom: z.ZodOptional<z.ZodNumber>;
1313
+ }, z.core.$strict>>;
1314
+ allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
1315
+ }, z.core.$strict>>;
1316
+ }, z.core.$strict>;
1317
+ declare function parseTileflowMap(input: unknown): TileflowConfig;
1318
+ declare function parseTileflowProject(input: unknown): TileflowProjectConfig;
170
1319
  declare function validateConfig(input: unknown): ValidationResult;
1320
+ declare const validateTileflowConfig: typeof validateConfig;
171
1321
 
172
- declare function defineTileflow(config: TileflowProjectConfig): TileflowProjectConfig;
1322
+ declare function defineTileflow<const TConfig extends TileflowProjectConfig>(config: TConfig): TConfig;
173
1323
 
174
1324
  declare function osm(options?: TileflowOsmBasemapOptions): TileflowOsmBasemapConfig;
175
1325
 
176
1326
  declare function roads(options?: TileflowRoadsModuleOptions): TileflowRoadsModuleConfig;
177
1327
 
178
- export { type MapLibreStyle, type TileflowBasemapConfig, type TileflowBuildings, type TileflowColorConfig, type TileflowColors, type TileflowConfig, type TileflowDensity, type TileflowFontWeight, type TileflowFonts, type TileflowLabels, type TileflowManifest, type TileflowMapConfig, type TileflowModuleConfig, type TileflowOsmBasemapConfig, type TileflowOsmBasemapOptions, type TileflowPoi, type TileflowProjectConfig, type TileflowProjectThemes, type TileflowRoads, type TileflowRoadsModuleConfig, type TileflowRoadsModuleOptions, type TileflowRoadsModulePreset, type TileflowSourceLayers, type TileflowStyleOptions, type TileflowTerrain, type TileflowTerrainConfig, type TileflowTerrainEncoding, type TileflowTerrainMode, type TileflowTheme, type TileflowThemeConfig, type TileflowThemeMode, type TileflowThemeName, type TileflowTiles, type TileflowTilesetConfig, type TileflowTypography, type TileflowViewConfig, type ValidationMessage, type ValidationResult, createManifest, createStyle, createStyleFromProject, defineTileflow, getDefaultColors, osm, roads, validateConfig };
1328
+ declare function styleOverride(options?: TileflowStyleOverrideOptions): TileflowStyleOverrideModuleConfig;
1329
+
1330
+ export { type MapLibreStyle, type TileflowAdvancedColorConfig, type TileflowBaseColors, type TileflowBasemapConfig, type TileflowBoundaryColorConfig, type TileflowBuildingColorConfig, type TileflowBuildings, type TileflowColor, type TileflowColorConfig, type TileflowColors, type TileflowConfig, type TileflowDensity, type TileflowFontWeight, type TileflowFonts, type TileflowHydroColorConfig, type TileflowLabelColorConfig, type TileflowLabels, type TileflowLandcoverColorConfig, type TileflowLanduseColorConfig, type TileflowManifest, type TileflowMapConfig, type TileflowModuleConfig, type TileflowOsmBasemapConfig, type TileflowOsmBasemapOptions, type TileflowPoi, type TileflowProjectConfig, type TileflowProjectThemes, type TileflowRoadColorConfig, type TileflowRoads, type TileflowRoadsModuleConfig, type TileflowRoadsModuleOptions, type TileflowRoadsModulePreset, type TileflowSourceLayers, type TileflowStyleLayerOverride, type TileflowStyleOptions, type TileflowStyleOverrideModuleConfig, type TileflowStyleOverrideOptions, type TileflowTerrain, type TileflowTerrainConfig, type TileflowTerrainEncoding, type TileflowTerrainMode, type TileflowTheme, type TileflowThemeConfig, type TileflowThemeMode, type TileflowThemeModulesConfig, type TileflowThemeName, type TileflowTiles, type TileflowTilesetConfig, type TileflowTypography, type TileflowViewConfig, type ValidationMessage, type ValidationResult, configSchema, createManifest, createStyle, createStyleFromProject, defineTileflow, getDefaultColors, osm, parseTileflowMap, parseTileflowProject, roads, styleOverride, tileflowMapSchema, tileflowProjectSchema, tileflowThemeSchema, validateConfig, validateTileflowConfig };