UNPKG

maplibre-gl

Version:

BSD licensed community fork of mapbox-gl, a WebGL interactive maps library

577 lines (536 loc) 27.6 kB
// Generated code; do not edit. Edit build/generate-style-spec.ts instead. /* eslint-disable */ export type ColorSpecification = string; export type PaddingSpecification = number | number[]; export type FormattedSpecification = string; export type ResolvedImageSpecification = string; export type PromoteIdSpecification = {[_: string]: string} | string; export type ExpressionInputType = string | number | boolean; export type CollatorExpressionSpecification = ['collator', { 'case-sensitive'?: boolean | ExpressionSpecification, 'diacritic-sensitive'?: boolean | ExpressionSpecification, locale?: string | ExpressionSpecification} ]; // collator export type InterpolationSpecification = | ['linear'] | ['exponential', number | ExpressionSpecification] | ['cubic-bezier', number | ExpressionSpecification, number | ExpressionSpecification, number | ExpressionSpecification, number | ExpressionSpecification] export type ExpressionSpecification = // types | ['array', unknown | ExpressionSpecification] // array | ['array', ExpressionInputType | ExpressionSpecification, unknown | ExpressionSpecification] // array | ['array', ExpressionInputType | ExpressionSpecification, number | ExpressionSpecification, unknown | ExpressionSpecification] // array | ['boolean', ...(unknown | ExpressionSpecification)[], unknown | ExpressionSpecification] // boolean | CollatorExpressionSpecification | ['format', ...(string | ['image', ExpressionSpecification] | ExpressionSpecification | {'font-scale'?: number | ExpressionSpecification, 'text-font'?: string[] | ExpressionSpecification, 'text-color': ColorSpecification | ExpressionSpecification})[]] // string | ['image', unknown | ExpressionSpecification] // image | ['literal', unknown] | ['number', unknown | ExpressionSpecification, ...(unknown | ExpressionSpecification)[]] // number | ['number-format', number | ExpressionSpecification, {'locale'?: string | ExpressionSpecification, 'currency'?: string | ExpressionSpecification, 'min-fraction-digits'?: number | ExpressionSpecification, 'max-fraction-digits'?: number | ExpressionSpecification}] // string | ['object', unknown | ExpressionSpecification, ...(unknown | ExpressionSpecification)[]] // object | ['string', unknown | ExpressionSpecification, ...(unknown | ExpressionSpecification)[]] // string | ['to-boolean', unknown | ExpressionSpecification] // boolean | ['to-color', unknown | ExpressionSpecification, ...(unknown | ExpressionSpecification)[]] // color | ['to-number', unknown | ExpressionSpecification, ...(unknown | ExpressionSpecification)[]] // number | ['to-string', unknown | ExpressionSpecification] // string // feature data | ['accumulated'] | ['feature-state', string] | ['geometry-type'] // string | ['id'] | ['line-progress'] // number | ['properties'] // object // lookup | ['at', number | ExpressionSpecification, ExpressionSpecification] | ['get', string | ExpressionSpecification, (Record<string, unknown> | ExpressionSpecification)?] | ['has', string | ExpressionSpecification, (Record<string, unknown> | ExpressionSpecification)?] | ['in', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification] | ['index-of', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification] // number | ['length', string | ExpressionSpecification] | ['slice', string | ExpressionSpecification, number | ExpressionSpecification] // Decision | ['!', boolean | ExpressionSpecification] // boolean | ['!=', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, CollatorExpressionSpecification?] // boolean | ['<', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, CollatorExpressionSpecification?] // boolean | ['<=', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, CollatorExpressionSpecification?] // boolean | ['==', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, CollatorExpressionSpecification?] // boolean | ['>', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, CollatorExpressionSpecification?] // boolean | ['>=', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, CollatorExpressionSpecification?] // boolean | ['all', ...(boolean | ExpressionSpecification)[]] // boolean | ['any', ...(boolean | ExpressionSpecification)[]] // boolean | ['case', boolean | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, ...(boolean | ExpressionInputType | ExpressionSpecification)[], ExpressionInputType | ExpressionSpecification] | ['coalesce', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, ...(ExpressionInputType | ExpressionSpecification)[]] | ['match', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionInputType[], ExpressionInputType | ExpressionSpecification, ...(ExpressionInputType | ExpressionInputType[] | ExpressionSpecification)[], // repeated as above ExpressionInputType] | ['within', unknown | ExpressionSpecification] // Ramps, scales, curves | ['interpolate', InterpolationSpecification, number | ExpressionSpecification, number | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, ...(number | ExpressionInputType | ExpressionSpecification)[]] | ['interpolate-hcl', InterpolationSpecification, number | ExpressionSpecification, number | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, ...(number | ColorSpecification | ExpressionSpecification)[]] | ['interpolate-lab', InterpolationSpecification, number | ExpressionSpecification, number | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, ...(number | ColorSpecification | ExpressionSpecification)[]] | ['step', number | ExpressionSpecification, number | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, ...(number | ExpressionInputType | ExpressionSpecification)[]] // Variable binding | ['let', string, ExpressionInputType | ExpressionSpecification, ...(string | ExpressionInputType | ExpressionSpecification)[]] | ['var', string] // String | ['concat', ExpressionInputType | ExpressionSpecification, ExpressionInputType | ExpressionSpecification, ...(ExpressionInputType | ExpressionSpecification)[]] // string | ['downcase', string | ExpressionSpecification] // string | ['is-supported-script', string | ExpressionSpecification] // boolean | ['resolved-locale', CollatorExpressionSpecification] // string | ['upcase', string | ExpressionSpecification] // string // Color | ['rgb', number | ExpressionSpecification, number | ExpressionSpecification, number | ExpressionSpecification] // color | ['rgba', number | ExpressionSpecification, number | ExpressionSpecification, number | ExpressionSpecification, number | ExpressionSpecification] | ['to-rgba', ColorSpecification | ExpressionSpecification] // Math | ['-', number | ExpressionSpecification, (number | ExpressionSpecification)?] // number | ['*', number | ExpressionSpecification, number | ExpressionSpecification, ...(number | ExpressionSpecification)[]] // number | ['/', number | ExpressionSpecification, number | ExpressionSpecification] // number | ['%', number | ExpressionSpecification, number | ExpressionSpecification] // number | ['^', number | ExpressionSpecification, number | ExpressionSpecification] // number | ['+', number | ExpressionSpecification, number | ExpressionSpecification, ...(number | ExpressionSpecification)[]] // number | ['abs', number | ExpressionSpecification] // number | ['acos', number | ExpressionSpecification] // number | ['asin', number | ExpressionSpecification] // number | ['atan', number | ExpressionSpecification] // number | ['ceil', number | ExpressionSpecification] // number | ['cos', number | ExpressionSpecification] // number | ['distance', Record<string, unknown> | ExpressionSpecification] // number | ['ExpressionSpecification'] // number | ['floor', number | ExpressionSpecification] // number | ['ln', number | ExpressionSpecification] // number | ['ln2'] // number | ['log10', number | ExpressionSpecification] // number | ['log2', number | ExpressionSpecification] // number | ['max', number | ExpressionSpecification, ...(number | ExpressionSpecification)[]] // number | ['min', number | ExpressionSpecification, ...(number | ExpressionSpecification)[]] // number | ['pi'] // number | ['round', number | ExpressionSpecification] // number | ['sin', number | ExpressionSpecification] // number | ['sqrt', number | ExpressionSpecification] // number | ['tan', number | ExpressionSpecification] // number // Zoom | ['zoom'] // number // Heatmap | ['heatmap-density'] // number export type ExpressionFilterSpecification = boolean | ExpressionSpecification export type LegacyFilterSpecification = // Existential | ['has', string] | ['!has', string] // Comparison | ['==', string, string | number | boolean] | ['!=', string, string | number | boolean] | ['>', string, string | number | boolean] | ['>=', string, string | number | boolean] | ['<', string, string | number | boolean] | ['<=', string, string | number | boolean] // Set membership | ['in', string, ...(string | number | boolean)[]] | ['!in', string, ...(string | number | boolean)[]] // Combining | ['all', ...LegacyFilterSpecification[]] | ['any', ...LegacyFilterSpecification[]] | ['none', ...LegacyFilterSpecification[]] export type FilterSpecification = ExpressionFilterSpecification | LegacyFilterSpecification export type TransitionSpecification = { duration?: number, delay?: number }; // Note: doesn't capture interpolatable vs. non-interpolatable types. export type CameraFunctionSpecification<T> = { type: 'exponential', stops: Array<[number, T]> } | { type: 'interval', stops: Array<[number, T]> }; export type SourceFunctionSpecification<T> = { 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<T> = { 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 }; export type PropertyValueSpecification<T> = T | CameraFunctionSpecification<T> | ExpressionSpecification; export type DataDrivenPropertyValueSpecification<T> = T | CameraFunctionSpecification<T> | SourceFunctionSpecification<T> | CompositeFunctionSpecification<T> | ExpressionSpecification; export type StyleSpecification = { "version": 8, "name"?: string, "metadata"?: unknown, "center"?: Array<number>, "zoom"?: number, "bearing"?: number, "pitch"?: number, "light"?: LightSpecification, "terrain"?: TerrainSpecification, "sources": {[_: string]: SourceSpecification}, "sprite"?: string, "glyphs"?: string, "transition"?: TransitionSpecification, "layers": Array<LayerSpecification> }; export type LightSpecification = { "anchor"?: PropertyValueSpecification<"map" | "viewport">, "position"?: PropertyValueSpecification<[number, number, number]>, "color"?: PropertyValueSpecification<ColorSpecification>, "intensity"?: PropertyValueSpecification<number> }; export type TerrainSpecification = { "source": string, "exaggeration"?: number, "elevationOffset"?: number }; export type VectorSourceSpecification = { "type": "vector", "url"?: string, "tiles"?: Array<string>, "bounds"?: [number, number, number, number], "scheme"?: "xyz" | "tms", "minzoom"?: number, "maxzoom"?: number, "attribution"?: string, "promoteId"?: PromoteIdSpecification, "volatile"?: boolean }; export type RasterSourceSpecification = { "type": "raster", "url"?: string, "tiles"?: Array<string>, "bounds"?: [number, number, number, number], "minzoom"?: number, "maxzoom"?: number, "tileSize"?: number, "scheme"?: "xyz" | "tms", "attribution"?: string, "volatile"?: boolean }; export type RasterDEMSourceSpecification = { "type": "raster-dem", "url"?: string, "tiles"?: Array<string>, "bounds"?: [number, number, number, number], "minzoom"?: number, "maxzoom"?: number, "tileSize"?: number, "attribution"?: string, "encoding"?: "terrarium" | "mapbox", "volatile"?: boolean }; export type GeoJSONSourceSpecification = { "type": "geojson", "data"?: unknown, "maxzoom"?: 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 }; export type VideoSourceSpecification = { "type": "video", "urls": Array<string>, "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 SourceSpecification = | VectorSourceSpecification | RasterSourceSpecification | RasterDEMSourceSpecification | GeoJSONSourceSpecification | VideoSourceSpecification | ImageSourceSpecification export type FillLayerSpecification = { "id": string, "type": "fill", "metadata"?: unknown, "source": string, "source-layer"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "fill-sort-key"?: DataDrivenPropertyValueSpecification<number>, "visibility"?: "visible" | "none" }, "paint"?: { "fill-antialias"?: PropertyValueSpecification<boolean>, "fill-opacity"?: DataDrivenPropertyValueSpecification<number>, "fill-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "fill-outline-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "fill-translate"?: PropertyValueSpecification<[number, number]>, "fill-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "fill-pattern"?: DataDrivenPropertyValueSpecification<ResolvedImageSpecification> } }; export type LineLayerSpecification = { "id": string, "type": "line", "metadata"?: unknown, "source": string, "source-layer"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "line-cap"?: PropertyValueSpecification<"butt" | "round" | "square">, "line-join"?: DataDrivenPropertyValueSpecification<"bevel" | "round" | "miter">, "line-miter-limit"?: PropertyValueSpecification<number>, "line-round-limit"?: PropertyValueSpecification<number>, "line-sort-key"?: DataDrivenPropertyValueSpecification<number>, "visibility"?: "visible" | "none" }, "paint"?: { "line-opacity"?: DataDrivenPropertyValueSpecification<number>, "line-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "line-translate"?: PropertyValueSpecification<[number, number]>, "line-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "line-width"?: DataDrivenPropertyValueSpecification<number>, "line-gap-width"?: DataDrivenPropertyValueSpecification<number>, "line-offset"?: DataDrivenPropertyValueSpecification<number>, "line-blur"?: DataDrivenPropertyValueSpecification<number>, "line-dasharray"?: PropertyValueSpecification<Array<number>>, "line-pattern"?: DataDrivenPropertyValueSpecification<ResolvedImageSpecification>, "line-gradient"?: ExpressionSpecification } }; export type SymbolLayerSpecification = { "id": string, "type": "symbol", "metadata"?: unknown, "source": string, "source-layer"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "symbol-placement"?: PropertyValueSpecification<"point" | "line" | "line-center">, "symbol-spacing"?: PropertyValueSpecification<number>, "symbol-avoid-edges"?: PropertyValueSpecification<boolean>, "symbol-sort-key"?: DataDrivenPropertyValueSpecification<number>, "symbol-z-order"?: PropertyValueSpecification<"auto" | "viewport-y" | "source">, "icon-allow-overlap"?: PropertyValueSpecification<boolean>, "icon-overlap"?: PropertyValueSpecification<"never" | "always" | "cooperative">, "icon-ignore-placement"?: PropertyValueSpecification<boolean>, "icon-optional"?: PropertyValueSpecification<boolean>, "icon-rotation-alignment"?: PropertyValueSpecification<"map" | "viewport" | "auto">, "icon-size"?: DataDrivenPropertyValueSpecification<number>, "icon-text-fit"?: PropertyValueSpecification<"none" | "width" | "height" | "both">, "icon-text-fit-padding"?: PropertyValueSpecification<[number, number, number, number]>, "icon-image"?: DataDrivenPropertyValueSpecification<ResolvedImageSpecification>, "icon-rotate"?: DataDrivenPropertyValueSpecification<number>, "icon-padding"?: DataDrivenPropertyValueSpecification<PaddingSpecification>, "icon-keep-upright"?: PropertyValueSpecification<boolean>, "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" | "viewport-glyph" | "auto">, "text-field"?: DataDrivenPropertyValueSpecification<FormattedSpecification>, "text-font"?: DataDrivenPropertyValueSpecification<Array<string>>, "text-size"?: DataDrivenPropertyValueSpecification<number>, "text-max-width"?: DataDrivenPropertyValueSpecification<number>, "text-line-height"?: PropertyValueSpecification<number>, "text-letter-spacing"?: DataDrivenPropertyValueSpecification<number>, "text-justify"?: DataDrivenPropertyValueSpecification<"auto" | "left" | "center" | "right">, "text-radial-offset"?: DataDrivenPropertyValueSpecification<number>, "text-variable-anchor"?: PropertyValueSpecification<Array<"center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">>, "text-anchor"?: DataDrivenPropertyValueSpecification<"center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">, "text-max-angle"?: PropertyValueSpecification<number>, "text-writing-mode"?: PropertyValueSpecification<Array<"horizontal" | "vertical">>, "text-rotate"?: DataDrivenPropertyValueSpecification<number>, "text-padding"?: PropertyValueSpecification<number>, "text-keep-upright"?: PropertyValueSpecification<boolean>, "text-transform"?: DataDrivenPropertyValueSpecification<"none" | "uppercase" | "lowercase">, "text-offset"?: DataDrivenPropertyValueSpecification<[number, number]>, "text-allow-overlap"?: PropertyValueSpecification<boolean>, "text-overlap"?: PropertyValueSpecification<"never" | "always" | "cooperative">, "text-ignore-placement"?: PropertyValueSpecification<boolean>, "text-optional"?: PropertyValueSpecification<boolean>, "visibility"?: "visible" | "none" }, "paint"?: { "icon-opacity"?: DataDrivenPropertyValueSpecification<number>, "icon-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "icon-halo-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "icon-halo-width"?: DataDrivenPropertyValueSpecification<number>, "icon-halo-blur"?: DataDrivenPropertyValueSpecification<number>, "icon-translate"?: PropertyValueSpecification<[number, number]>, "icon-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "text-opacity"?: DataDrivenPropertyValueSpecification<number>, "text-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "text-halo-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "text-halo-width"?: DataDrivenPropertyValueSpecification<number>, "text-halo-blur"?: DataDrivenPropertyValueSpecification<number>, "text-translate"?: PropertyValueSpecification<[number, number]>, "text-translate-anchor"?: PropertyValueSpecification<"map" | "viewport"> } }; export type CircleLayerSpecification = { "id": string, "type": "circle", "metadata"?: unknown, "source": string, "source-layer"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "circle-sort-key"?: DataDrivenPropertyValueSpecification<number>, "visibility"?: "visible" | "none" }, "paint"?: { "circle-radius"?: DataDrivenPropertyValueSpecification<number>, "circle-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "circle-blur"?: DataDrivenPropertyValueSpecification<number>, "circle-opacity"?: DataDrivenPropertyValueSpecification<number>, "circle-translate"?: PropertyValueSpecification<[number, number]>, "circle-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "circle-pitch-scale"?: PropertyValueSpecification<"map" | "viewport">, "circle-pitch-alignment"?: PropertyValueSpecification<"map" | "viewport">, "circle-stroke-width"?: DataDrivenPropertyValueSpecification<number>, "circle-stroke-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "circle-stroke-opacity"?: DataDrivenPropertyValueSpecification<number> } }; export type HeatmapLayerSpecification = { "id": string, "type": "heatmap", "metadata"?: unknown, "source": string, "source-layer"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" }, "paint"?: { "heatmap-radius"?: DataDrivenPropertyValueSpecification<number>, "heatmap-weight"?: DataDrivenPropertyValueSpecification<number>, "heatmap-intensity"?: PropertyValueSpecification<number>, "heatmap-color"?: ExpressionSpecification, "heatmap-opacity"?: PropertyValueSpecification<number> } }; export type FillExtrusionLayerSpecification = { "id": string, "type": "fill-extrusion", "metadata"?: unknown, "source": string, "source-layer"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" }, "paint"?: { "fill-extrusion-opacity"?: PropertyValueSpecification<number>, "fill-extrusion-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>, "fill-extrusion-translate"?: PropertyValueSpecification<[number, number]>, "fill-extrusion-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">, "fill-extrusion-pattern"?: DataDrivenPropertyValueSpecification<ResolvedImageSpecification>, "fill-extrusion-height"?: DataDrivenPropertyValueSpecification<number>, "fill-extrusion-base"?: DataDrivenPropertyValueSpecification<number>, "fill-extrusion-vertical-gradient"?: PropertyValueSpecification<boolean> } }; export type RasterLayerSpecification = { "id": string, "type": "raster", "metadata"?: unknown, "source": string, "source-layer"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" }, "paint"?: { "raster-opacity"?: PropertyValueSpecification<number>, "raster-hue-rotate"?: PropertyValueSpecification<number>, "raster-brightness-min"?: PropertyValueSpecification<number>, "raster-brightness-max"?: PropertyValueSpecification<number>, "raster-saturation"?: PropertyValueSpecification<number>, "raster-contrast"?: PropertyValueSpecification<number>, "raster-resampling"?: PropertyValueSpecification<"linear" | "nearest">, "raster-fade-duration"?: PropertyValueSpecification<number> } }; export type HillshadeLayerSpecification = { "id": string, "type": "hillshade", "metadata"?: unknown, "source": string, "source-layer"?: string, "minzoom"?: number, "maxzoom"?: number, "filter"?: FilterSpecification, "layout"?: { "visibility"?: "visible" | "none" }, "paint"?: { "hillshade-illumination-direction"?: PropertyValueSpecification<number>, "hillshade-illumination-anchor"?: PropertyValueSpecification<"map" | "viewport">, "hillshade-exaggeration"?: PropertyValueSpecification<number>, "hillshade-shadow-color"?: PropertyValueSpecification<ColorSpecification>, "hillshade-highlight-color"?: PropertyValueSpecification<ColorSpecification>, "hillshade-accent-color"?: PropertyValueSpecification<ColorSpecification> } }; export type BackgroundLayerSpecification = { "id": string, "type": "background", "metadata"?: unknown, "minzoom"?: number, "maxzoom"?: number, "layout"?: { "visibility"?: "visible" | "none" }, "paint"?: { "background-color"?: PropertyValueSpecification<ColorSpecification>, "background-pattern"?: PropertyValueSpecification<ResolvedImageSpecification>, "background-opacity"?: PropertyValueSpecification<number> } }; export type LayerSpecification = | FillLayerSpecification | LineLayerSpecification | SymbolLayerSpecification | CircleLayerSpecification | HeatmapLayerSpecification | FillExtrusionLayerSpecification | RasterLayerSpecification | HillshadeLayerSpecification | BackgroundLayerSpecification;