Skip to content

BaseLayerPropertiesSchema

const BaseLayerPropertiesSchema: ZodObject<{ before: ZodOptional<ZodString>; effect: ZodOptional<ZodEffects<ZodObject<{ type: ZodString; }, "passthrough", ZodTypeAny, objectOutputType<{ type: ZodString; }, ZodTypeAny, "passthrough">, objectInputType<{ type: ZodString; }, ZodTypeAny, "passthrough">>, objectOutputType<{ type: ZodString; }, ZodTypeAny, "passthrough">, objectInputType<{ type: ZodString; }, ZodTypeAny, "passthrough">>>; filter: ZodOptional<ZodType<any[], ZodTypeDef, any[]>>; id: ZodString; interactive: ZodType<{ click?: { action?: string; emit?: { event: string; payload?: Record<…, …>; }; flyTo?: { center?: […, …]; duration?: number; zoom?: number; }; popup?: Record<string, …[]>[]; zoomToFeature?: { duration?: number; maxZoom?: number; padding?: number; }; }; hover?: { cursor?: string; emit?: { event: string; payload?: Record<…, …>; }; highlight?: boolean; popup?: Record<string, …[]>[]; }; mouseenter?: { action?: string; }; mouseleave?: { action?: string; }; } | undefined, ZodTypeDef, { click?: { action?: string; emit?: { event: string; payload?: Record<…, …>; }; flyTo?: { center?: […, …]; duration?: number; zoom?: number; }; popup?: Record<string, …[]>[]; zoomToFeature?: { duration?: number; maxZoom?: number; padding?: number; }; }; hover?: { cursor?: string; emit?: { event: string; payload?: Record<…, …>; }; highlight?: boolean; popup?: Record<string, …[]>[]; }; mouseenter?: { action?: string; }; mouseleave?: { action?: string; }; } | undefined>; label: ZodOptional<ZodString>; legend: ZodOptional<ZodObject<{ color: ZodString; icon: ZodOptional<ZodString>; label: ZodString; shape: ZodDefault<ZodEnum<["circle", "square", "line", "icon"]>>; }, "strip", ZodTypeAny, { color: string; icon?: string; label: string; shape: "circle" | "line" | "square" | "icon"; }, { color: string; icon?: string; label: string; shape?: "circle" | "line" | "square" | "icon"; }>>; maxzoom: ZodOptional<ZodNumber>; metadata: ZodOptional<ZodRecord<ZodString, ZodAny>>; minzoom: ZodOptional<ZodNumber>; source: ZodUnion<[ZodUnion<[ZodEffects<ZodObject<{ attribution: ZodOptional<ZodString>; buffer: ZodOptional<ZodNumber>; cache: ZodOptional<ZodObject<…, …, …, …, …>>; cluster: ZodOptional<ZodBoolean>; clusterMaxZoom: ZodOptional<ZodNumber>; clusterMinPoints: ZodOptional<ZodNumber>; clusterProperties: ZodOptional<ZodRecord<…, …>>; clusterRadius: ZodOptional<ZodNumber>; data: ZodOptional<ZodAny>; fetchStrategy: ZodDefault<ZodEnum<…>>; generateId: ZodOptional<ZodBoolean>; lineMetrics: ZodOptional<ZodBoolean>; loading: ZodOptional<ZodObject<…, …, …, …, …>>; prefetchedData: ZodOptional<ZodAny>; promoteId: ZodOptional<ZodUnion<…>>; refresh: ZodOptional<ZodEffects<…, …, …>>; refreshInterval: ZodOptional<ZodNumber>; stream: ZodOptional<ZodObject<…, …, …, …, …>>; tolerance: ZodOptional<ZodNumber>; type: ZodLiteral<"geojson">; updateKey: ZodOptional<ZodString>; updateStrategy: ZodOptional<ZodEnum<…>>; url: ZodOptional<ZodString>; }, "passthrough", ZodTypeAny, objectOutputType<{ attribution: ZodOptional<…>; buffer: ZodOptional<…>; cache: ZodOptional<…>; cluster: ZodOptional<…>; clusterMaxZoom: ZodOptional<…>; clusterMinPoints: ZodOptional<…>; clusterProperties: ZodOptional<…>; clusterRadius: ZodOptional<…>; data: ZodOptional<…>; fetchStrategy: ZodDefault<…>; generateId: ZodOptional<…>; lineMetrics: ZodOptional<…>; loading: ZodOptional<…>; prefetchedData: ZodOptional<…>; promoteId: ZodOptional<…>; refresh: ZodOptional<…>; refreshInterval: ZodOptional<…>; stream: ZodOptional<…>; tolerance: ZodOptional<…>; type: ZodLiteral<…>; updateKey: ZodOptional<…>; updateStrategy: ZodOptional<…>; url: ZodOptional<…>; }, ZodTypeAny, "passthrough">, objectInputType<{ attribution: ZodOptional<…>; buffer: ZodOptional<…>; cache: ZodOptional<…>; cluster: ZodOptional<…>; clusterMaxZoom: ZodOptional<…>; clusterMinPoints: ZodOptional<…>; clusterProperties: ZodOptional<…>; clusterRadius: ZodOptional<…>; data: ZodOptional<…>; fetchStrategy: ZodDefault<…>; generateId: ZodOptional<…>; lineMetrics: ZodOptional<…>; loading: ZodOptional<…>; prefetchedData: ZodOptional<…>; promoteId: ZodOptional<…>; refresh: ZodOptional<…>; refreshInterval: ZodOptional<…>; stream: ZodOptional<…>; tolerance: ZodOptional<…>; type: ZodLiteral<…>; updateKey: ZodOptional<…>; updateStrategy: ZodOptional<…>; url: ZodOptional<…>; }, ZodTypeAny, "passthrough">>, objectOutputType<{ attribution: ZodOptional<ZodString>; buffer: ZodOptional<ZodNumber>; cache: ZodOptional<ZodObject<…, …, …, …, …>>; cluster: ZodOptional<ZodBoolean>; clusterMaxZoom: ZodOptional<ZodNumber>; clusterMinPoints: ZodOptional<ZodNumber>; clusterProperties: ZodOptional<ZodRecord<…, …>>; clusterRadius: ZodOptional<ZodNumber>; data: ZodOptional<ZodAny>; fetchStrategy: ZodDefault<ZodEnum<…>>; generateId: ZodOptional<ZodBoolean>; lineMetrics: ZodOptional<ZodBoolean>; loading: ZodOptional<ZodObject<…, …, …, …, …>>; prefetchedData: ZodOptional<ZodAny>; promoteId: ZodOptional<ZodUnion<…>>; refresh: ZodOptional<ZodEffects<…, …, …>>; refreshInterval: ZodOptional<ZodNumber>; stream: ZodOptional<ZodObject<…, …, …, …, …>>; tolerance: ZodOptional<ZodNumber>; type: ZodLiteral<"geojson">; updateKey: ZodOptional<ZodString>; updateStrategy: ZodOptional<ZodEnum<…>>; url: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">, objectInputType<{ attribution: ZodOptional<ZodString>; buffer: ZodOptional<ZodNumber>; cache: ZodOptional<ZodObject<…, …, …, …, …>>; cluster: ZodOptional<ZodBoolean>; clusterMaxZoom: ZodOptional<ZodNumber>; clusterMinPoints: ZodOptional<ZodNumber>; clusterProperties: ZodOptional<ZodRecord<…, …>>; clusterRadius: ZodOptional<ZodNumber>; data: ZodOptional<ZodAny>; fetchStrategy: ZodDefault<ZodEnum<…>>; generateId: ZodOptional<ZodBoolean>; lineMetrics: ZodOptional<ZodBoolean>; loading: ZodOptional<ZodObject<…, …, …, …, …>>; prefetchedData: ZodOptional<ZodAny>; promoteId: ZodOptional<ZodUnion<…>>; refresh: ZodOptional<ZodEffects<…, …, …>>; refreshInterval: ZodOptional<ZodNumber>; stream: ZodOptional<ZodObject<…, …, …, …, …>>; tolerance: ZodOptional<ZodNumber>; type: ZodLiteral<"geojson">; updateKey: ZodOptional<ZodString>; updateStrategy: ZodOptional<ZodEnum<…>>; url: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">>, ZodEffects<ZodObject<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<…, …>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; promoteId: ZodOptional<ZodUnion<…>>; scheme: ZodOptional<ZodEnum<…>>; tiles: ZodOptional<ZodArray<…, …>>; type: ZodLiteral<"vector">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, "passthrough", ZodTypeAny, objectOutputType<{ attribution: ZodOptional<…>; bounds: ZodOptional<…>; maxzoom: ZodOptional<…>; minzoom: ZodOptional<…>; promoteId: ZodOptional<…>; scheme: ZodOptional<…>; tiles: ZodOptional<…>; type: ZodLiteral<…>; url: ZodOptional<…>; volatile: ZodOptional<…>; }, ZodTypeAny, "passthrough">, objectInputType<{ attribution: ZodOptional<…>; bounds: ZodOptional<…>; maxzoom: ZodOptional<…>; minzoom: ZodOptional<…>; promoteId: ZodOptional<…>; scheme: ZodOptional<…>; tiles: ZodOptional<…>; type: ZodLiteral<…>; url: ZodOptional<…>; volatile: ZodOptional<…>; }, ZodTypeAny, "passthrough">>, objectOutputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<…, …>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; promoteId: ZodOptional<ZodUnion<…>>; scheme: ZodOptional<ZodEnum<…>>; tiles: ZodOptional<ZodArray<…, …>>; type: ZodLiteral<"vector">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">, objectInputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<…, …>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; promoteId: ZodOptional<ZodUnion<…>>; scheme: ZodOptional<ZodEnum<…>>; tiles: ZodOptional<ZodArray<…, …>>; type: ZodLiteral<"vector">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">>, ZodEffects<ZodObject<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<…, …>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; scheme: ZodOptional<ZodEnum<…>>; tiles: ZodOptional<ZodArray<…, …>>; tileSize: ZodDefault<ZodNumber>; type: ZodLiteral<"raster">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, "passthrough", ZodTypeAny, objectOutputType<{ attribution: ZodOptional<…>; bounds: ZodOptional<…>; maxzoom: ZodOptional<…>; minzoom: ZodOptional<…>; scheme: ZodOptional<…>; tiles: ZodOptional<…>; tileSize: ZodDefault<…>; type: ZodLiteral<…>; url: ZodOptional<…>; volatile: ZodOptional<…>; }, ZodTypeAny, "passthrough">, objectInputType<{ attribution: ZodOptional<…>; bounds: ZodOptional<…>; maxzoom: ZodOptional<…>; minzoom: ZodOptional<…>; scheme: ZodOptional<…>; tiles: ZodOptional<…>; tileSize: ZodDefault<…>; type: ZodLiteral<…>; url: ZodOptional<…>; volatile: ZodOptional<…>; }, ZodTypeAny, "passthrough">>, objectOutputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<…, …>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; scheme: ZodOptional<ZodEnum<…>>; tiles: ZodOptional<ZodArray<…, …>>; tileSize: ZodDefault<ZodNumber>; type: ZodLiteral<"raster">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">, objectInputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<…, …>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; scheme: ZodOptional<ZodEnum<…>>; tiles: ZodOptional<ZodArray<…, …>>; tileSize: ZodDefault<ZodNumber>; type: ZodLiteral<"raster">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">>]>, ZodObject<{ $ref: ZodString; }, "strip", ZodTypeAny, { $ref: string; }, { $ref: string; }>, ZodString]>; source-layer: ZodOptional<ZodString>; toggleable: ZodDefault<ZodBoolean>; visible: ZodDefault<ZodBoolean>; }, "strip", ZodTypeAny, { before?: string; effect?: objectOutputType<{ type: ZodString; }, ZodTypeAny, "passthrough">; filter?: any[]; id: string; interactive?: { click?: { action?: string; emit?: { event: string; payload?: Record<string, { else?: …; property?: …; str?: …; }>; }; flyTo?: { center?: [number, number]; duration?: number; zoom?: number; }; popup?: Record<string, object[]>[]; zoomToFeature?: { duration?: number; maxZoom?: number; padding?: number; }; }; hover?: { cursor?: string; emit?: { event: string; payload?: Record<string, { else?: …; property?: …; str?: …; }>; }; highlight?: boolean; popup?: Record<string, object[]>[]; }; mouseenter?: { action?: string; }; mouseleave?: { action?: string; }; }; label?: string; legend?: { color: string; icon?: string; label: string; shape: "circle" | "line" | "square" | "icon"; }; maxzoom?: number; metadata?: Record<string, any>; minzoom?: number; source: string | objectOutputType<{ attribution: ZodOptional<ZodString>; buffer: ZodOptional<ZodNumber>; cache: ZodOptional<ZodObject<{ enabled: ZodDefault<ZodBoolean>; ttl: ZodOptional<ZodNumber>; }, "strip", ZodTypeAny, { enabled: boolean; ttl?: number; }, { enabled?: boolean; ttl?: number; }>>; cluster: ZodOptional<ZodBoolean>; clusterMaxZoom: ZodOptional<ZodNumber>; clusterMinPoints: ZodOptional<ZodNumber>; clusterProperties: ZodOptional<ZodRecord<ZodString, ZodAny>>; clusterRadius: ZodOptional<ZodNumber>; data: ZodOptional<ZodAny>; fetchStrategy: ZodDefault<ZodEnum<["runtime", "build", "hybrid"]>>; generateId: ZodOptional<ZodBoolean>; lineMetrics: ZodOptional<ZodBoolean>; loading: ZodOptional<ZodObject<{ enabled: ZodDefault<ZodBoolean>; message: ZodOptional<ZodString>; showErrorOverlay: ZodDefault<ZodBoolean>; }, "strip", ZodTypeAny, { enabled: boolean; message?: string; showErrorOverlay: boolean; }, { enabled?: boolean; message?: string; showErrorOverlay?: boolean; }>>; prefetchedData: ZodOptional<ZodAny>; promoteId: ZodOptional<ZodUnion<[ZodString, ZodRecord<ZodString, ZodString>]>>; refresh: ZodOptional<ZodEffects<ZodObject<{ refreshInterval: ZodOptional<ZodNumber>; timestampField: ZodOptional<ZodString>; updateKey: ZodOptional<ZodString>; updateStrategy: ZodDefault<ZodEnum<…>>; windowDuration: ZodOptional<ZodNumber>; windowSize: ZodOptional<ZodNumber>; }, "strip", ZodTypeAny, { refreshInterval?: number; timestampField?: string; updateKey?: string; updateStrategy: "replace" | "merge" | "append-window"; windowDuration?: number; windowSize?: number; }, { refreshInterval?: number; timestampField?: string; updateKey?: string; updateStrategy?: "replace" | "merge" | "append-window"; windowDuration?: number; windowSize?: number; }>, { refreshInterval?: number; timestampField?: string; updateKey?: string; updateStrategy: "replace" | "merge" | "append-window"; windowDuration?: number; windowSize?: number; }, { refreshInterval?: number; timestampField?: string; updateKey?: string; updateStrategy?: "replace" | "merge" | "append-window"; windowDuration?: number; windowSize?: number; }>>; refreshInterval: ZodOptional<ZodNumber>; stream: ZodOptional<ZodObject<{ eventTypes: ZodOptional<ZodArray<ZodString, "many">>; protocols: ZodOptional<ZodUnion<[…, …]>>; reconnect: ZodDefault<ZodBoolean>; reconnectDelay: ZodDefault<ZodNumber>; reconnectMaxAttempts: ZodDefault<ZodNumber>; reconnectMaxDelay: ZodDefault<ZodNumber>; type: ZodEnum<["websocket", "sse"]>; url: ZodOptional<ZodString>; }, "strip", ZodTypeAny, { eventTypes?: string[]; protocols?: string | string[]; reconnect: boolean; reconnectDelay: number; reconnectMaxAttempts: number; reconnectMaxDelay: number; type: "websocket" | "sse"; url?: string; }, { eventTypes?: string[]; protocols?: string | string[]; reconnect?: boolean; reconnectDelay?: number; reconnectMaxAttempts?: number; reconnectMaxDelay?: number; type: "websocket" | "sse"; url?: string; }>>; tolerance: ZodOptional<ZodNumber>; type: ZodLiteral<"geojson">; updateKey: ZodOptional<ZodString>; updateStrategy: ZodOptional<ZodEnum<["replace", "merge", "append-window"]>>; url: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<[ZodNumber, ZodNumber, ZodNumber, ZodNumber], null>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; promoteId: ZodOptional<ZodUnion<[ZodString, ZodRecord<ZodString, ZodString>]>>; scheme: ZodOptional<ZodEnum<["xyz", "tms"]>>; tiles: ZodOptional<ZodArray<ZodEffects<ZodString, string, string>, "many">>; type: ZodLiteral<"vector">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<[ZodNumber, ZodNumber, ZodNumber, ZodNumber], null>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; scheme: ZodOptional<ZodEnum<["xyz", "tms"]>>; tiles: ZodOptional<ZodArray<ZodEffects<ZodString, string, string>, "many">>; tileSize: ZodDefault<ZodNumber>; type: ZodLiteral<"raster">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<[ZodNumber, ZodNumber, ZodNumber, ZodNumber], null>>; encoding: ZodDefault<ZodEnum<["terrarium", "mapbox", "custom"]>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; tiles: ZodOptional<ZodArray<ZodEffects<ZodString, string, string>, "many">>; tileSize: ZodDefault<ZodNumber>; type: ZodLiteral<"raster-dem">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ coordinates: ZodTuple<[ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>], null>; type: ZodLiteral<"image">; url: ZodString; }, ZodTypeAny, "passthrough"> | objectOutputType<{ coordinates: ZodTuple<[ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>], null>; type: ZodLiteral<"video">; urls: ZodArray<ZodString, "many">; }, ZodTypeAny, "passthrough"> | { $ref: string; }; source-layer?: string; toggleable: boolean; visible: boolean; }, { before?: string; effect?: objectInputType<{ type: ZodString; }, ZodTypeAny, "passthrough">; filter?: any[]; id: string; interactive?: { click?: { action?: string; emit?: { event: string; payload?: Record<string, { else?: …; property?: …; str?: …; }>; }; flyTo?: { center?: [number, number]; duration?: number; zoom?: number; }; popup?: Record<string, object[]>[]; zoomToFeature?: { duration?: number; maxZoom?: number; padding?: number; }; }; hover?: { cursor?: string; emit?: { event: string; payload?: Record<string, { else?: …; property?: …; str?: …; }>; }; highlight?: boolean; popup?: Record<string, object[]>[]; }; mouseenter?: { action?: string; }; mouseleave?: { action?: string; }; }; label?: string; legend?: { color: string; icon?: string; label: string; shape?: "circle" | "line" | "square" | "icon"; }; maxzoom?: number; metadata?: Record<string, any>; minzoom?: number; source: string | objectInputType<{ attribution: ZodOptional<ZodString>; buffer: ZodOptional<ZodNumber>; cache: ZodOptional<ZodObject<{ enabled: ZodDefault<ZodBoolean>; ttl: ZodOptional<ZodNumber>; }, "strip", ZodTypeAny, { enabled: boolean; ttl?: number; }, { enabled?: boolean; ttl?: number; }>>; cluster: ZodOptional<ZodBoolean>; clusterMaxZoom: ZodOptional<ZodNumber>; clusterMinPoints: ZodOptional<ZodNumber>; clusterProperties: ZodOptional<ZodRecord<ZodString, ZodAny>>; clusterRadius: ZodOptional<ZodNumber>; data: ZodOptional<ZodAny>; fetchStrategy: ZodDefault<ZodEnum<["runtime", "build", "hybrid"]>>; generateId: ZodOptional<ZodBoolean>; lineMetrics: ZodOptional<ZodBoolean>; loading: ZodOptional<ZodObject<{ enabled: ZodDefault<ZodBoolean>; message: ZodOptional<ZodString>; showErrorOverlay: ZodDefault<ZodBoolean>; }, "strip", ZodTypeAny, { enabled: boolean; message?: string; showErrorOverlay: boolean; }, { enabled?: boolean; message?: string; showErrorOverlay?: boolean; }>>; prefetchedData: ZodOptional<ZodAny>; promoteId: ZodOptional<ZodUnion<[ZodString, ZodRecord<ZodString, ZodString>]>>; refresh: ZodOptional<ZodEffects<ZodObject<{ refreshInterval: ZodOptional<ZodNumber>; timestampField: ZodOptional<ZodString>; updateKey: ZodOptional<ZodString>; updateStrategy: ZodDefault<ZodEnum<…>>; windowDuration: ZodOptional<ZodNumber>; windowSize: ZodOptional<ZodNumber>; }, "strip", ZodTypeAny, { refreshInterval?: number; timestampField?: string; updateKey?: string; updateStrategy: "replace" | "merge" | "append-window"; windowDuration?: number; windowSize?: number; }, { refreshInterval?: number; timestampField?: string; updateKey?: string; updateStrategy?: "replace" | "merge" | "append-window"; windowDuration?: number; windowSize?: number; }>, { refreshInterval?: number; timestampField?: string; updateKey?: string; updateStrategy: "replace" | "merge" | "append-window"; windowDuration?: number; windowSize?: number; }, { refreshInterval?: number; timestampField?: string; updateKey?: string; updateStrategy?: "replace" | "merge" | "append-window"; windowDuration?: number; windowSize?: number; }>>; refreshInterval: ZodOptional<ZodNumber>; stream: ZodOptional<ZodObject<{ eventTypes: ZodOptional<ZodArray<ZodString, "many">>; protocols: ZodOptional<ZodUnion<[…, …]>>; reconnect: ZodDefault<ZodBoolean>; reconnectDelay: ZodDefault<ZodNumber>; reconnectMaxAttempts: ZodDefault<ZodNumber>; reconnectMaxDelay: ZodDefault<ZodNumber>; type: ZodEnum<["websocket", "sse"]>; url: ZodOptional<ZodString>; }, "strip", ZodTypeAny, { eventTypes?: string[]; protocols?: string | string[]; reconnect: boolean; reconnectDelay: number; reconnectMaxAttempts: number; reconnectMaxDelay: number; type: "websocket" | "sse"; url?: string; }, { eventTypes?: string[]; protocols?: string | string[]; reconnect?: boolean; reconnectDelay?: number; reconnectMaxAttempts?: number; reconnectMaxDelay?: number; type: "websocket" | "sse"; url?: string; }>>; tolerance: ZodOptional<ZodNumber>; type: ZodLiteral<"geojson">; updateKey: ZodOptional<ZodString>; updateStrategy: ZodOptional<ZodEnum<["replace", "merge", "append-window"]>>; url: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough"> | objectInputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<[ZodNumber, ZodNumber, ZodNumber, ZodNumber], null>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; promoteId: ZodOptional<ZodUnion<[ZodString, ZodRecord<ZodString, ZodString>]>>; scheme: ZodOptional<ZodEnum<["xyz", "tms"]>>; tiles: ZodOptional<ZodArray<ZodEffects<ZodString, string, string>, "many">>; type: ZodLiteral<"vector">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough"> | objectInputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<[ZodNumber, ZodNumber, ZodNumber, ZodNumber], null>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; scheme: ZodOptional<ZodEnum<["xyz", "tms"]>>; tiles: ZodOptional<ZodArray<ZodEffects<ZodString, string, string>, "many">>; tileSize: ZodDefault<ZodNumber>; type: ZodLiteral<"raster">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough"> | objectInputType<{ attribution: ZodOptional<ZodString>; bounds: ZodOptional<ZodTuple<[ZodNumber, ZodNumber, ZodNumber, ZodNumber], null>>; encoding: ZodDefault<ZodEnum<["terrarium", "mapbox", "custom"]>>; maxzoom: ZodOptional<ZodNumber>; minzoom: ZodOptional<ZodNumber>; tiles: ZodOptional<ZodArray<ZodEffects<ZodString, string, string>, "many">>; tileSize: ZodDefault<ZodNumber>; type: ZodLiteral<"raster-dem">; url: ZodOptional<ZodString>; volatile: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough"> | objectInputType<{ coordinates: ZodTuple<[ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>], null>; type: ZodLiteral<"image">; url: ZodString; }, ZodTypeAny, "passthrough"> | objectInputType<{ coordinates: ZodTuple<[ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>, ZodTuple<[ZodNumber, ZodNumber], null>], null>; type: ZodLiteral<"video">; urls: ZodArray<ZodString, "many">; }, ZodTypeAny, "passthrough"> | { $ref: string; }; source-layer?: string; toggleable?: boolean; visible?: boolean; }>

Defined in: packages/core/src/schemas/layer.schema.ts:510

Base properties shared by all layer types.

Common configuration that applies to every layer regardless of type.