// Generated code; do not edit. Edit build/generate-typed-style-spec.ts instead. import type {UnionToIntersection} from './union-to-intersection'; export type ColorSpecification = string; export type FormattedSpecification = string; export type ResolvedImageSpecification = string; export type PromoteIdSpecification = {[_: string]: string | ExpressionSpecification} | string | ExpressionSpecification; export type FilterSpecification = | ExpressionSpecification | ['has', string] | ['!has', string] | ['==', string, string | number | boolean] | ['!=', string, string | number | boolean] | ['>', string, string | number | boolean] | ['>=', string, string | number | boolean] | ['<', string, string | number | boolean] | ['<=', string, string | number | boolean] | Array; export type TransitionSpecification = { duration?: number, delay?: number }; // Note: doesn't capture interpolatable vs. non-interpolatable types. export type PropertyFunctionStop = [number, T]; export type ZoomAndPropertyFunctionStop = [{zoom: number; value: string | number | boolean}, T]; /** * @deprecated Use [Expressions](https://docs.mapbox.com/style-spec/reference/expressions/) syntax instead. */ export type FunctionSpecification = { stops: Array | ZoomAndPropertyFunctionStop>; base?: number; property?: string; type?: 'identity' | 'exponential' | 'interval' | 'categorical'; colorSpace?: 'rgb' | 'lab' | 'hcl'; default?: T; }; export type CameraFunctionSpecification = | {type: 'exponential', stops: Array<[number, T]>} | {type: 'interval', stops: Array<[number, T]>}; export type SourceFunctionSpecification = | {type: 'exponential', stops: Array<[number, T]>, property: string, default?: T} | {type: 'interval', stops: Array<[number, T]>, property: string, default?: T} | {type: 'categorical', stops: Array<[string | number | boolean, T]>, property: string, default?: T} | {type: 'identity', property: string, default?: T}; export type CompositeFunctionSpecification = | {type: 'exponential', stops: Array<[{zoom: number, value: number}, T]>, property: string, default?: T} | {type: 'interval', stops: Array<[{zoom: number, value: number}, T]>, property: string, default?: T} | {type: 'categorical', stops: Array<[{zoom: number, value: string | number | boolean}, T]>, property: string, default?: T}; // eslint-disable-next-line @typescript-eslint/no-explicit-any export type ExpressionSpecification = [string, ...any[]]; export type PropertyValueSpecification = | T | CameraFunctionSpecification | ExpressionSpecification; export type DataDrivenPropertyValueSpecification = | T | FunctionSpecification | CameraFunctionSpecification | SourceFunctionSpecification | CompositeFunctionSpecification | ExpressionSpecification | (T extends Array ? Array : never); export type StyleSpecification = { "version": 8, "fragment"?: boolean, "name"?: string, "metadata"?: unknown, "center"?: Array, "zoom"?: number, "bearing"?: number, "pitch"?: number, "light"?: LightSpecification, "lights"?: Array, "terrain"?: TerrainSpecification | null | undefined, "fog"?: FogSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "snow"?: SnowSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "rain"?: RainSpecification, "camera"?: CameraSpecification, "color-theme"?: ColorThemeSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "indoor"?: IndoorSpecification, "imports"?: Array, /** * @experimental This property is experimental and subject to change in future versions. */ "iconsets"?: IconsetsSpecification, "schema"?: SchemaSpecification, "sources": SourcesSpecification, "sprite"?: string, "glyphs"?: string, "transition"?: TransitionSpecification, "projection"?: ProjectionSpecification, "layers": Array, "models"?: ModelsSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "featuresets"?: FeaturesetsSpecification }; export type SourcesSpecification = { [_: string]: SourceSpecification }; export type ModelsSpecification = { [_: string]: ModelSpecification }; export type ModelNodeOverrideSpecification = { "orientation"?: [number, number, number] }; export type ModelNodeOverridesSpecification = { [_: string]: ModelNodeOverrideSpecification }; export type ModelMaterialOverrideSpecification = { "model-color"?: ColorSpecification, "model-color-mix-intensity"?: number, "model-opacity"?: number, "model-emissive-strength"?: number }; export type ModelMaterialOverridesSpecification = { [_: string]: ModelMaterialOverrideSpecification }; export type ModelSourceModelsSpecification = { [_: string]: ModelSourceModelSpecification }; export type ModelSourceModelSpecification = { "uri": string, "position"?: [number, number], "orientation"?: [number, number, number], "nodeOverrides"?: ModelNodeOverridesSpecification, "materialOverrides"?: ModelMaterialOverridesSpecification, "nodeOverrideNames"?: Array, "materialOverrideNames"?: Array, "featureProperties"?: unknown }; export type IconsetsSpecification = { [_: string]: IconsetSpecification }; export type LightSpecification = { "anchor"?: PropertyValueSpecification<"map" | "viewport">, "position"?: PropertyValueSpecification<[number, number, number]>, "position-transition"?: TransitionSpecification, "color"?: PropertyValueSpecification, "color-transition"?: TransitionSpecification, "color-use-theme"?: PropertyValueSpecification, "intensity"?: PropertyValueSpecification, "intensity-transition"?: TransitionSpecification }; export type TerrainSpecification = { "source": string, "exaggeration"?: PropertyValueSpecification, "exaggeration-transition"?: TransitionSpecification }; export type TerrainSpecificationUpdate = { "exaggeration"?: PropertyValueSpecification, "exaggeration-transition"?: TransitionSpecification }; export type FogSpecification = { "range"?: PropertyValueSpecification<[number, number]>, "range-transition"?: TransitionSpecification, "color"?: PropertyValueSpecification, "color-transition"?: TransitionSpecification, "color-use-theme"?: PropertyValueSpecification, "high-color"?: PropertyValueSpecification, "high-color-transition"?: TransitionSpecification, "high-color-use-theme"?: PropertyValueSpecification, "space-color"?: PropertyValueSpecification, "space-color-transition"?: TransitionSpecification, "space-color-use-theme"?: PropertyValueSpecification, "horizon-blend"?: PropertyValueSpecification, "horizon-blend-transition"?: TransitionSpecification, "star-intensity"?: PropertyValueSpecification, "star-intensity-transition"?: TransitionSpecification, "vertical-range"?: PropertyValueSpecification<[number, number]>, "vertical-range-transition"?: TransitionSpecification }; export type SnowSpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ "density"?: PropertyValueSpecification, "density-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "intensity"?: PropertyValueSpecification, "intensity-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "color"?: PropertyValueSpecification, "color-transition"?: TransitionSpecification, "color-use-theme"?: PropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "opacity"?: PropertyValueSpecification, "opacity-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "vignette"?: PropertyValueSpecification, "vignette-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "vignette-color"?: PropertyValueSpecification, "vignette-color-transition"?: TransitionSpecification, "vignette-color-use-theme"?: PropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "center-thinning"?: PropertyValueSpecification, "center-thinning-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "direction"?: PropertyValueSpecification<[number, number]>, "direction-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "flake-size"?: PropertyValueSpecification, "flake-size-transition"?: TransitionSpecification }; export type RainSpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ "density"?: PropertyValueSpecification, "density-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "intensity"?: PropertyValueSpecification, "intensity-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "color"?: PropertyValueSpecification, "color-transition"?: TransitionSpecification, "color-use-theme"?: PropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "opacity"?: PropertyValueSpecification, "opacity-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "vignette"?: PropertyValueSpecification, "vignette-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "vignette-color"?: PropertyValueSpecification, "vignette-color-transition"?: TransitionSpecification, "vignette-color-use-theme"?: PropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "center-thinning"?: PropertyValueSpecification, "center-thinning-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "direction"?: PropertyValueSpecification<[number, number]>, "direction-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "droplet-size"?: PropertyValueSpecification<[number, number]>, "droplet-size-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "distortion-strength"?: PropertyValueSpecification, "distortion-strength-transition"?: TransitionSpecification }; export type CameraSpecification = { "camera-projection"?: PropertyValueSpecification<"perspective" | "orthographic">, "camera-projection-transition"?: TransitionSpecification }; export type ColorThemeSpecification = { "data"?: string | ExpressionSpecification }; export type ProjectionSpecification = { "name": "albers" | "equalEarth" | "equirectangular" | "lambertConformalConic" | "mercator" | "naturalEarth" | "winkelTripel" | "globe", "center"?: [number, number], "parallels"?: [number, number] }; export type ImportSpecification = { "id": string, "url": string, "config"?: ConfigSpecification, "data"?: StyleSpecification, "color-theme"?: ColorThemeSpecification | null | undefined }; export type IndoorSpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ [_: string]: IndoorSourceSpecification }; export type IndoorSourceSpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ "sourceId"?: string, /** * @experimental This property is experimental and subject to change in future versions. */ "sourceLayers"?: Array }; export type ConfigSpecification = { [_: string]: unknown }; export type SchemaSpecification = { [_: string]: OptionSpecification }; export type OptionSpecification = { "default": unknown | ExpressionSpecification, "type"?: "string" | "number" | "boolean" | "color", "array"?: boolean, "minValue"?: number, "maxValue"?: number, "stepValue"?: number, "values"?: Array, "metadata"?: unknown }; /** * @experimental This is experimental and subject to change in future versions. */ export type FeaturesetsSpecification = { [_: string]: FeaturesetSpecification }; /** * @experimental This is experimental and subject to change in future versions. */ export type FeaturesetSpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ "metadata"?: unknown, /** * @experimental This property is experimental and subject to change in future versions. */ "selectors"?: Array }; /** * @experimental This is experimental and subject to change in future versions. */ export type SelectorSpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ "layer": string, /** * @experimental This property is experimental and subject to change in future versions. */ "properties"?: SelectorPropertySpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "featureNamespace"?: string, /** * @experimental This property is experimental and subject to change in future versions. */ "_uniqueFeatureID"?: boolean }; /** * @experimental This is experimental and subject to change in future versions. */ export type SelectorPropertySpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ [_: string]: unknown }; export type AppearanceSpecification = { "condition"?: DataDrivenPropertyValueSpecification, "name"?: string, "properties"?: unknown }; export type VectorSourceSpecification = { "type": "vector", "url"?: string, "tiles"?: Array, "bounds"?: [number, number, number, number], "extra_bounds"?: Array<[number, number, number, number]>, "scheme"?: "xyz" | "tms", "minzoom"?: number, "maxzoom"?: number, "attribution"?: string, "promoteId"?: PromoteIdSpecification, "volatile"?: boolean, [_: string]: unknown }; export type RasterSourceSpecification = { "type": "raster", "url"?: string, "tiles"?: Array, "bounds"?: [number, number, number, number], "extra_bounds"?: Array<[number, number, number, number]>, "minzoom"?: number, "maxzoom"?: number, "tileSize"?: number, "scheme"?: "xyz" | "tms", "attribution"?: string, "volatile"?: boolean, [_: string]: unknown }; export type RasterDEMSourceSpecification = { "type": "raster-dem", "url"?: string, "tiles"?: Array, "bounds"?: [number, number, number, number], "extra_bounds"?: Array<[number, number, number, number]>, "minzoom"?: number, "maxzoom"?: number, "tileSize"?: number, "attribution"?: string, "encoding"?: "terrarium" | "mapbox", "volatile"?: boolean, [_: string]: unknown }; /** * @experimental This is experimental and subject to change in future versions. */ export type RasterArraySourceSpecification = { "type": "raster-array", "url"?: string, "tiles"?: Array, "bounds"?: [number, number, number, number], "extra_bounds"?: Array<[number, number, number, number]>, "minzoom"?: number, "maxzoom"?: number, "tileSize"?: number, "attribution"?: string, "rasterLayers"?: unknown, "volatile"?: boolean, [_: string]: unknown }; export type GeoJSONSourceSpecification = { "type": "geojson", "data"?: GeoJSON.GeoJSON | string, "maxzoom"?: number, "minzoom"?: number, "attribution"?: string, "buffer"?: number, "filter"?: unknown, "tolerance"?: number, "cluster"?: boolean, "clusterRadius"?: number, "clusterMaxZoom"?: number, "clusterMinPoints"?: number, "clusterProperties"?: unknown, "lineMetrics"?: boolean, "generateId"?: boolean, "promoteId"?: PromoteIdSpecification, "dynamic"?: boolean }; export type VideoSourceSpecification = { "type": "video", "urls": Array, "coordinates": [[number, number], [number, number], [number, number], [number, number]] }; export type ImageSourceSpecification = { "type": "image", "url"?: string, "coordinates": [[number, number], [number, number], [number, number], [number, number]] }; export type ModelSourceSpecification = { "type": "model" | "batched-model", "url"?: string, "maxzoom"?: number, "minzoom"?: number, "tiles"?: Array, "models"?: ModelSourceModelsSpecification }; export type SourceSpecification = | VectorSourceSpecification | RasterSourceSpecification | RasterDEMSourceSpecification | RasterArraySourceSpecification | GeoJSONSourceSpecification | VideoSourceSpecification | ImageSourceSpecification | ModelSourceSpecification; export type IconsetSpecification = | { "type": "sprite", "url": string } | { "type": "source", "source": string }; export type ModelSpecification = string; export type AmbientLightSpecification = { "id": string, "properties"?: { "color"?: PropertyValueSpecification, "color-transition"?: TransitionSpecification, "color-use-theme"?: PropertyValueSpecification, "intensity"?: PropertyValueSpecification, "intensity-transition"?: TransitionSpecification }, "type": "ambient" }; export type DirectionalLightSpecification = { "id": string, "properties"?: { "direction"?: PropertyValueSpecification<[number, number]>, "direction-transition"?: TransitionSpecification, "color"?: PropertyValueSpecification, "color-transition"?: TransitionSpecification, "color-use-theme"?: PropertyValueSpecification, "intensity"?: PropertyValueSpecification, "intensity-transition"?: TransitionSpecification, "cast-shadows"?: boolean, /** * @experimental This property is experimental and subject to change in future versions. */ "shadow-quality"?: PropertyValueSpecification, "shadow-intensity"?: PropertyValueSpecification, "shadow-intensity-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "shadow-draw-before-layer"?: string }, "type": "directional" }; export type FlatLightSpecification = { "id": string, "properties"?: { "anchor"?: PropertyValueSpecification<"map" | "viewport">, "position"?: PropertyValueSpecification<[number, number, number]>, "position-transition"?: TransitionSpecification, "color"?: PropertyValueSpecification, "color-transition"?: TransitionSpecification, "color-use-theme"?: PropertyValueSpecification, "intensity"?: PropertyValueSpecification, "intensity-transition"?: TransitionSpecification }, "type": "flat" }; export type LightsSpecification = | AmbientLightSpecification | DirectionalLightSpecification | FlatLightSpecification; export type FillLayerSpecification = { "id": string, "type": "fill", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "fill-sort-key"?: DataDrivenPropertyValueSpecification, "visibility"?: "visible" | "none" | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-elevation-reference"?: "none" | "hd-road-base" | "hd-road-markup" | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-construct-bridge-guard-rail"?: DataDrivenPropertyValueSpecification }, "paint"?: { "fill-antialias"?: PropertyValueSpecification, "fill-opacity"?: DataDrivenPropertyValueSpecification, "fill-opacity-transition"?: TransitionSpecification, "fill-color"?: DataDrivenPropertyValueSpecification, "fill-color-transition"?: TransitionSpecification, "fill-color-use-theme"?: PropertyValueSpecification, "fill-outline-color"?: DataDrivenPropertyValueSpecification, "fill-outline-color-transition"?: TransitionSpecification, "fill-outline-color-use-theme"?: PropertyValueSpecification, "fill-translate"?: PropertyValueSpecification<[number, number]>, "fill-translate-transition"?: TransitionSpecification, "fill-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "fill-pattern"?: DataDrivenPropertyValueSpecification, "fill-pattern-cross-fade"?: PropertyValueSpecification, "fill-emissive-strength"?: PropertyValueSpecification, "fill-emissive-strength-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-z-offset"?: DataDrivenPropertyValueSpecification, "fill-z-offset-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-bridge-guard-rail-color"?: DataDrivenPropertyValueSpecification, "fill-bridge-guard-rail-color-transition"?: TransitionSpecification, "fill-bridge-guard-rail-color-use-theme"?: PropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-tunnel-structure-color"?: DataDrivenPropertyValueSpecification, "fill-tunnel-structure-color-transition"?: TransitionSpecification, "fill-tunnel-structure-color-use-theme"?: PropertyValueSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `FillLayerSpecification['layout']` instead. */ export type FillLayout = FillLayerSpecification['layout']; /** * @deprecated Use `FillLayerSpecification['paint']` instead. */ export type FillPaint = FillLayerSpecification['paint']; export type LineLayerSpecification = { "id": string, "type": "line", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "line-cap"?: DataDrivenPropertyValueSpecification<"butt" | "round" | "square">, "line-join"?: DataDrivenPropertyValueSpecification<"bevel" | "round" | "miter" | "none">, "line-miter-limit"?: PropertyValueSpecification, "line-round-limit"?: PropertyValueSpecification, "line-sort-key"?: DataDrivenPropertyValueSpecification, "line-z-offset"?: DataDrivenPropertyValueSpecification, "line-elevation-reference"?: "none" | "sea" | "ground" | "hd-road-markup" | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "line-cross-slope"?: number | ExpressionSpecification, "visibility"?: "visible" | "none" | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "line-width-unit"?: PropertyValueSpecification<"pixels" | "meters">, "line-elevation-ground-scale"?: DataDrivenPropertyValueSpecification, "line-elevation-ground-scale-transition"?: TransitionSpecification }, "paint"?: { "line-opacity"?: DataDrivenPropertyValueSpecification, "line-opacity-transition"?: TransitionSpecification, "line-color"?: DataDrivenPropertyValueSpecification, "line-color-transition"?: TransitionSpecification, "line-color-use-theme"?: PropertyValueSpecification, "line-translate"?: PropertyValueSpecification<[number, number]>, "line-translate-transition"?: TransitionSpecification, "line-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "line-width"?: DataDrivenPropertyValueSpecification, "line-width-transition"?: TransitionSpecification, "line-gap-width"?: DataDrivenPropertyValueSpecification, "line-gap-width-transition"?: TransitionSpecification, "line-offset"?: DataDrivenPropertyValueSpecification, "line-offset-transition"?: TransitionSpecification, "line-blur"?: DataDrivenPropertyValueSpecification, "line-blur-transition"?: TransitionSpecification, "line-dasharray"?: DataDrivenPropertyValueSpecification>, "line-pattern"?: DataDrivenPropertyValueSpecification, "line-pattern-cross-fade"?: PropertyValueSpecification, "line-gradient"?: ColorSpecification | ExpressionSpecification, "line-gradient-use-theme"?: PropertyValueSpecification, "line-trim-offset"?: [number, number], /** * @experimental This property is experimental and subject to change in future versions. */ "line-trim-fade-range"?: PropertyValueSpecification<[number, number]>, /** * @experimental This property is experimental and subject to change in future versions. */ "line-trim-color"?: PropertyValueSpecification, "line-trim-color-transition"?: TransitionSpecification, "line-trim-color-use-theme"?: PropertyValueSpecification, "line-emissive-strength"?: DataDrivenPropertyValueSpecification, "line-emissive-strength-transition"?: TransitionSpecification, "line-border-width"?: DataDrivenPropertyValueSpecification, "line-border-width-transition"?: TransitionSpecification, "line-border-color"?: DataDrivenPropertyValueSpecification, "line-border-color-transition"?: TransitionSpecification, "line-border-color-use-theme"?: PropertyValueSpecification, "line-occlusion-opacity"?: PropertyValueSpecification, "line-occlusion-opacity-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "line-blend-mode"?: PropertyValueSpecification<"default" | "multiply" | "additive"> }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `LineLayerSpecification['layout']` instead. */ export type LineLayout = LineLayerSpecification['layout']; /** * @deprecated Use `LineLayerSpecification['paint']` instead. */ export type LinePaint = LineLayerSpecification['paint']; export type SymbolLayerSpecification = { "id": string, "type": "symbol", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "symbol-placement"?: PropertyValueSpecification<"point" | "line" | "line-center">, "symbol-spacing"?: PropertyValueSpecification, "symbol-avoid-edges"?: PropertyValueSpecification, "symbol-sort-key"?: DataDrivenPropertyValueSpecification, "symbol-z-order"?: PropertyValueSpecification<"auto" | "viewport-y" | "source">, "symbol-z-elevate"?: PropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "symbol-elevation-reference"?: PropertyValueSpecification<"sea" | "ground" | "hd-road-markup">, "icon-allow-overlap"?: PropertyValueSpecification, "icon-ignore-placement"?: PropertyValueSpecification, "icon-optional"?: PropertyValueSpecification, "icon-rotation-alignment"?: PropertyValueSpecification<"map" | "viewport" | "auto">, "icon-size"?: DataDrivenPropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "icon-size-scale-range"?: [number, number] | ExpressionSpecification, "icon-text-fit"?: DataDrivenPropertyValueSpecification<"none" | "width" | "height" | "both">, "icon-text-fit-padding"?: DataDrivenPropertyValueSpecification<[number, number, number, number]>, "icon-image"?: DataDrivenPropertyValueSpecification, "icon-image-use-theme"?: PropertyValueSpecification, "icon-rotate"?: DataDrivenPropertyValueSpecification, "icon-padding"?: PropertyValueSpecification, "icon-keep-upright"?: PropertyValueSpecification, "icon-offset"?: DataDrivenPropertyValueSpecification<[number, number]>, "icon-anchor"?: DataDrivenPropertyValueSpecification<"center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">, "icon-pitch-alignment"?: PropertyValueSpecification<"map" | "viewport" | "auto">, "text-pitch-alignment"?: PropertyValueSpecification<"map" | "viewport" | "auto">, "text-rotation-alignment"?: PropertyValueSpecification<"map" | "viewport" | "auto">, "text-field"?: DataDrivenPropertyValueSpecification, "text-font"?: DataDrivenPropertyValueSpecification>, "text-size"?: DataDrivenPropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "text-size-scale-range"?: [number, number] | ExpressionSpecification, "text-max-width"?: DataDrivenPropertyValueSpecification, "text-line-height"?: DataDrivenPropertyValueSpecification, "text-letter-spacing"?: DataDrivenPropertyValueSpecification, "text-justify"?: DataDrivenPropertyValueSpecification<"auto" | "left" | "center" | "right">, "text-radial-offset"?: DataDrivenPropertyValueSpecification, "text-variable-anchor"?: PropertyValueSpecification>, "text-anchor"?: DataDrivenPropertyValueSpecification<"center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">, "text-max-angle"?: PropertyValueSpecification, "text-writing-mode"?: PropertyValueSpecification>, "text-rotate"?: DataDrivenPropertyValueSpecification, "text-padding"?: PropertyValueSpecification, "text-keep-upright"?: PropertyValueSpecification, "text-transform"?: DataDrivenPropertyValueSpecification<"none" | "uppercase" | "lowercase">, "text-offset"?: DataDrivenPropertyValueSpecification<[number, number]>, "text-allow-overlap"?: PropertyValueSpecification, "text-ignore-placement"?: PropertyValueSpecification, "text-optional"?: PropertyValueSpecification, "visibility"?: "visible" | "none" | ExpressionSpecification }, "paint"?: { "icon-opacity"?: DataDrivenPropertyValueSpecification, "icon-opacity-transition"?: TransitionSpecification, "icon-occlusion-opacity"?: DataDrivenPropertyValueSpecification, "icon-occlusion-opacity-transition"?: TransitionSpecification, "icon-emissive-strength"?: DataDrivenPropertyValueSpecification, "icon-emissive-strength-transition"?: TransitionSpecification, "text-emissive-strength"?: DataDrivenPropertyValueSpecification, "text-emissive-strength-transition"?: TransitionSpecification, "icon-color"?: DataDrivenPropertyValueSpecification, "icon-color-transition"?: TransitionSpecification, "icon-color-use-theme"?: PropertyValueSpecification, "icon-halo-color"?: DataDrivenPropertyValueSpecification, "icon-halo-color-transition"?: TransitionSpecification, "icon-halo-color-use-theme"?: PropertyValueSpecification, "icon-halo-width"?: DataDrivenPropertyValueSpecification, "icon-halo-width-transition"?: TransitionSpecification, "icon-halo-blur"?: DataDrivenPropertyValueSpecification, "icon-halo-blur-transition"?: TransitionSpecification, "icon-translate"?: PropertyValueSpecification<[number, number]>, "icon-translate-transition"?: TransitionSpecification, "icon-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "icon-image-cross-fade"?: PropertyValueSpecification, "text-opacity"?: DataDrivenPropertyValueSpecification, "text-opacity-transition"?: TransitionSpecification, "text-occlusion-opacity"?: DataDrivenPropertyValueSpecification, "text-occlusion-opacity-transition"?: TransitionSpecification, "text-color"?: DataDrivenPropertyValueSpecification, "text-color-transition"?: TransitionSpecification, "text-color-use-theme"?: PropertyValueSpecification, "text-halo-color"?: DataDrivenPropertyValueSpecification, "text-halo-color-transition"?: TransitionSpecification, "text-halo-color-use-theme"?: PropertyValueSpecification, "text-halo-width"?: DataDrivenPropertyValueSpecification, "text-halo-width-transition"?: TransitionSpecification, "text-halo-blur"?: DataDrivenPropertyValueSpecification, "text-halo-blur-transition"?: TransitionSpecification, "text-translate"?: PropertyValueSpecification<[number, number]>, "text-translate-transition"?: TransitionSpecification, "text-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "icon-color-saturation"?: number | ExpressionSpecification, "icon-color-contrast"?: number | ExpressionSpecification, "icon-color-brightness-min"?: number | ExpressionSpecification, "icon-color-brightness-max"?: number | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "symbol-z-offset"?: DataDrivenPropertyValueSpecification, "symbol-z-offset-transition"?: TransitionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `SymbolLayerSpecification['layout']` instead. */ export type SymbolLayout = SymbolLayerSpecification['layout']; /** * @deprecated Use `SymbolLayerSpecification['paint']` instead. */ export type SymbolPaint = SymbolLayerSpecification['paint']; export type CircleLayerSpecification = { "id": string, "type": "circle", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "circle-sort-key"?: DataDrivenPropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "circle-elevation-reference"?: "none" | "hd-road-markup" | ExpressionSpecification, "visibility"?: "visible" | "none" | ExpressionSpecification }, "paint"?: { "circle-radius"?: DataDrivenPropertyValueSpecification, "circle-radius-transition"?: TransitionSpecification, "circle-color"?: DataDrivenPropertyValueSpecification, "circle-color-transition"?: TransitionSpecification, "circle-color-use-theme"?: PropertyValueSpecification, "circle-blur"?: DataDrivenPropertyValueSpecification, "circle-blur-transition"?: TransitionSpecification, "circle-opacity"?: DataDrivenPropertyValueSpecification, "circle-opacity-transition"?: TransitionSpecification, "circle-translate"?: PropertyValueSpecification<[number, number]>, "circle-translate-transition"?: TransitionSpecification, "circle-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "circle-pitch-scale"?: PropertyValueSpecification<"map" | "viewport">, "circle-pitch-alignment"?: PropertyValueSpecification<"map" | "viewport">, "circle-stroke-width"?: DataDrivenPropertyValueSpecification, "circle-stroke-width-transition"?: TransitionSpecification, "circle-stroke-color"?: DataDrivenPropertyValueSpecification, "circle-stroke-color-transition"?: TransitionSpecification, "circle-stroke-color-use-theme"?: PropertyValueSpecification, "circle-stroke-opacity"?: DataDrivenPropertyValueSpecification, "circle-stroke-opacity-transition"?: TransitionSpecification, "circle-emissive-strength"?: PropertyValueSpecification, "circle-emissive-strength-transition"?: TransitionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `CircleLayerSpecification['layout']` instead. */ export type CircleLayout = CircleLayerSpecification['layout']; /** * @deprecated Use `CircleLayerSpecification['paint']` instead. */ export type CirclePaint = CircleLayerSpecification['paint']; export type HeatmapLayerSpecification = { "id": string, "type": "heatmap", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification }, "paint"?: { "heatmap-radius"?: DataDrivenPropertyValueSpecification, "heatmap-radius-transition"?: TransitionSpecification, "heatmap-weight"?: DataDrivenPropertyValueSpecification, "heatmap-intensity"?: PropertyValueSpecification, "heatmap-intensity-transition"?: TransitionSpecification, "heatmap-color"?: ColorSpecification | ExpressionSpecification, "heatmap-color-use-theme"?: PropertyValueSpecification, "heatmap-opacity"?: PropertyValueSpecification, "heatmap-opacity-transition"?: TransitionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `HeatmapLayerSpecification['layout']` instead. */ export type HeatmapLayout = HeatmapLayerSpecification['layout']; /** * @deprecated Use `HeatmapLayerSpecification['paint']` instead. */ export type HeatmapPaint = HeatmapLayerSpecification['paint']; export type FillExtrusionLayerSpecification = { "id": string, "type": "fill-extrusion", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-edge-radius"?: number | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "source-max-zoom"?: number }, "paint"?: { "fill-extrusion-opacity"?: PropertyValueSpecification, "fill-extrusion-opacity-transition"?: TransitionSpecification, "fill-extrusion-color"?: DataDrivenPropertyValueSpecification, "fill-extrusion-color-transition"?: TransitionSpecification, "fill-extrusion-color-use-theme"?: PropertyValueSpecification, "fill-extrusion-translate"?: PropertyValueSpecification<[number, number]>, "fill-extrusion-translate-transition"?: TransitionSpecification, "fill-extrusion-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "fill-extrusion-pattern"?: DataDrivenPropertyValueSpecification, "fill-extrusion-pattern-cross-fade"?: PropertyValueSpecification, "fill-extrusion-height"?: DataDrivenPropertyValueSpecification, "fill-extrusion-height-transition"?: TransitionSpecification, "fill-extrusion-base"?: DataDrivenPropertyValueSpecification, "fill-extrusion-base-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-height-alignment"?: "terrain" | "flat", /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-base-alignment"?: "terrain" | "flat", "fill-extrusion-vertical-gradient"?: PropertyValueSpecification, "fill-extrusion-ambient-occlusion-intensity"?: PropertyValueSpecification, "fill-extrusion-ambient-occlusion-intensity-transition"?: TransitionSpecification, "fill-extrusion-ambient-occlusion-radius"?: PropertyValueSpecification, "fill-extrusion-ambient-occlusion-radius-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-ambient-occlusion-wall-radius"?: PropertyValueSpecification, "fill-extrusion-ambient-occlusion-wall-radius-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-ambient-occlusion-ground-radius"?: PropertyValueSpecification, "fill-extrusion-ambient-occlusion-ground-radius-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-ambient-occlusion-ground-attenuation"?: PropertyValueSpecification, "fill-extrusion-ambient-occlusion-ground-attenuation-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-flood-light-color"?: PropertyValueSpecification, "fill-extrusion-flood-light-color-transition"?: TransitionSpecification, "fill-extrusion-flood-light-color-use-theme"?: PropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-flood-light-intensity"?: PropertyValueSpecification, "fill-extrusion-flood-light-intensity-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-flood-light-wall-radius"?: DataDrivenPropertyValueSpecification, "fill-extrusion-flood-light-wall-radius-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-flood-light-ground-radius"?: DataDrivenPropertyValueSpecification, "fill-extrusion-flood-light-ground-radius-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-flood-light-ground-attenuation"?: PropertyValueSpecification, "fill-extrusion-flood-light-ground-attenuation-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-vertical-scale"?: PropertyValueSpecification, "fill-extrusion-vertical-scale-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-rounded-roof"?: PropertyValueSpecification, "fill-extrusion-cutoff-fade-range"?: number | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-front-cutoff"?: PropertyValueSpecification<[number, number, number]>, "fill-extrusion-emissive-strength"?: DataDrivenPropertyValueSpecification, "fill-extrusion-emissive-strength-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "fill-extrusion-line-width"?: DataDrivenPropertyValueSpecification, "fill-extrusion-line-width-transition"?: TransitionSpecification, "fill-extrusion-cast-shadows"?: boolean }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `FillExtrusionLayerSpecification['layout']` instead. */ export type FillExtrusionLayout = FillExtrusionLayerSpecification['layout']; /** * @deprecated Use `FillExtrusionLayerSpecification['paint']` instead. */ export type FillExtrusionPaint = FillExtrusionLayerSpecification['paint']; export type BuildingLayerSpecification = { "id": string, "type": "building", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification, "building-facade"?: DataDrivenPropertyValueSpecification, "building-facade-floors"?: DataDrivenPropertyValueSpecification, "building-facade-unit-width"?: DataDrivenPropertyValueSpecification, "building-facade-window"?: DataDrivenPropertyValueSpecification<[number, number]>, "building-roof-shape"?: DataDrivenPropertyValueSpecification<"flat" | "hipped" | "gabled" | "parapet" | "mansard" | "skillion" | "pyramidal">, "building-height"?: DataDrivenPropertyValueSpecification, "building-height-transition"?: TransitionSpecification, "building-base"?: DataDrivenPropertyValueSpecification, "building-base-transition"?: TransitionSpecification, "building-flood-light-wall-radius"?: DataDrivenPropertyValueSpecification, "building-flood-light-wall-radius-transition"?: TransitionSpecification, "building-flood-light-ground-radius"?: DataDrivenPropertyValueSpecification, "building-flood-light-ground-radius-transition"?: TransitionSpecification, "building-flip-roof-orientation"?: DataDrivenPropertyValueSpecification, "building-flip-roof-orientation-transition"?: TransitionSpecification }, "paint"?: { "building-opacity"?: PropertyValueSpecification, "building-opacity-transition"?: TransitionSpecification, "building-ambient-occlusion-intensity"?: number | ExpressionSpecification, "building-ambient-occlusion-intensity-transition"?: TransitionSpecification, "building-ambient-occlusion-ground-intensity"?: PropertyValueSpecification, "building-ambient-occlusion-ground-intensity-transition"?: TransitionSpecification, "building-ambient-occlusion-ground-radius"?: PropertyValueSpecification, "building-ambient-occlusion-ground-radius-transition"?: TransitionSpecification, "building-ambient-occlusion-ground-attenuation"?: PropertyValueSpecification, "building-ambient-occlusion-ground-attenuation-transition"?: TransitionSpecification, "building-vertical-scale"?: PropertyValueSpecification, "building-vertical-scale-transition"?: TransitionSpecification, "building-cast-shadows"?: boolean, "building-color"?: DataDrivenPropertyValueSpecification, "building-color-use-theme"?: PropertyValueSpecification, "building-emissive-strength"?: DataDrivenPropertyValueSpecification, "building-facade-emissive-chance"?: PropertyValueSpecification, "building-cutoff-fade-range"?: number | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "building-front-cutoff"?: PropertyValueSpecification<[number, number, number]>, "building-flood-light-color"?: PropertyValueSpecification, "building-flood-light-color-transition"?: TransitionSpecification, "building-flood-light-color-use-theme"?: PropertyValueSpecification, "building-flood-light-intensity"?: PropertyValueSpecification, "building-flood-light-intensity-transition"?: TransitionSpecification, "building-flood-light-ground-attenuation"?: PropertyValueSpecification, "building-flood-light-ground-attenuation-transition"?: TransitionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `BuildingLayerSpecification['layout']` instead. */ export type BuildingLayout = BuildingLayerSpecification['layout']; /** * @deprecated Use `BuildingLayerSpecification['paint']` instead. */ export type BuildingPaint = BuildingLayerSpecification['paint']; export type RasterLayerSpecification = { "id": string, "type": "raster", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification }, "paint"?: { "raster-opacity"?: PropertyValueSpecification, "raster-opacity-transition"?: TransitionSpecification, "raster-color"?: ColorSpecification | ExpressionSpecification, "raster-color-use-theme"?: PropertyValueSpecification, "raster-color-mix"?: PropertyValueSpecification<[number, number, number, number]>, "raster-color-mix-transition"?: TransitionSpecification, "raster-color-range"?: PropertyValueSpecification<[number, number]>, "raster-color-range-transition"?: TransitionSpecification, "raster-hue-rotate"?: PropertyValueSpecification, "raster-hue-rotate-transition"?: TransitionSpecification, "raster-brightness-min"?: PropertyValueSpecification, "raster-brightness-min-transition"?: TransitionSpecification, "raster-brightness-max"?: PropertyValueSpecification, "raster-brightness-max-transition"?: TransitionSpecification, "raster-saturation"?: PropertyValueSpecification, "raster-saturation-transition"?: TransitionSpecification, "raster-contrast"?: PropertyValueSpecification, "raster-contrast-transition"?: TransitionSpecification, "raster-resampling"?: PropertyValueSpecification<"linear" | "nearest">, "raster-fade-duration"?: PropertyValueSpecification, "raster-emissive-strength"?: PropertyValueSpecification, "raster-emissive-strength-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "raster-array-band"?: string, /** * @experimental This property is experimental and subject to change in future versions. */ "raster-elevation"?: PropertyValueSpecification, "raster-elevation-transition"?: TransitionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "raster-elevation-reference"?: "sea" | "ground" | ExpressionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `RasterLayerSpecification['layout']` instead. */ export type RasterLayout = RasterLayerSpecification['layout']; /** * @deprecated Use `RasterLayerSpecification['paint']` instead. */ export type RasterPaint = RasterLayerSpecification['paint']; export type RasterParticleLayerSpecification = { "id": string, "type": "raster-particle", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification }, "paint"?: { "raster-particle-array-band"?: string, "raster-particle-count"?: number, "raster-particle-color"?: ColorSpecification | ExpressionSpecification, "raster-particle-color-use-theme"?: PropertyValueSpecification, "raster-particle-max-speed"?: number, "raster-particle-speed-factor"?: PropertyValueSpecification, "raster-particle-speed-factor-transition"?: TransitionSpecification, "raster-particle-fade-opacity-factor"?: PropertyValueSpecification, "raster-particle-fade-opacity-factor-transition"?: TransitionSpecification, "raster-particle-reset-rate-factor"?: number, "raster-particle-elevation"?: PropertyValueSpecification, "raster-particle-elevation-transition"?: TransitionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `RasterParticleLayerSpecification['layout']` instead. */ export type RasterParticleLayout = RasterParticleLayerSpecification['layout']; /** * @deprecated Use `RasterParticleLayerSpecification['paint']` instead. */ export type RasterParticlePaint = RasterParticleLayerSpecification['paint']; export type HillshadeLayerSpecification = { "id": string, "type": "hillshade", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification }, "paint"?: { "hillshade-illumination-direction"?: PropertyValueSpecification, "hillshade-illumination-anchor"?: PropertyValueSpecification<"map" | "viewport">, "hillshade-exaggeration"?: PropertyValueSpecification, "hillshade-exaggeration-transition"?: TransitionSpecification, "hillshade-shadow-color"?: PropertyValueSpecification, "hillshade-shadow-color-transition"?: TransitionSpecification, "hillshade-shadow-color-use-theme"?: PropertyValueSpecification, "hillshade-highlight-color"?: PropertyValueSpecification, "hillshade-highlight-color-transition"?: TransitionSpecification, "hillshade-highlight-color-use-theme"?: PropertyValueSpecification, "hillshade-accent-color"?: PropertyValueSpecification, "hillshade-accent-color-transition"?: TransitionSpecification, "hillshade-accent-color-use-theme"?: PropertyValueSpecification, "hillshade-emissive-strength"?: PropertyValueSpecification, "hillshade-emissive-strength-transition"?: TransitionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `HillshadeLayerSpecification['layout']` instead. */ export type HillshadeLayout = HillshadeLayerSpecification['layout']; /** * @deprecated Use `HillshadeLayerSpecification['paint']` instead. */ export type HillshadePaint = HillshadeLayerSpecification['paint']; export type ModelLayerSpecification = { "id": string, "type": "model", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification, "model-id"?: DataDrivenPropertyValueSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "model-allow-density-reduction"?: boolean }, "paint"?: { "model-opacity"?: DataDrivenPropertyValueSpecification, "model-opacity-transition"?: TransitionSpecification, "model-rotation"?: DataDrivenPropertyValueSpecification<[number, number, number]>, "model-rotation-transition"?: TransitionSpecification, "model-scale"?: DataDrivenPropertyValueSpecification<[number, number, number]>, "model-scale-transition"?: TransitionSpecification, "model-translation"?: DataDrivenPropertyValueSpecification<[number, number, number]>, "model-translation-transition"?: TransitionSpecification, "model-color"?: DataDrivenPropertyValueSpecification, "model-color-transition"?: TransitionSpecification, "model-color-use-theme"?: PropertyValueSpecification, "model-color-mix-intensity"?: DataDrivenPropertyValueSpecification, "model-color-mix-intensity-transition"?: TransitionSpecification, "model-type"?: "common-3d" | "location-indicator", "model-cast-shadows"?: boolean, "model-receive-shadows"?: boolean, "model-ambient-occlusion-intensity"?: PropertyValueSpecification, "model-ambient-occlusion-intensity-transition"?: TransitionSpecification, "model-emissive-strength"?: DataDrivenPropertyValueSpecification, "model-emissive-strength-transition"?: TransitionSpecification, "model-roughness"?: DataDrivenPropertyValueSpecification, "model-roughness-transition"?: TransitionSpecification, "model-height-based-emissive-strength-multiplier"?: DataDrivenPropertyValueSpecification<[number, number, number, number, number]>, "model-height-based-emissive-strength-multiplier-transition"?: TransitionSpecification, "model-cutoff-fade-range"?: number | ExpressionSpecification, "model-front-cutoff"?: PropertyValueSpecification<[number, number, number]>, "model-elevation-reference"?: "sea" | "ground" | "hd-road-markup" | ExpressionSpecification, /** * @experimental This property is experimental and subject to change in future versions. */ "model-ignore-line-cutout"?: boolean | ExpressionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `ModelLayerSpecification['layout']` instead. */ export type ModelLayout = ModelLayerSpecification['layout']; /** * @deprecated Use `ModelLayerSpecification['paint']` instead. */ export type ModelPaint = ModelLayerSpecification['paint']; export type BackgroundLayerSpecification = { "id": string, "type": "background", "metadata"?: unknown, "source"?: never, "source-layer"?: never, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: never, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification }, "paint"?: { /** * @experimental This property is experimental and subject to change in future versions. */ "background-pitch-alignment"?: "map" | "viewport" | ExpressionSpecification, "background-color"?: PropertyValueSpecification, "background-color-transition"?: TransitionSpecification, "background-color-use-theme"?: PropertyValueSpecification, "background-pattern"?: PropertyValueSpecification, "background-opacity"?: PropertyValueSpecification, "background-opacity-transition"?: TransitionSpecification, "background-emissive-strength"?: PropertyValueSpecification, "background-emissive-strength-transition"?: TransitionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `BackgroundLayerSpecification['layout']` instead. */ export type BackgroundLayout = BackgroundLayerSpecification['layout']; /** * @deprecated Use `BackgroundLayerSpecification['paint']` instead. */ export type BackgroundPaint = BackgroundLayerSpecification['paint']; export type SkyLayerSpecification = { "id": string, "type": "sky", "metadata"?: unknown, "source"?: never, "source-layer"?: never, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: never, "layout"?: { "visibility"?: "visible" | "none" | ExpressionSpecification }, "paint"?: { "sky-type"?: PropertyValueSpecification<"gradient" | "atmosphere">, "sky-atmosphere-sun"?: PropertyValueSpecification<[number, number]>, "sky-atmosphere-sun-intensity"?: number, "sky-gradient-center"?: PropertyValueSpecification<[number, number]>, "sky-gradient-radius"?: PropertyValueSpecification, "sky-gradient"?: ColorSpecification | ExpressionSpecification, "sky-gradient-use-theme"?: PropertyValueSpecification, "sky-atmosphere-halo-color"?: ColorSpecification, "sky-atmosphere-halo-color-use-theme"?: PropertyValueSpecification, "sky-atmosphere-color"?: ColorSpecification, "sky-atmosphere-color-use-theme"?: PropertyValueSpecification, "sky-opacity"?: PropertyValueSpecification, "sky-opacity-transition"?: TransitionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array }; /** * @deprecated Use `SkyLayerSpecification['layout']` instead. */ export type SkyLayout = SkyLayerSpecification['layout']; /** * @deprecated Use `SkyLayerSpecification['paint']` instead. */ export type SkyPaint = SkyLayerSpecification['paint']; export type SlotLayerSpecification = { "id": string, "type": "slot", "metadata"?: unknown, "source"?: never, "source-layer"?: never, "slot"?: string, "minzoom"?: never, "maxzoom"?: never, "filter"?: never, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array, "layout"?: never, "paint"?: never }; export type ClipLayerSpecification = { "id": string, "type": "clip", "metadata"?: unknown, "source": string, "source-layer"?: string, "slot"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "clip-layer-types"?: Array<"model" | "symbol"> | ExpressionSpecification, "clip-layer-scope"?: Array | ExpressionSpecification, "visibility"?: "visible" | "none" | ExpressionSpecification }, /** * @experimental This property is experimental and subject to change in future versions. */ "appearances"?: Array, "paint"?: never }; /** * @deprecated Use `ClipLayerSpecification['layout']` instead. */ export type ClipLayout = ClipLayerSpecification['layout']; export type LayerSpecification = | FillLayerSpecification | LineLayerSpecification | SymbolLayerSpecification | CircleLayerSpecification | HeatmapLayerSpecification | FillExtrusionLayerSpecification | BuildingLayerSpecification | RasterLayerSpecification | RasterParticleLayerSpecification | HillshadeLayerSpecification | ModelLayerSpecification | BackgroundLayerSpecification | SkyLayerSpecification | SlotLayerSpecification | ClipLayerSpecification; export type LayoutSpecification = UnionToIntersection>; export type PaintSpecification = UnionToIntersection>; // Aliases for easier migration from @types/mapbox-gl export type Layer = Pick< LayerSpecification, | "id" | "type" | "source" | "source-layer" | "slot" | "filter" | "layout" | "paint" | "minzoom" | "maxzoom" | "metadata" >; /** * @deprecated Use `StyleSpecification` instead. */ export type Style = StyleSpecification; /** * @deprecated Use `LayerSpecification` instead. */ export type AnyLayer = LayerSpecification; /** * @deprecated Use `FillLayerSpecification` instead. */ export type FillLayer = FillLayerSpecification; /** * @deprecated Use `LineLayerSpecification` instead. */ export type LineLayer = LineLayerSpecification; /** * @deprecated Use `SymbolLayerSpecification` instead. */ export type SymbolLayer = SymbolLayerSpecification; /** * @deprecated Use `CircleLayerSpecification` instead. */ export type CircleLayer = CircleLayerSpecification; /** * @deprecated Use `HeatmapLayerSpecification` instead. */ export type HeatmapLayer = HeatmapLayerSpecification; /** * @deprecated Use `FillExtrusionLayerSpecification` instead. */ export type FillExtrusionLayer = FillExtrusionLayerSpecification; /** * @deprecated Use `BuildingLayerSpecification` instead. */ export type BuildingLayer = BuildingLayerSpecification; /** * @deprecated Use `RasterLayerSpecification` instead. */ export type RasterLayer = RasterLayerSpecification; /** * @deprecated Use `RasterParticleLayerSpecification` instead. */ export type RasterParticleLayer = RasterParticleLayerSpecification; /** * @deprecated Use `HillshadeLayerSpecification` instead. */ export type HillshadeLayer = HillshadeLayerSpecification; /** * @deprecated Use `ModelLayerSpecification` instead. */ export type ModelLayer = ModelLayerSpecification; /** * @deprecated Use `BackgroundLayerSpecification` instead. */ export type BackgroundLayer = BackgroundLayerSpecification; /** * @deprecated Use `SkyLayerSpecification` instead. */ export type SkyLayer = SkyLayerSpecification; /** * @deprecated Use `SlotLayerSpecification` instead. */ export type SlotLayer = SlotLayerSpecification; /** * @deprecated Use `ClipLayerSpecification` instead. */ export type ClipLayer = ClipLayerSpecification; /** * @deprecated Use `LayoutSpecification` instead. */ export type AnyLayout = LayoutSpecification; /** * @deprecated Use `PaintSpecification` instead. */ export type AnyPaint = PaintSpecification; /** * @deprecated Use `ExpressionSpecification` instead. */ export type Expression = ExpressionSpecification; /** * @deprecated Use `TransitionSpecification` instead. */ export type Transition = TransitionSpecification; /** * @deprecated Use `SourceSpecification` instead. */ export type AnySourceData = SourceSpecification; /** * @deprecated Use `SourcesSpecification` instead. */ export type Sources = SourcesSpecification; /** * @deprecated Use `ProjectionSpecification` instead. */ export type Projection = ProjectionSpecification;