import Point from '@mapbox/point-geometry'; declare const _exports: { $version: number; $root: { version: { required: boolean; type: string; values: number[]; doc: string; example: number; }; fragment: { type: string; doc: string; example: boolean; }; name: { type: string; doc: string; example: string; }; metadata: { type: string; doc: string; }; center: { type: string; value: string; doc: string; example: number[]; }; zoom: { type: string; doc: string; example: number; }; bearing: { type: string; default: number; period: number; units: string; doc: string; example: number; }; pitch: { type: string; default: number; units: string; doc: string; example: number; }; light: { type: string; doc: string; example: { anchor: string; color: string; intensity: number; }; }; lights: { required: boolean; type: string; value: string; doc: string; example: ({ id: string; type: string; properties: { color: string; intensity: number; direction?: undefined; "cast-shadows"?: undefined; "shadow-intensity"?: undefined; }; } | { id: string; type: string; properties: { color: string; intensity: number; direction: number[]; "cast-shadows": boolean; "shadow-intensity": number; }; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; terrain: { type: string; optional: boolean; doc: string; }; fog: { type: string; doc: string; }; snow: { type: string; doc: string; experimental: boolean; }; rain: { type: string; doc: string; experimental: boolean; }; camera: { type: string; doc: string; }; "color-theme": { type: string; doc: string; }; indoor: { type: string; private: boolean; experimental: boolean; doc: string; }; imports: { type: string; value: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; iconsets: { experimental: boolean; type: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; schema: { type: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; sources: { required: boolean; type: string; doc: string; example: { "mapbox-streets": { type: string; url: string; }; }; }; sprite: { type: string; doc: string; example: string; }; glyphs: { type: string; doc: string; default: string; example: string; }; transition: { type: string; doc: string; example: { duration: number; delay: number; }; }; projection: { type: string; doc: string; example: { name: string; center: number[]; parallels: number[]; }; }; layers: { required: boolean; type: string; value: string; doc: string; example: { id: string; source: string; "source-layer": string; type: string; paint: { "fill-color": string; }; }[]; }; models: { type: string; doc: string; example: { "spruce1-lod0": string; "spruce1-lod1": string; "spruce1-lod2": string; }; }; featuresets: { experimental: boolean; type: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; example: { poi: { selectors: { layer: string; properties: { type: string[]; name: string[]; brand: string; }; }[]; }; }; }; }; featuresets: { experimental: boolean; "*": { type: string; doc: string; }; }; featureset: { experimental: boolean; metadata: { experimental: boolean; type: string; doc: string; }; selectors: { experimental: boolean; type: string; value: string; doc: string; }; }; selector: { experimental: boolean; layer: { experimental: boolean; type: string; doc: string; required: boolean; }; properties: { experimental: boolean; type: string; required: boolean; doc: string; }; featureNamespace: { experimental: boolean; type: string; required: boolean; doc: string; }; _uniqueFeatureID: { experimental: boolean; type: string; private: boolean; required: boolean; doc: string; }; }; selectorProperty: { experimental: boolean; "*": { experimental: boolean; type: string; doc: string; }; }; model: { type: string; doc: string; required: boolean; }; import: { id: { type: string; doc: string; required: boolean; }; url: { type: string; doc: string; required: boolean; }; config: { type: string; doc: string; }; data: { type: string; doc: string; }; "color-theme": { type: string; optional: boolean; doc: string; }; }; config: { "*": { type: string; doc: string; }; }; schema: { "*": { type: string; doc: string; }; }; option: { default: { type: string; doc: string; "property-type": string; expression: { interpolated: boolean; }; required: boolean; }; type: { type: string; doc: string; values: { string: { doc: string; }; number: { doc: string; }; boolean: { doc: string; }; color: { doc: string; }; object: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; }; array: { type: string; doc: string; }; minValue: { type: string; doc: string; }; maxValue: { type: string; doc: string; }; stepValue: { type: string; doc: string; }; values: { type: string; value: string; doc: string; }; metadata: { type: string; doc: string; }; }; models: { "*": { type: string; doc: string; }; }; "light-3d": { id: { type: string; doc: string; required: boolean; }; properties: { type: string; doc: string; }; type: { type: string; doc: string; values: { ambient: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; directional: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; flat: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; }; }; properties: string[]; properties_light_directional: { direction: { type: string; default: number[]; minimum: number[]; maximum: number[]; length: number; value: string; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; color: { type: string; "property-type": string; default: string; expression: { interpolated: boolean; parameters: string[]; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; intensity: { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "cast-shadows": { type: string; default: boolean; doc: string; transition: boolean; "property-type": string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "shadow-quality": { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; }; }; experimental: boolean; }; "shadow-intensity": { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "shadow-draw-before-layer": { type: string; "property-type": string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; experimental: boolean; }; }; properties_light_ambient: { color: { type: string; "property-type": string; default: string; expression: { interpolated: boolean; parameters: string[]; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; intensity: { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; properties_light_flat: { anchor: { type: string; default: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; doc: string; example: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; position: { type: string; default: number[]; length: number; value: string; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; color: { type: string; "property-type": string; default: string; expression: { interpolated: boolean; parameters: string[]; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; intensity: { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; iconsets: { "*": { type: string; doc: string; }; }; iconset: string[]; iconset_sprite: { type: { required: boolean; type: string; values: { sprite: { doc: string; }; }; doc: string; }; url: { required: boolean; type: string; doc: string; example: string; }; }; iconset_source: { type: { required: boolean; type: string; values: { source: { doc: string; }; }; doc: string; }; source: { required: boolean; type: string; doc: string; }; }; sources: { "*": { type: string; doc: string; }; }; source: string[]; source_vector: { type: { required: boolean; type: string; values: { vector: { doc: string; }; }; doc: string; }; url: { type: string; doc: string; }; tiles: { type: string; value: string; doc: string; }; bounds: { type: string; value: string; length: number; default: number[]; doc: string; }; extra_bounds: { type: string; value: { type: string; value: string; length: number; doc: string; }; doc: string; }; scheme: { type: string; values: { xyz: { doc: string; }; tms: { doc: string; }; }; default: string; doc: string; }; minzoom: { type: string; default: number; doc: string; }; maxzoom: { type: string; default: number; doc: string; }; attribution: { type: string; doc: string; }; promoteId: { type: string; doc: string; }; volatile: { type: string; default: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; }; }; }; "*": { type: string; doc: string; }; }; source_raster: { type: { required: boolean; type: string; values: { raster: { doc: string; }; }; doc: string; }; url: { type: string; doc: string; }; tiles: { type: string; value: string; doc: string; }; bounds: { type: string; value: string; length: number; default: number[]; doc: string; }; extra_bounds: { type: string; value: { type: string; value: string; length: number; doc: string; }; doc: string; }; minzoom: { type: string; default: number; doc: string; }; maxzoom: { type: string; default: number; doc: string; }; tileSize: { type: string; default: number; units: string; doc: string; }; scheme: { type: string; values: { xyz: { doc: string; }; tms: { doc: string; }; }; default: string; doc: string; }; attribution: { type: string; doc: string; }; volatile: { type: string; default: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; }; }; }; "*": { type: string; doc: string; }; }; source_raster_dem: { type: { required: boolean; type: string; values: { "raster-dem": { doc: string; }; }; doc: string; }; url: { type: string; doc: string; }; tiles: { type: string; value: string; doc: string; }; bounds: { type: string; value: string; length: number; default: number[]; doc: string; }; extra_bounds: { type: string; value: { type: string; value: string; length: number; doc: string; }; doc: string; }; minzoom: { type: string; default: number; doc: string; }; maxzoom: { type: string; default: number; doc: string; }; tileSize: { type: string; default: number; units: string; doc: string; }; attribution: { type: string; doc: string; }; encoding: { type: string; values: { terrarium: { doc: string; }; mapbox: { doc: string; }; }; default: string; doc: string; }; volatile: { type: string; default: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; }; }; }; "*": { type: string; doc: string; }; }; source_raster_array: { experimental: boolean; type: { required: boolean; type: string; values: { "raster-array": { doc: string; }; }; doc: string; }; url: { type: string; doc: string; }; tiles: { type: string; value: string; doc: string; }; bounds: { type: string; value: string; length: number; default: number[]; doc: string; }; extra_bounds: { type: string; value: { type: string; value: string; length: number; doc: string; }; doc: string; }; minzoom: { type: string; default: number; doc: string; }; maxzoom: { type: string; default: number; doc: string; }; tileSize: { type: string; default: number; units: string; doc: string; }; attribution: { type: string; doc: string; }; rasterLayers: { type: string; doc: string; }; volatile: { type: string; default: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; }; }; }; "*": { type: string; doc: string; }; }; source_geojson: { type: { required: boolean; type: string; values: { geojson: { doc: string; }; }; doc: string; }; data: { type: string; doc: string; }; maxzoom: { type: string; default: number; doc: string; }; minzoom: { type: string; default: number; doc: string; }; attribution: { type: string; doc: string; }; buffer: { type: string; default: number; maximum: number; minimum: number; doc: string; }; filter: { type: string; doc: string; }; tolerance: { type: string; default: number; doc: string; }; cluster: { type: string; default: boolean; doc: string; }; clusterRadius: { type: string; default: number; minimum: number; doc: string; }; clusterMaxZoom: { type: string; doc: string; }; clusterMinPoints: { type: string; doc: string; }; clusterProperties: { type: string; doc: string; }; lineMetrics: { type: string; default: boolean; doc: string; }; generateId: { type: string; default: boolean; doc: string; }; promoteId: { type: string; doc: string; }; dynamic: { type: string; default: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; }; }; }; }; source_video: { type: { required: boolean; type: string; values: { video: { doc: string; }; }; doc: string; }; urls: { required: boolean; type: string; value: string; doc: string; }; coordinates: { required: boolean; doc: string; type: string; length: number; value: { type: string; length: number; value: string; doc: string; }; }; }; source_image: { type: { required: boolean; type: string; values: { image: { doc: string; }; }; doc: string; }; url: { required: boolean; type: string; doc: string; }; coordinates: { required: boolean; doc: string; type: string; length: number; value: { type: string; length: number; value: string; doc: string; }; }; }; modelNodeOverride: { orientation: { type: string; value: string; length: number; default: number[]; period: number; units: string; doc: string; }; }; modelLightOverrides: { "light-ambient-color": { type: string; doc: string; }; "light-ambient-intensity": { type: string; doc: string; }; "light-directional-color": { type: string; doc: string; }; "light-directional-intensity": { type: string; doc: string; }; }; modelNodeOverrides: { "*": { type: string; doc: string; }; }; modelMaterialOverride: { "model-color": { type: string; doc: string; }; "model-color-mix-intensity": { type: string; doc: string; }; "model-opacity": { type: string; doc: string; }; "model-emissive-strength": { type: string; units: string; doc: string; }; }; modelMaterialOverrides: { "*": { type: string; doc: string; }; }; modelSourceModel: { uri: { type: string; required: boolean; doc: string; }; position: { type: string; value: string; length: number; required: boolean; default: number[]; minimum: number[]; maximum: number[]; doc: string; }; orientation: { type: string; value: string; length: number; required: boolean; default: number[]; period: number; units: string; doc: string; }; lightOverrides: { type: string; required: boolean; doc: string; }; nodeOverrides: { type: string; required: boolean; doc: string; }; materialOverrides: { type: string; required: boolean; doc: string; }; nodeOverrideNames: { type: string; value: string; doc: string; required: boolean; }; materialOverrideNames: { type: string; value: string; doc: string; required: boolean; }; featureProperties: { type: string; doc: string; required: boolean; }; }; modelSourceModels: { "*": { type: string; doc: string; }; }; source_model: { type: { required: boolean; type: string; values: { model: { doc: string; }; "batched-model": { doc: string; }; }; doc: string; }; url: { type: string; doc: string; }; maxzoom: { type: string; default: number; doc: string; }; minzoom: { type: string; default: number; doc: string; }; tiles: { type: string; value: string; doc: string; }; bounds: { type: string; value: string; length: number; default: number[]; doc: string; }; extra_bounds: { type: string; value: { type: string; value: string; length: number; doc: string; }; doc: string; }; models: { type: string; doc: string; }; }; layer: { id: { type: string; doc: string; required: boolean; }; type: { type: string; values: { fill: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; line: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; symbol: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; circle: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; heatmap: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion": { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; building: { doc: string; "sdk-support": { js: string; android: string; ios: string; }; private: boolean; }; raster: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "raster-particle": { experimental: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; hillshade: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; model: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; background: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; sky: { doc: string; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; }; slot: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "placement-group": { doc: string; "sdk-support": { "basic functionality": {}; }; private: boolean; experimental: boolean; }; clip: { doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; doc: string; required: boolean; }; metadata: { type: string; doc: string; }; source: { type: string; doc: string; }; "source-layer": { type: string; doc: string; }; slot: { type: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; minzoom: { type: string; minimum: number; maximum: number; doc: string; }; maxzoom: { type: string; minimum: number; maximum: number; doc: string; }; filter: { type: string; doc: string; }; layout: { type: string; doc: string; }; paint: { type: string; doc: string; }; appearances: { type: string; value: string; "supported-layer-types": string[]; doc: string; }; }; appearance: { condition: { type: string; doc: string; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; name: { type: string; doc: string; "property-type": string; }; properties: { type: string; doc: string; }; }; layout: string[]; layout_background: { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; layout_sky: { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; layout_model: { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "model-id": { type: string; default: string; doc: string; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; transition: boolean; requires: { source: string[]; }[]; }; "model-allow-density-reduction": { type: string; default: boolean; transition: boolean; experimental: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; }; layout_clip: { "clip-layer-types": { type: string; value: string; values: { model: { doc: string; }; symbol: { doc: string; }; }; default: any[]; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "clip-layer-scope": { type: string; value: string; default: any[]; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; layout_fill: { "fill-sort-key": { type: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "fill-elevation-reference": { type: string; doc: string; values: { none: { doc: string; }; "hd-road-base": { doc: string; }; "hd-road-markup": { doc: string; }; }; default: string; experimental: boolean; private: boolean; transition: boolean; "sdk-support": { "basic functionality": { android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "fill-construct-bridge-guard-rail": { type: string; doc: string; default: string; transition: boolean; experimental: boolean; private: boolean; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; "data-driven styling": { android: string; ios: string; js: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; layout_circle: { "circle-sort-key": { type: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-elevation-reference": { type: string; doc: string; values: { none: { doc: string; }; "hd-road-markup": { doc: string; }; }; default: string; experimental: boolean; transition: boolean; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; layout_heatmap: { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; "layout_fill-extrusion": { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "fill-extrusion-edge-radius": { type: string; experimental: boolean; default: number; minimum: number; maximum: number; doc: string; units: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "source-max-zoom": { type: string; minimum: number; maximum: number; private: boolean; experimental: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; }; layout_building: { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "building-facade": { type: string; default: boolean; doc: string; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "building-facade-floors": { type: string; minimum: number; maximum: number; default: number; doc: string; private: boolean; "property-type": string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; requires: string[]; }; "building-facade-unit-width": { type: string; minimum: number; maximum: number; default: number; doc: string; units: string; private: boolean; "property-type": string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; requires: string[]; }; "building-facade-window": { type: string; length: number; value: string; minimum: number; maximum: number; default: number[]; doc: string; private: boolean; "property-type": string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; requires: string[]; }; "building-roof-shape": { type: string; values: { flat: { doc: string; }; hipped: { doc: string; }; gabled: { doc: string; }; parapet: { doc: string; }; mansard: { doc: string; }; skillion: { doc: string; }; pyramidal: { doc: string; }; }; default: string; doc: string; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "building-height": { type: string; default: number; minimum: number; units: string; doc: string; transition: boolean; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "building-base": { type: string; default: number; minimum: number; units: string; doc: string; transition: boolean; requires: string[]; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "building-flood-light-wall-radius": { "property-type": string; type: string; private: boolean; units: string; default: number; minimum: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; }; "building-flood-light-ground-radius": { "property-type": string; type: string; private: boolean; units: string; default: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; }; "building-flip-roof-orientation": { "property-type": string; type: string; private: boolean; default: boolean; doc: string; transition: boolean; requires: string[]; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; }; }; layout_line: { "line-cap": { type: string; values: { butt: { doc: string; }; round: { doc: string; }; square: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-join": { type: string; values: { bevel: { doc: string; }; round: { doc: string; }; miter: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; "`none` value": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-miter-limit": { type: string; default: number; doc: string; requires: { "line-join": string; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-round-limit": { type: string; default: number; doc: string; requires: { "line-join": string; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-sort-key": { type: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-z-offset": { type: string; doc: string; default: number; units: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-elevation-reference": { type: string; doc: string; values: { none: { doc: string; }; sea: { doc: string; }; ground: { doc: string; }; "hd-road-markup": { doc: string; }; }; default: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "line-cross-slope": { type: string; experimental: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "line-width-unit": { type: string; doc: string; values: { pixels: { doc: string; }; meters: { doc: string; }; }; default: string; experimental: boolean; private: boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-elevation-ground-scale": { type: string; default: number; minimum: number; maximum: number; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; requires: string[]; transition: boolean; "property-type": string; }; }; layout_symbol: { "symbol-placement": { type: string; values: { point: { doc: string; }; line: { doc: string; }; "line-center": { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "`line-center` value": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "symbol-spacing": { type: string; default: number; minimum: number; units: string; doc: string; requires: { "symbol-placement": string; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "symbol-avoid-edges": { type: string; default: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "symbol-sort-key": { type: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "symbol-z-order": { type: string; values: { auto: { doc: string; }; "viewport-y": { doc: string; }; source: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "symbol-z-elevate": { type: string; default: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; requires: ({ "symbol-placement": string[]; "symbol-z-order"?: undefined; } | { "symbol-z-order": string[]; "symbol-placement"?: undefined; })[]; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "symbol-elevation-reference": { type: string; doc: string; values: { sea: { doc: string; }; ground: { doc: string; }; "hd-road-markup": { doc: string; }; }; default: string; experimental: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; requires: { "symbol-z-elevate": boolean; }[]; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-allow-overlap": { type: string; default: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-ignore-placement": { type: string; default: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-optional": { type: string; default: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-rotation-alignment": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; auto: { doc: string; }; }; default: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "`auto` value": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-size": { type: string; default: number; minimum: number; units: string; doc: string; appearance: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-size-scale-range": { type: string; value: string; length: number; default: number[]; doc: string; minimum: number[]; maximum: number[]; experimental: boolean; expression: { interpolated: boolean; }; "sdk-support": { "basic functionality": { js: string; }; }; "property-type": string; }; "icon-text-fit": { type: string; values: { none: { doc: string; }; width: { doc: string; }; height: { doc: string; }; both: { doc: string; }; }; default: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "stretchable icons": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-text-fit-padding": { type: string; value: string; length: number; default: number[]; units: string; doc: string; requires: (string | { "icon-text-fit": string[]; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-image": { type: string; doc: string; tokens: boolean; appearance: boolean; "use-theme": boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-rotate": { type: string; default: number; period: number; units: string; doc: string; appearance: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-padding": { type: string; default: number; minimum: number; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-keep-upright": { type: string; default: boolean; doc: string; requires: (string | { "icon-rotation-alignment": string; "symbol-placement"?: undefined; } | { "symbol-placement": string[]; "icon-rotation-alignment"?: undefined; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-offset": { type: string; value: string; length: number; default: number[]; doc: string; appearance: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-anchor": { type: string; values: { center: { doc: string; }; left: { doc: string; }; right: { doc: string; }; top: { doc: string; }; bottom: { doc: string; }; "top-left": { doc: string; }; "top-right": { doc: string; }; "bottom-left": { doc: string; }; "bottom-right": { doc: string; }; }; default: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-pitch-alignment": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; auto: { doc: string; }; }; default: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-pitch-alignment": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; auto: { doc: string; }; }; default: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "`auto` value": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-rotation-alignment": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; auto: { doc: string; }; }; default: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "`auto` value": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-field": { type: string; default: string; tokens: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-font": { type: string; value: string; default: string[]; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-size": { type: string; default: number; minimum: number; units: string; doc: string; requires: string[]; appearance: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-size-scale-range": { type: string; value: string; length: number; default: number[]; doc: string; minimum: number[]; maximum: number[]; experimental: boolean; expression: { interpolated: boolean; }; "sdk-support": { "basic functionality": { js: string; }; }; "property-type": string; }; "text-max-width": { type: string; default: number; minimum: number; units: string; doc: string; requires: (string | { "symbol-placement": string[]; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-line-height": { type: string; default: number; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-letter-spacing": { type: string; default: number; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-justify": { type: string; values: { auto: { doc: string; }; left: { doc: string; }; center: { doc: string; }; right: { doc: string; }; }; default: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; auto: { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-radial-offset": { type: string; units: string; default: number; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; requires: string[]; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; "text-variable-anchor": { type: string; value: string; values: { center: { doc: string; }; left: { doc: string; }; right: { doc: string; }; top: { doc: string; }; bottom: { doc: string; }; "top-left": { doc: string; }; "top-right": { doc: string; }; "bottom-left": { doc: string; }; "bottom-right": { doc: string; }; }; requires: (string | { "symbol-placement": string[]; })[]; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-anchor": { type: string; values: { center: { doc: string; }; left: { doc: string; }; right: { doc: string; }; top: { doc: string; }; bottom: { doc: string; }; "top-left": { doc: string; }; "top-right": { doc: string; }; "bottom-left": { doc: string; }; "bottom-right": { doc: string; }; }; default: string; doc: string; requires: (string | { "!": string; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-max-angle": { type: string; default: number; units: string; doc: string; requires: (string | { "symbol-placement": string[]; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-writing-mode": { type: string; value: string; values: { horizontal: { doc: string; }; vertical: { doc: string; }; }; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-rotate": { type: string; default: number; period: number; units: string; doc: string; requires: string[]; appearance: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-padding": { type: string; default: number; minimum: number; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-keep-upright": { type: string; default: boolean; doc: string; requires: (string | { "text-rotation-alignment": string; "symbol-placement"?: undefined; } | { "symbol-placement": string[]; "text-rotation-alignment"?: undefined; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-transform": { type: string; values: { none: { doc: string; }; uppercase: { doc: string; }; lowercase: { doc: string; }; }; default: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-offset": { type: string; doc: string; value: string; units: string; length: number; default: number[]; requires: (string | { "!": string; })[]; appearance: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-allow-overlap": { type: string; default: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-ignore-placement": { type: string; default: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-optional": { type: string; default: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; layout_raster: { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; "layout_raster-particle": { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; layout_hillshade: { visibility: { type: string; values: { visible: { doc: string; }; none: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; filter: { type: string; value: string; doc: string; }; filter_symbol: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_fill: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_hillshade: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_raster: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; "filter_raster-particle": { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_clip: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_model: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_line: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_circle: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; "filter_fill-extrusion": { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_building: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_heatmap: { type: string; doc: string; default: boolean; transition: boolean; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; }; filter_operator: { type: string; values: { "==": { doc: string; }; "!=": { doc: string; }; ">": { doc: string; }; ">=": { doc: string; }; "<": { doc: string; }; "<=": { doc: string; }; in: { doc: string; }; "!in": { doc: string; }; all: { doc: string; }; any: { doc: string; }; none: { doc: string; }; has: { doc: string; }; "!has": { doc: string; }; }; doc: string; }; geometry_type: { type: string; values: { Point: { doc: string; }; LineString: { doc: string; }; Polygon: { doc: string; }; }; doc: string; }; function: { expression: { type: string; doc: string; }; stops: { type: string; doc: string; value: string; }; base: { type: string; default: number; minimum: number; doc: string; }; property: { type: string; doc: string; default: string; }; type: { type: string; values: { identity: { doc: string; }; exponential: { doc: string; }; interval: { doc: string; }; categorical: { doc: string; }; }; doc: string; default: string; }; colorSpace: { type: string; values: { rgb: { doc: string; }; lab: { doc: string; }; hcl: { doc: string; }; }; doc: string; default: string; }; default: { type: string; required: boolean; doc: string; }; }; function_stop: { type: string; minimum: number; maximum: number; value: string[]; length: number; doc: string; }; expression: { type: string; value: string; minimum: number; doc: string; }; expression_name: { doc: string; type: string; values: { let: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; var: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; config: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; literal: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; array: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; at: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "at-interpolated": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; in: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "index-of": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; slice: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; split: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; case: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; match: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; coalesce: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; step: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; interpolate: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "interpolate-hcl": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; }; }; }; "interpolate-lab": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; }; }; }; ln2: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; pi: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; e: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; typeof: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; string: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; number: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; boolean: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; object: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; collator: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; format: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "text-font": { js: string; android: string; ios: string; }; "font-scale": { js: string; android: string; ios: string; }; "text-color": { js: string; android: string; ios: string; }; image: { js: string; android: string; ios: string; }; }; }; image: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "number-format": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "to-string": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "to-number": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "to-boolean": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "to-rgba": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "to-hsla": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "to-color": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; rgb: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; rgba: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; hsl: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; hsla: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; get: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; has: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; length: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; properties: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "feature-state": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "geometry-type": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; worldview: { doc: string; group: string; experimental: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; id: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; zoom: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; pitch: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "distance-from-center": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "measure-light": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "heatmap-density": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "line-progress": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "sky-radial-progress": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; }; accumulated: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "+": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "*": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "-": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "/": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "%": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "^": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; sqrt: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; log10: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; ln: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; log2: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; sin: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; cos: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; tan: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; asin: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; acos: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; atan: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; min: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; max: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; round: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; abs: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; ceil: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; floor: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; distance: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "expressions support": { js: string; android: string; ios: string; }; }; }; "==": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; collator: { js: string; android: string; ios: string; }; }; }; "!=": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; collator: { js: string; android: string; ios: string; }; }; }; ">": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; collator: { js: string; android: string; ios: string; }; }; }; "<": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; collator: { js: string; android: string; ios: string; }; }; }; ">=": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; collator: { js: string; android: string; ios: string; }; }; }; "<=": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; collator: { js: string; android: string; ios: string; }; }; }; all: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; any: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "!": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; within: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "is-supported-script": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; upcase: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; downcase: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; concat: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "resolved-locale": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "raster-value": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "raster-particle-speed": { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "is-active-floor": { doc: string; group: string; experimental: boolean; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; random: { doc: string; group: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; }; fog: { range: { type: string; default: number[]; minimum: number; maximum: number; length: number; value: string; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; color: { type: string; "property-type": string; default: string; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "high-color": { type: string; "property-type": string; default: string; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "space-color": { type: string; "property-type": string; default: (string | number | string[])[]; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "horizon-blend": { type: string; "property-type": string; default: (string | number | string[])[]; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "star-intensity": { type: string; "property-type": string; default: (string | number | string[])[]; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "vertical-range": { type: string; default: number[]; minimum: number; length: number; value: string; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; doc: string; units: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; snow: { density: { type: string; "property-type": string; default: (string | number | string[])[]; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; intensity: { type: string; "property-type": string; default: number; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; color: { type: string; "property-type": string; default: string; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; opacity: { type: string; "property-type": string; default: number; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; vignette: { type: string; "property-type": string; default: (string | number | string[])[]; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; "vignette-color": { type: string; "property-type": string; default: string; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; "center-thinning": { type: string; "property-type": string; default: number; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; direction: { type: string; default: number[]; minimum: number; maximum: number; length: number; value: string; "property-type": string; transition: boolean; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; "flake-size": { type: string; "property-type": string; default: number; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; }; rain: { density: { type: string; "property-type": string; default: (string | number | string[])[]; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; intensity: { type: string; "property-type": string; default: number; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; color: { type: string; "property-type": string; default: (string | number | string[])[]; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; opacity: { type: string; "property-type": string; default: (string | number | string[])[]; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; vignette: { type: string; "property-type": string; default: (string | number | string[])[]; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; "vignette-color": { type: string; "property-type": string; default: (string | number | string[])[]; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; "center-thinning": { type: string; "property-type": string; default: number; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; direction: { type: string; default: number[]; minimum: number; maximum: number; length: number; value: string; "property-type": string; transition: boolean; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; "droplet-size": { type: string; default: number[]; minimum: number; maximum: number; length: number; value: string; "property-type": string; transition: boolean; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; "distortion-strength": { type: string; "property-type": string; default: number; minimum: number; maximum: number; experimental: boolean; expression: { interpolated: boolean; parameters: string[]; relaxZoomRestriction: boolean; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; }; }; }; camera: { "camera-projection": { doc: string; type: string; values: { perspective: { doc: string; }; orthographic: { doc: string; }; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; default: string; "property-type": string; }; }; colorTheme: { data: { type: string; doc: string; transition: boolean; "property-type": string; expression: { interpolated: boolean; }; }; }; indoor_source: { sourceId: { type: string; doc: string; experimental: boolean; private: boolean; transition: boolean; "property-type": string; }; sourceLayers: { type: string; value: string; doc: string; experimental: boolean; private: boolean; transition: boolean; "property-type": string; }; }; indoor: { "*": { type: string; private: boolean; experimental: boolean; doc: string; }; }; light: { anchor: { type: string; default: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; doc: string; example: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; position: { type: string; default: number[]; length: number; value: string; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; color: { type: string; "property-type": string; default: string; expression: { interpolated: boolean; parameters: string[]; }; "use-theme": boolean; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; intensity: { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; projection: { name: { type: string; values: { albers: { doc: string; }; equalEarth: { doc: string; }; equirectangular: { doc: string; }; lambertConformalConic: { doc: string; }; mercator: { doc: string; }; naturalEarth: { doc: string; }; winkelTripel: { doc: string; }; globe: { doc: string; }; }; default: string; doc: string; required: boolean; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; }; center: { type: string; length: number; value: string; "property-type": string; minimum: number[]; maximum: number[]; transition: boolean; doc: string; example: number[]; requires: { name: string[]; }[]; "sdk-support": { "basic functionality": { js: string; }; }; }; parallels: { type: string; length: number; value: string; "property-type": string; minimum: number[]; maximum: number[]; transition: boolean; doc: string; example: number[]; requires: { name: string[]; }[]; "sdk-support": { "basic functionality": { js: string; }; }; }; }; terrain: { source: { type: string; doc: string; required: boolean; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; }; exaggeration: { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; }; }; paint: string[]; paint_fill: { "fill-antialias": { type: string; default: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-opacity": { type: string; default: number; minimum: number; maximum: number; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; requires: { "!": string; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-outline-color": { type: string; doc: string; "use-theme": boolean; transition: boolean; requires: ({ "!": string; "fill-antialias"?: undefined; } | { "fill-antialias": boolean; "!"?: undefined; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-translate": { type: string; value: string; length: number; default: number[]; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-translate-anchor": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; doc: string; default: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-pattern": { type: string; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-pattern-cross-fade": { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; doc: string; }; "fill-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-z-offset": { type: string; doc: string; units: string; default: number; minimum: number; transition: boolean; experimental: boolean; "sdk-support": { "basic functionality": { js: string; }; "data-driven styling": { js: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-bridge-guard-rail-color": { type: string; default: string; doc: string; experimental: boolean; private: boolean; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; "data-driven styling": { android: string; ios: string; js: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-tunnel-structure-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; experimental: boolean; private: boolean; "sdk-support": { "basic functionality": { android: string; ios: string; js: string; }; "data-driven styling": { android: string; ios: string; js: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; "paint_fill-extrusion": { "fill-extrusion-opacity": { type: string; default: number; minimum: number; maximum: number; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; requires: { "!": string; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-translate": { type: string; value: string; length: number; default: number[]; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-translate-anchor": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; doc: string; default: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-pattern": { type: string; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-pattern-cross-fade": { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; doc: string; }; "fill-extrusion-height": { type: string; default: number; minimum: number; units: string; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-base": { type: string; default: number; minimum: number; units: string; doc: string; transition: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-height-alignment": { type: string; experimental: boolean; values: { terrain: { doc: string; }; flat: { doc: string; }; }; doc: string; default: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "fill-extrusion-base-alignment": { type: string; experimental: boolean; values: { terrain: { doc: string; }; flat: { doc: string; }; }; doc: string; default: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "fill-extrusion-vertical-gradient": { type: string; default: boolean; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-ambient-occlusion-intensity": { "property-type": string; type: string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-ambient-occlusion-radius": { "property-type": string; type: string; default: number; minimum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-ambient-occlusion-wall-radius": { "property-type": string; type: string; experimental: boolean; default: number; minimum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-ambient-occlusion-ground-radius": { "property-type": string; type: string; experimental: boolean; default: number; minimum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; units: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-ambient-occlusion-ground-attenuation": { "property-type": string; type: string; experimental: boolean; default: number; minimum: number; maximum: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-flood-light-color": { "property-type": string; type: string; experimental: boolean; default: string; doc: string; requires: string[]; "use-theme": boolean; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-flood-light-intensity": { "property-type": string; type: string; experimental: boolean; default: number; minimum: number; maximum: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-flood-light-wall-radius": { "property-type": string; type: string; experimental: boolean; units: string; default: number; minimum: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-flood-light-ground-radius": { "property-type": string; type: string; experimental: boolean; units: string; default: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-flood-light-ground-attenuation": { "property-type": string; type: string; experimental: boolean; default: number; minimum: number; maximum: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-vertical-scale": { "property-type": string; type: string; experimental: boolean; default: number; minimum: number; doc: string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-rounded-roof": { "property-type": string; type: string; default: boolean; experimental: boolean; doc: string; requires: string[]; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; }; "fill-extrusion-cutoff-fade-range": { type: string; default: number; minimum: number; maximum: number; doc: string; transition: boolean; expression: { interpolated: boolean; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "fill-extrusion-front-cutoff": { type: string; private: boolean; experimental: boolean; value: string; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; length: number; default: number[]; minimum: number[]; maximum: number[]; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "fill-extrusion-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-line-width": { type: string; default: number; minimum: number; transition: boolean; experimental: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "fill-extrusion-cast-shadows": { type: string; default: boolean; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; }; paint_building: { "building-opacity": { type: string; default: number; minimum: number; maximum: number; doc: string; transition: boolean; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "building-ambient-occlusion-intensity": { "property-type": string; type: string; default: number; minimum: number; maximum: number; private: boolean; expression: { interpolated: boolean; parameters: any[]; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "building-ambient-occlusion-ground-intensity": { "property-type": string; type: string; default: number; minimum: number; maximum: number; private: boolean; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "building-ambient-occlusion-ground-radius": { "property-type": string; type: string; private: boolean; default: number; minimum: number; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; doc: string; units: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "building-ambient-occlusion-ground-attenuation": { "property-type": string; type: string; private: boolean; default: number; minimum: number; maximum: number; doc: string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "building-vertical-scale": { "property-type": string; type: string; private: boolean; default: number; minimum: number; doc: string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "building-cast-shadows": { type: string; default: boolean; doc: string; transition: boolean; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "building-color": { type: string; default: string; doc: string; private: boolean; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "building-emissive-strength": { type: string; default: number; minimum: number; maximum: number; units: string; doc: string; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "building-facade-emissive-chance": { type: string; default: number; minimum: number; maximum: number; doc: string; private: boolean; "property-type": string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; }; "building-cutoff-fade-range": { type: string; private: boolean; default: number; minimum: number; maximum: number; doc: string; transition: boolean; expression: { interpolated: boolean; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "building-front-cutoff": { type: string; private: boolean; experimental: boolean; value: string; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; length: number; default: number[]; minimum: number[]; maximum: number[]; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "building-flood-light-color": { "property-type": string; type: string; private: boolean; default: string; doc: string; requires: string[]; "use-theme": boolean; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "building-flood-light-intensity": { "property-type": string; type: string; private: boolean; default: number; minimum: number; maximum: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "building-flood-light-ground-attenuation": { "property-type": string; type: string; private: boolean; default: number; minimum: number; maximum: number; doc: string; requires: string[]; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; paint_line: { "line-opacity": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-color": { type: string; doc: string; default: string; "use-theme": boolean; transition: boolean; requires: { "!": string; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-translate": { type: string; value: string; length: number; default: number[]; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-translate-anchor": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; doc: string; default: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-width": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-gap-width": { type: string; default: number; minimum: number; doc: string; transition: boolean; units: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-offset": { type: string; default: number; doc: string; transition: boolean; units: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-blur": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-dasharray": { type: string; value: string; doc: string; minimum: number; transition: boolean; units: string; requires: { "!": string; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-pattern": { type: string; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-pattern-cross-fade": { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; doc: string; }; "line-gradient": { type: string; doc: string; example: (string | number | string[])[]; "use-theme": boolean; transition: boolean; requires: ({ "!": string; source?: undefined; has?: undefined; } | { source: string; has: { lineMetrics: boolean; }; "!"?: undefined; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": {}; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-trim-offset": { type: string; value: string; doc: string; length: number; default: number[]; minimum: number[]; maximum: number[]; transition: boolean; requires: { source: string; has: { lineMetrics: boolean; }; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "line-trim-fade-range": { type: string; value: string; doc: string; experimental: boolean; length: number; default: number[]; minimum: number[]; maximum: number[]; transition: boolean; requires: (string | { source: string; has: { lineMetrics: boolean; }; })[]; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "line-trim-color": { type: string; doc: string; experimental: boolean; default: string; "use-theme": boolean; transition: boolean; requires: (string | { source: string; has: { lineMetrics: boolean; }; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-border-width": { type: string; doc: string; default: number; minimum: number; transition: boolean; units: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-border-color": { type: string; doc: string; default: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-border-gradient": { type: string; experimental: boolean; doc: string; example: (string | number | string[])[]; "use-theme": boolean; transition: boolean; requires: ({ "!": string; source?: undefined; has?: undefined; } | { source: string; has: { lineMetrics: boolean; }; "!"?: undefined; })[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": {}; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-occlusion-opacity": { type: string; default: number; minimum: number; maximum: number; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; transition: boolean; "property-type": string; }; "line-blend-mode": { type: string; values: { default: { doc: string; }; multiply: { doc: string; }; additive: { doc: string; }; }; doc: string; default: string; experimental: boolean; private: boolean; "sdk-support": { "basic functionality": { js: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-blend-additive-clamp": { type: string; default: number; minimum: number; doc: string; experimental: boolean; private: boolean; "sdk-support": { "basic functionality": { js: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "line-cutout-depth": { type: string; default: number; minimum: number; units: string; doc: string; experimental: boolean; private: boolean; transition: boolean; "sdk-support": { "basic functionality": { android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; paint_circle: { "circle-radius": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-blur": { type: string; default: number; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-opacity": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-translate": { type: string; value: string; length: number; default: number[]; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-translate-anchor": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; doc: string; default: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-pitch-scale": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-pitch-alignment": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-stroke-width": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-stroke-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-stroke-opacity": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "circle-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; paint_heatmap: { "heatmap-radius": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "heatmap-weight": { type: string; default: number; minimum: number; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "heatmap-intensity": { type: string; default: number; minimum: number; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "heatmap-color": { type: string; default: (string | number | string[])[]; doc: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": {}; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "heatmap-opacity": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; paint_symbol: { "icon-opacity": { doc: string; type: string; default: number; minimum: number; maximum: number; transition: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "icon-occlusion-opacity": { doc: string; type: string; minimum: number; maximum: number; default: number; transition: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "icon-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "text-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "icon-color": { type: string; default: string; "use-theme": boolean; transition: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "icon-halo-color": { type: string; default: string; "use-theme": boolean; transition: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "icon-halo-width": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "icon-halo-blur": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "icon-translate": { type: string; value: string; length: number; default: number[]; transition: boolean; appearance: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-translate-anchor": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; doc: string; default: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-image-cross-fade": { type: string; "property-type": string; default: number; minimum: number; maximum: number; expression: { interpolated: boolean; parameters: string[]; }; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; doc: string; }; "text-opacity": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "text-occlusion-opacity": { type: string; doc: string; minimum: number; maximum: number; default: number; transition: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "text-color": { type: string; doc: string; default: string; "use-theme": boolean; transition: boolean; overridable: boolean; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "text-halo-color": { type: string; default: string; "use-theme": boolean; transition: boolean; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "text-halo-width": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "text-halo-blur": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; appearance: boolean; "property-type": string; }; "text-translate": { type: string; value: string; length: number; default: number[]; transition: boolean; appearance: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "text-translate-anchor": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; doc: string; default: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "icon-color-saturation": { type: string; default: number; minimum: number; maximum: number; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "icon-color-contrast": { type: string; default: number; minimum: number; maximum: number; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "icon-color-brightness-min": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "icon-color-brightness-max": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; "symbol-z-offset": { type: string; doc: string; units: string; default: number; minimum: number; transition: boolean; appearance: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; requires: { "symbol-z-elevate": boolean; }[]; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "placement-priority": { type: string; doc: string; default: number; minimum: number; transition: boolean; appearance: boolean; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; "sdk-support": { "basic functionality": {}; "data-driven styling": {}; }; private: boolean; experimental: boolean; }; "placement-group": { type: string; doc: string; transition: boolean; appearance: boolean; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; "sdk-support": { "basic functionality": {}; "data-driven styling": {}; }; private: boolean; experimental: boolean; }; }; paint_raster: { "raster-opacity": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-color": { type: string; doc: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": {}; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-color-mix": { type: string; default: number[]; length: number; value: string; "property-type": string; transition: boolean; requires: string[]; expression: { interpolated: boolean; parameters: string[]; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "raster-color-range": { type: string; length: number; value: string; "property-type": string; transition: boolean; requires: string[]; expression: { interpolated: boolean; parameters: string[]; }; doc: string; example: number[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "raster-color-scale": { type: string; doc: string; values: { linear: { doc: string; }; log: { doc: string; }; }; default: string; requires: (string | { source: string; })[]; expression: { interpolated: boolean; parameters: any[]; }; "property-type": string; experimental: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "raster-hue-rotate": { type: string; default: number; period: number; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-brightness-min": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-brightness-max": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-saturation": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-contrast": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-resampling": { type: string; doc: string; values: { linear: { doc: string; }; nearest: { doc: string; }; }; default: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-fade-duration": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-array-band": { type: string; required: boolean; experimental: boolean; "property-type": string; transition: boolean; requires: { source: string; }[]; doc: string; example: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "raster-elevation": { type: string; doc: string; default: number; minimum: number; transition: boolean; units: string; experimental: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-elevation-reference": { type: string; doc: string; values: { sea: { doc: string; }; ground: { doc: string; }; }; default: string; transition: boolean; experimental: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; }; "property-type": string; }; }; "paint_raster-particle": { "raster-particle-array-band": { type: string; required: boolean; "property-type": string; transition: boolean; doc: string; example: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "raster-particle-count": { type: string; doc: string; default: number; minimum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "raster-particle-color": { type: string; doc: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": {}; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-particle-max-speed": { type: string; doc: string; default: number; minimum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "raster-particle-speed-factor": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-particle-fade-opacity-factor": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "raster-particle-reset-rate-factor": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "raster-particle-elevation": { type: string; doc: string; default: number; minimum: number; transition: boolean; units: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; paint_hillshade: { "hillshade-illumination-direction": { type: string; default: number; minimum: number; maximum: number; doc: string; units: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "hillshade-illumination-anchor": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "hillshade-exaggeration": { type: string; doc: string; default: number; minimum: number; maximum: number; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "hillshade-shadow-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "hillshade-highlight-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "hillshade-accent-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "hillshade-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; paint_background: { "background-pitch-alignment": { type: string; values: { map: { doc: string; }; viewport: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: any[]; }; experimental: boolean; "property-type": string; }; "background-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; requires: { "!": string; }[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "background-pattern": { type: string; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "background-opacity": { type: string; default: number; minimum: number; maximum: number; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "background-emissive-strength": { type: string; default: number; minimum: number; transition: boolean; units: string; doc: string; requires: string[]; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; paint_sky: { "sky-type": { type: string; values: { gradient: { doc: string; }; atmosphere: { doc: string; }; }; default: string; doc: string; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "sky-atmosphere-sun": { type: string; value: string; length: number; units: string; minimum: number[]; maximum: number[]; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; requires: { "sky-type": string; }[]; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "sky-atmosphere-sun-intensity": { type: string; requires: { "sky-type": string; }[]; default: number; minimum: number; maximum: number; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; "property-type": string; }; "sky-gradient-center": { type: string; requires: { "sky-type": string; }[]; value: string; default: number[]; length: number; units: string; minimum: number[]; maximum: number[]; transition: boolean; doc: string; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "sky-gradient-radius": { type: string; requires: { "sky-type": string; }[]; default: number; minimum: number; maximum: number; transition: boolean; doc: string; units: string; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "sky-gradient": { type: string; default: (string | number | string[])[]; doc: string; "use-theme": boolean; transition: boolean; requires: { "sky-type": string; }[]; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; "data-driven styling": {}; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; "sky-atmosphere-halo-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; requires: { "sky-type": string; }[]; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; "property-type": string; }; "sky-atmosphere-color": { type: string; default: string; doc: string; "use-theme": boolean; transition: boolean; requires: { "sky-type": string; }[]; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; "property-type": string; }; "sky-opacity": { type: string; default: number; minimum: number; maximum: number; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; ios: string; android: string; }; }; expression: { interpolated: boolean; parameters: string[]; }; "property-type": string; }; }; paint_model: { "model-opacity": { type: string; default: number; minimum: number; maximum: number; doc: string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; "property-type": string; }; "model-rotation": { type: string; value: string; length: number; default: number[]; period: number; units: string; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; transition: boolean; doc: string; }; "model-scale": { type: string; value: string; length: number; default: number[]; doc: string; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; transition: boolean; }; "model-translation": { type: string; value: string; length: number; default: number[]; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; transition: boolean; units: string; doc: string; }; "model-color": { type: string; default: string; doc: string; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; "use-theme": boolean; transition: boolean; }; "model-color-mix-intensity": { type: string; "property-type": string; default: number; minimum: number; maximum: number; doc: string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; transition: boolean; }; "model-type": { type: string; values: { "common-3d": { doc: string; }; "location-indicator": { doc: string; }; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; default: string; doc: string; "property-type": string; }; "model-cast-shadows": { type: string; default: boolean; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "model-receive-shadows": { type: string; default: boolean; doc: string; transition: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "model-ambient-occlusion-intensity": { type: string; default: number; minimum: number; maximum: number; doc: string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; transition: boolean; }; "model-emissive-strength": { type: string; "property-type": string; default: number; minimum: number; maximum: number; units: string; doc: string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; transition: boolean; }; "model-roughness": { type: string; default: number; minimum: number; maximum: number; doc: string; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; transition: boolean; }; "model-height-based-emissive-strength-multiplier": { type: string; default: number[]; length: number; value: string; doc: string; "property-type": string; expression: { interpolated: boolean; parameters: string[]; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; "data-driven styling": { js: string; android: string; ios: string; }; }; transition: boolean; }; "model-cutoff-fade-range": { type: string; default: number; minimum: number; maximum: number; doc: string; transition: boolean; expression: { interpolated: boolean; }; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; "property-type": string; }; "model-front-cutoff": { type: string; private: boolean; value: string; "property-type": string; transition: boolean; expression: { interpolated: boolean; parameters: string[]; }; length: number; default: number[]; minimum: number[]; maximum: number[]; doc: string; "sdk-support": { "basic functionality": { js: string; }; }; }; "model-elevation-reference": { type: string; doc: string; values: { sea: { doc: string; }; ground: { doc: string; }; "hd-road-markup": { doc: string; }; }; default: string; transition: boolean; expression: { interpolated: boolean; }; "property-type": string; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; "model-line-cutout-mode": { type: string; doc: string; default: string; values: { enabled: { doc: string; }; disabled: { doc: string; }; "enabled-above-cutout": { doc: string; }; }; transition: boolean; expression: { interpolated: boolean; }; "property-type": string; experimental: boolean; private: boolean; "sdk-support": { "basic functionality": { js: string; android: string; ios: string; }; }; }; }; transition: { duration: { type: string; default: number; minimum: number; units: string; doc: string; }; delay: { type: string; default: number; minimum: number; units: string; doc: string; }; }; "property-type": { "data-driven": { type: string; doc: string; }; "color-ramp": { type: string; doc: string; }; "data-constant": { type: string; doc: string; }; constant: { type: string; doc: string; }; }; promoteId: { "*": { type: string; doc: string; }; }; $doc: { transition: { type: string; doc: string; }; "use-theme": { type: string; doc: string; values: { default: { doc: string; }; none: { doc: string; }; }; default: string; }; }; }; type StyleReference = Record; declare const _default: StyleReference; /** * Format a Mapbox GL Style. Returns a stringified style with its keys * sorted in the same order as the reference style. * * The optional `space` argument is passed to * [`JSON.stringify`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) * to generate formatted output. * * If `space` is unspecified, a default of `2` spaces will be used. * * @private * @param {Object} style a Mapbox GL Style * @param {number} [space] space argument to pass to `JSON.stringify` * @returns {string} stringified formatted JSON * @example * var fs = require('fs'); * var format = require('mapbox-gl-style-spec').format; * var style = fs.readFileSync('./source.json', 'utf8'); * fs.writeFileSync('./dest.json', format(style)); * fs.writeFileSync('./dest.min.json', format(style, 0)); */ declare function format(style: unknown, space?: number): string; type UnionToIntersection = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? { [K in keyof I]: I[K]; } : never; type ColorSpecification = string; type FormattedSpecification = string; type ResolvedImageSpecification = string; type PromoteIdSpecification = { [_: string]: string | ExpressionSpecification; } | string | ExpressionSpecification; 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; type TransitionSpecification = { duration?: number; delay?: number; }; type PropertyFunctionStop = [number, T]; type ZoomAndPropertyFunctionStop = [{ zoom: number; value: string | number | boolean; }, T]; /** * @deprecated Use [Expressions](https://docs.mapbox.com/style-spec/reference/expressions/) syntax instead. */ type FunctionSpecification = { stops: Array | ZoomAndPropertyFunctionStop>; base?: number; property?: string; type?: 'identity' | 'exponential' | 'interval' | 'categorical'; colorSpace?: 'rgb' | 'lab' | 'hcl'; default?: T; }; type CameraFunctionSpecification = { type: 'exponential'; stops: Array<[number, T]>; } | { type: 'interval'; stops: Array<[number, T]>; }; 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; }; 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; }; type ExpressionSpecification = [string, ...any[]]; type PropertyValueSpecification = T | CameraFunctionSpecification | ExpressionSpecification; type DataDrivenPropertyValueSpecification = T | FunctionSpecification | CameraFunctionSpecification | SourceFunctionSpecification | CompositeFunctionSpecification | ExpressionSpecification | (T extends Array ? Array : never); 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; }; type SourcesSpecification = { [_: string]: SourceSpecification; }; type ModelsSpecification = { [_: string]: ModelSpecification; }; type ModelLightOverridesSpecification = { "light-ambient-color"?: ColorSpecification; "light-ambient-intensity"?: number; "light-directional-color"?: ColorSpecification; "light-directional-intensity"?: number; }; type ModelNodeOverrideSpecification = { "orientation"?: [number, number, number]; }; type ModelNodeOverridesSpecification = { [_: string]: ModelNodeOverrideSpecification; }; type ModelMaterialOverrideSpecification = { "model-color"?: ColorSpecification; "model-color-mix-intensity"?: number; "model-opacity"?: number; "model-emissive-strength"?: number; }; type ModelMaterialOverridesSpecification = { [_: string]: ModelMaterialOverrideSpecification; }; type ModelSourceModelsSpecification = { [_: string]: ModelSourceModelSpecification; }; type ModelSourceModelSpecification = { "uri": string; "position"?: [number, number]; "orientation"?: [number, number, number]; "lightOverrides"?: ModelLightOverridesSpecification; "nodeOverrides"?: ModelNodeOverridesSpecification; "materialOverrides"?: ModelMaterialOverridesSpecification; "nodeOverrideNames"?: Array; "materialOverrideNames"?: Array; "featureProperties"?: unknown; }; type IconsetsSpecification = { [_: string]: IconsetSpecification; }; 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; }; type TerrainSpecification = { "source": string; "exaggeration"?: PropertyValueSpecification; "exaggeration-transition"?: TransitionSpecification; }; type TerrainSpecificationUpdate = { "exaggeration"?: PropertyValueSpecification; "exaggeration-transition"?: TransitionSpecification; }; 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; }; 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; }; 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; }; type CameraSpecification = { "camera-projection"?: "perspective" | "orthographic"; }; type ColorThemeSpecification = { "data"?: string | ExpressionSpecification; }; type ProjectionSpecification = { "name": "albers" | "equalEarth" | "equirectangular" | "lambertConformalConic" | "mercator" | "naturalEarth" | "winkelTripel" | "globe"; "center"?: [number, number]; "parallels"?: [number, number]; }; type ImportSpecification = { "id": string; "url": string; "config"?: ConfigSpecification; "data"?: StyleSpecification; "color-theme"?: ColorThemeSpecification | null | undefined; }; type IndoorSpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ [_: string]: IndoorSourceSpecification; }; 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; }; type ConfigSpecification = { [_: string]: unknown; }; type SchemaSpecification = { [_: string]: OptionSpecification; }; type OptionSpecification = { "default": unknown | ExpressionSpecification; "type"?: "string" | "number" | "boolean" | "color" | "object"; "array"?: boolean; "minValue"?: number; "maxValue"?: number; "stepValue"?: number; "values"?: Array; "metadata"?: unknown; }; /** * @experimental This is experimental and subject to change in future versions. */ type FeaturesetsSpecification = { [_: string]: FeaturesetSpecification; }; /** * @experimental This is experimental and subject to change in future versions. */ 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. */ 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. */ type SelectorPropertySpecification = { /** * @experimental This property is experimental and subject to change in future versions. */ [_: string]: unknown; }; type AppearanceSpecification = { "condition"?: DataDrivenPropertyValueSpecification; "name"?: string; "properties"?: unknown; }; 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; }; 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; }; 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. */ 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; }; 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; }; type VideoSourceSpecification = { "type": "video"; "urls": Array; "coordinates": [[number, number], [number, number], [number, number], [number, number]]; }; type ImageSourceSpecification = { "type": "image"; "url"?: string; "coordinates": [[number, number], [number, number], [number, number], [number, number]]; }; type ModelSourceSpecification = { "type": "model" | "batched-model"; "url"?: string; "maxzoom"?: number; "minzoom"?: number; "tiles"?: Array; "bounds"?: [number, number, number, number]; "extra_bounds"?: Array<[number, number, number, number]>; "models"?: ModelSourceModelsSpecification; }; type SourceSpecification = VectorSourceSpecification | RasterSourceSpecification | RasterDEMSourceSpecification | RasterArraySourceSpecification | GeoJSONSourceSpecification | VideoSourceSpecification | ImageSourceSpecification | ModelSourceSpecification; type IconsetSpecification = { "type": "sprite"; "url": string; } | { "type": "source"; "source": string; }; type ModelSpecification = string; type AmbientLightSpecification = { "id": string; "properties"?: { "color"?: PropertyValueSpecification; "color-transition"?: TransitionSpecification; "color-use-theme"?: PropertyValueSpecification; "intensity"?: PropertyValueSpecification; "intensity-transition"?: TransitionSpecification; }; "type": "ambient"; }; 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"; }; 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"; }; type LightsSpecification = AmbientLightSpecification | DirectionalLightSpecification | FlatLightSpecification; 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; }; "appearances"?: Array; }; /** * @deprecated Use `FillLayerSpecification['layout']` instead. */ type FillLayout = FillLayerSpecification['layout']; /** * @deprecated Use `FillLayerSpecification['paint']` instead. */ type FillPaint = FillLayerSpecification['paint']; 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; /** * @experimental This property is experimental and subject to change in future versions. */ "line-border-gradient"?: ColorSpecification | ExpressionSpecification; "line-border-gradient-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. */ "line-blend-additive-clamp"?: PropertyValueSpecification; /** * @experimental This property is experimental and subject to change in future versions. */ "line-cutout-depth"?: PropertyValueSpecification; "line-cutout-depth-transition"?: TransitionSpecification; }; "appearances"?: Array; }; /** * @deprecated Use `LineLayerSpecification['layout']` instead. */ type LineLayout = LineLayerSpecification['layout']; /** * @deprecated Use `LineLayerSpecification['paint']` instead. */ type LinePaint = LineLayerSpecification['paint']; 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; "symbol-z-offset"?: DataDrivenPropertyValueSpecification; "symbol-z-offset-transition"?: TransitionSpecification; /** * @experimental This property is experimental and subject to change in future versions. */ "placement-priority"?: DataDrivenPropertyValueSpecification; /** * @experimental This property is experimental and subject to change in future versions. */ "placement-group"?: DataDrivenPropertyValueSpecification; }; "appearances"?: Array; }; /** * @deprecated Use `SymbolLayerSpecification['layout']` instead. */ type SymbolLayout = SymbolLayerSpecification['layout']; /** * @deprecated Use `SymbolLayerSpecification['paint']` instead. */ type SymbolPaint = SymbolLayerSpecification['paint']; 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; }; "appearances"?: Array; }; /** * @deprecated Use `CircleLayerSpecification['layout']` instead. */ type CircleLayout = CircleLayerSpecification['layout']; /** * @deprecated Use `CircleLayerSpecification['paint']` instead. */ type CirclePaint = CircleLayerSpecification['paint']; 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; }; "appearances"?: Array; }; /** * @deprecated Use `HeatmapLayerSpecification['layout']` instead. */ type HeatmapLayout = HeatmapLayerSpecification['layout']; /** * @deprecated Use `HeatmapLayerSpecification['paint']` instead. */ type HeatmapPaint = HeatmapLayerSpecification['paint']; 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; }; "appearances"?: Array; }; /** * @deprecated Use `FillExtrusionLayerSpecification['layout']` instead. */ type FillExtrusionLayout = FillExtrusionLayerSpecification['layout']; /** * @deprecated Use `FillExtrusionLayerSpecification['paint']` instead. */ type FillExtrusionPaint = FillExtrusionLayerSpecification['paint']; 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; }; "appearances"?: Array; }; /** * @deprecated Use `BuildingLayerSpecification['layout']` instead. */ type BuildingLayout = BuildingLayerSpecification['layout']; /** * @deprecated Use `BuildingLayerSpecification['paint']` instead. */ type BuildingPaint = BuildingLayerSpecification['paint']; 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; /** * @experimental This property is experimental and subject to change in future versions. */ "raster-color-scale"?: "linear" | "log" | ExpressionSpecification; "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; }; "appearances"?: Array; }; /** * @deprecated Use `RasterLayerSpecification['layout']` instead. */ type RasterLayout = RasterLayerSpecification['layout']; /** * @deprecated Use `RasterLayerSpecification['paint']` instead. */ type RasterPaint = RasterLayerSpecification['paint']; 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; }; "appearances"?: Array; }; /** * @deprecated Use `RasterParticleLayerSpecification['layout']` instead. */ type RasterParticleLayout = RasterParticleLayerSpecification['layout']; /** * @deprecated Use `RasterParticleLayerSpecification['paint']` instead. */ type RasterParticlePaint = RasterParticleLayerSpecification['paint']; 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; }; "appearances"?: Array; }; /** * @deprecated Use `HillshadeLayerSpecification['layout']` instead. */ type HillshadeLayout = HillshadeLayerSpecification['layout']; /** * @deprecated Use `HillshadeLayerSpecification['paint']` instead. */ type HillshadePaint = HillshadeLayerSpecification['paint']; 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-line-cutout-mode"?: "enabled" | "disabled" | "enabled-above-cutout" | ExpressionSpecification; }; "appearances"?: Array; }; /** * @deprecated Use `ModelLayerSpecification['layout']` instead. */ type ModelLayout = ModelLayerSpecification['layout']; /** * @deprecated Use `ModelLayerSpecification['paint']` instead. */ type ModelPaint = ModelLayerSpecification['paint']; 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; }; "appearances"?: Array; }; /** * @deprecated Use `BackgroundLayerSpecification['layout']` instead. */ type BackgroundLayout = BackgroundLayerSpecification['layout']; /** * @deprecated Use `BackgroundLayerSpecification['paint']` instead. */ type BackgroundPaint = BackgroundLayerSpecification['paint']; 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; }; "appearances"?: Array; }; /** * @deprecated Use `SkyLayerSpecification['layout']` instead. */ type SkyLayout = SkyLayerSpecification['layout']; /** * @deprecated Use `SkyLayerSpecification['paint']` instead. */ type SkyPaint = SkyLayerSpecification['paint']; type SlotLayerSpecification = { "id": string; "type": "slot"; "metadata"?: unknown; "source"?: never; "source-layer"?: never; "slot"?: string; "minzoom"?: never; "maxzoom"?: never; "filter"?: never; "appearances"?: Array; "layout"?: never; "paint"?: never; }; type PlacementGroupLayerSpecification = { "id": string; "type": "placement-group"; "metadata"?: unknown; "source"?: never; "source-layer"?: never; "slot"?: string; "minzoom"?: never; "maxzoom"?: never; "filter"?: never; "appearances"?: Array; "layout"?: never; "paint"?: never; }; 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; }; "appearances"?: Array; "paint"?: never; }; /** * @deprecated Use `ClipLayerSpecification['layout']` instead. */ type ClipLayout = ClipLayerSpecification['layout']; type LayerSpecification = FillLayerSpecification | LineLayerSpecification | SymbolLayerSpecification | CircleLayerSpecification | HeatmapLayerSpecification | FillExtrusionLayerSpecification | BuildingLayerSpecification | RasterLayerSpecification | RasterParticleLayerSpecification | HillshadeLayerSpecification | ModelLayerSpecification | BackgroundLayerSpecification | SkyLayerSpecification | SlotLayerSpecification | PlacementGroupLayerSpecification | ClipLayerSpecification; type LayoutSpecification = UnionToIntersection>; type PaintSpecification = UnionToIntersection>; type LayerBaseSpecification = Pick; type Layer = Pick; /** * @deprecated Use `StyleSpecification` instead. */ type Style = StyleSpecification; /** * @deprecated Use `LayerSpecification` instead. */ type AnyLayer = LayerSpecification; /** * @deprecated Use `FillLayerSpecification` instead. */ type FillLayer = FillLayerSpecification; /** * @deprecated Use `LineLayerSpecification` instead. */ type LineLayer = LineLayerSpecification; /** * @deprecated Use `SymbolLayerSpecification` instead. */ type SymbolLayer = SymbolLayerSpecification; /** * @deprecated Use `CircleLayerSpecification` instead. */ type CircleLayer = CircleLayerSpecification; /** * @deprecated Use `HeatmapLayerSpecification` instead. */ type HeatmapLayer = HeatmapLayerSpecification; /** * @deprecated Use `FillExtrusionLayerSpecification` instead. */ type FillExtrusionLayer = FillExtrusionLayerSpecification; /** * @deprecated Use `BuildingLayerSpecification` instead. */ type BuildingLayer = BuildingLayerSpecification; /** * @deprecated Use `RasterLayerSpecification` instead. */ type RasterLayer = RasterLayerSpecification; /** * @deprecated Use `RasterParticleLayerSpecification` instead. */ type RasterParticleLayer = RasterParticleLayerSpecification; /** * @deprecated Use `HillshadeLayerSpecification` instead. */ type HillshadeLayer = HillshadeLayerSpecification; /** * @deprecated Use `ModelLayerSpecification` instead. */ type ModelLayer = ModelLayerSpecification; /** * @deprecated Use `BackgroundLayerSpecification` instead. */ type BackgroundLayer = BackgroundLayerSpecification; /** * @deprecated Use `SkyLayerSpecification` instead. */ type SkyLayer = SkyLayerSpecification; /** * @deprecated Use `SlotLayerSpecification` instead. */ type SlotLayer = SlotLayerSpecification; /** * @deprecated Use `PlacementGroupLayerSpecification` instead. */ type PlacementGroupLayer = PlacementGroupLayerSpecification; /** * @deprecated Use `ClipLayerSpecification` instead. */ type ClipLayer = ClipLayerSpecification; /** * @deprecated Use `LayoutSpecification` instead. */ type AnyLayout = LayoutSpecification; /** * @deprecated Use `PaintSpecification` instead. */ type AnyPaint = PaintSpecification; /** * @deprecated Use `ExpressionSpecification` instead. */ type Expression$1 = ExpressionSpecification; /** * @deprecated Use `TransitionSpecification` instead. */ type Transition = TransitionSpecification; /** * @deprecated Use `SourceSpecification` instead. */ type AnySourceData = SourceSpecification; /** * @deprecated Use `SourcesSpecification` instead. */ type Sources = SourcesSpecification; /** * @deprecated Use `ProjectionSpecification` instead. */ type Projection = ProjectionSpecification; /** * Migrate a Mapbox GL Style to the latest version. * * @private * @alias migrate * @param {object} style a Mapbox GL Style * @returns {Object} a migrated style * @example * var fs = require('fs'); * var migrate = require('mapbox-gl-style-spec').migrate; * var style = fs.readFileSync('./style.json', 'utf8'); * fs.writeFileSync('./style.json', JSON.stringify(migrate(style))); */ declare function export_default$1(style: { version: 7; } | StyleSpecification): StyleSpecification; declare function export_default(style: StyleSpecification): StyleSpecification; /** * Given an array of layers, some of which may contain `ref` properties * whose value is the `id` of another property, return a new array where * such layers have been augmented with the 'type', 'source', etc. properties * from the parent layer, and the `ref` property has been removed. * * The input is not modified. The output may contain references to portions * of the input. * * @private * @param {Array} layers * @returns {Array} */ declare function derefLayers(layers: Array): Array; type Command = { command: string; args: unknown[]; }; /** * Diff two stylesheet * * Creates semanticly aware diffs that can easily be applied at runtime. * Operations produced by the diff closely resemble the mapbox-gl-js API. Any * error creating the diff will fall back to the 'setStyle' operation. * * Example diff: * [ * { command: 'setConstant', args: ['@water', '#0000FF'] }, * { command: 'setPaintProperty', args: ['background', 'background-color', 'black'] } * ] * * @private * @param {*} [before] stylesheet to compare from * @param {*} after stylesheet to compare to * @returns Array list of changes */ declare function diffStyles(before: StyleSpecification, after: StyleSpecification): Array; declare class ValidationError$1 { message: string; identifier: string | null | undefined; line: number | null | undefined; constructor(key: string | null | undefined, value: unknown, message: string, identifier?: string | null); } declare class ParsingError$1 { message: string; error: Error; line: number; constructor(error: Error); } declare class ParsingError extends Error { key: string; message: string; constructor(key: string, message: string); } type LUT = { image: { width: number; height: number; data: Uint8Array; }; }; /** * An RGBA color value. Create instances from color strings using the static * method `Color.parse`. The constructor accepts RGB channel values in the range * `[0, 1]`, premultiplied by A. * * @param {number} r The red channel. * @param {number} g The green channel. * @param {number} b The blue channel. * @param {number} a The alpha channel. * @private */ declare class Color { readonly r: number; readonly g: number; readonly b: number; readonly a: number; constructor(r: number, g: number, b: number, a?: number); static black: Color; static white: Color; static transparent: Color; static red: Color; static blue: Color; /** * Parses valid CSS color strings and returns a `Color` instance. * @returns A `Color` instance, or `undefined` if the input is not a valid color string. */ static parse(input?: string | Color | null): Color | undefined; /** * Returns an RGBA string representing the color value. * * @returns An RGBA string. * @example * var purple = new Color.parse('purple'); * purple.toString; // = "rgba(128,0,128,1)" * var translucentGreen = new Color.parse('rgba(26, 207, 26, .73)'); * translucentGreen.toString(); // = "rgba(26,207,26,0.73)" */ toString(): string; toNonPremultipliedRenderColor(lut: LUT | null): NonPremultipliedRenderColor; toPremultipliedRenderColor(lut: LUT | null): NonPremultipliedRenderColor; clone(): Color; } declare abstract class RenderColor { premultiplied: boolean; r: number; g: number; b: number; a: number; constructor(lut: LUT | null, r: number, g: number, b: number, a: number, premultiplied?: boolean); /** * Returns an RGBA array of values representing the color. * @returns An array of RGBA color values in the range [0, 255]. */ toArray(): [number, number, number, number]; /** * Returns an HSLA array of values representing the color, unpremultiplied by A. * @returns An array of HSLA color values. */ toHslaArray(): [number, number, number, number]; /** * Returns a RGBA array of float values representing the color. * * @returns An array of RGBA color values in the range [0, 1]. */ toArray01(): [number, number, number, number]; /** * Returns an RGB array of values representing the color, unpremultiplied by A and multiplied by a scalar. * * @param {number} scale A scale to apply to the unpremultiplied-alpha values. * @returns An array of RGB color values in the range [0, 1]. */ toArray01Scaled(scale: number): [number, number, number]; /** * Returns an RGBA array of values representing the color converted to linear color space. * The color is defined by sRGB primaries, but the sRGB transfer function * is reversed to obtain linear energy. * @returns An array of RGBA color values in the range [0, 1]. */ toArray01Linear(): [number, number, number, number]; } /** * Renderable color created from a Color and an optional LUT value. * Represent a color value with non-premultiplied alpha. */ declare class NonPremultipliedRenderColor extends RenderColor { constructor(lut: LUT | null, r: number, g: number, b: number, a: number); } declare class Collator { locale: string | null; sensitivity: 'base' | 'accent' | 'case' | 'variant'; collator: Intl.Collator; constructor(caseSensitive: boolean, diacriticSensitive: boolean, locale: string | null); compare(lhs: string, rhs: string): number; resolvedLocale(): string; } /** * Defines nominal type of `U` based on type of `T`. Similar to Opaque types in Flow. */ type Brand = T & { __brand: U; }; type ImageIdSpec = { name: string; iconsetId?: string; }; /** * `StringifiedImageId` is a stringified version of the `ImageId`. * * @private */ type StringifiedImageId = Brand; /** * `ImageId` is a reference to an {@link ImageVariant} in the sprite or iconset. * * @private */ declare class ImageId { name: string; iconsetId?: string; constructor(id: string | ImageId | ImageIdSpec); static from(id: string | ImageId | ImageIdSpec): ImageId; static toString(id: ImageId | ImageIdSpec): StringifiedImageId; static parse(str: StringifiedImageId): ImageId | null; static isEqual(a: ImageId | ImageIdSpec, b: ImageId | ImageIdSpec): boolean; toString(): StringifiedImageId; serialize(): ImageIdSpec; } /** * `StringifiedImageVariant` is a stringified version of the `ImageVariant`. * * @private */ type StringifiedImageVariant = Brand; /** * {@link ImageVariant} rasterization options. * * @private */ type RasterizationOptions = { params?: Record; sx?: number; sy?: number; }; /** * `ImageVariant` is a component of {@link ResolvedImage} * that represents either the primary or secondary image * along with its rendering configuration. * * @private */ declare class ImageVariant implements RasterizationOptions { id: ImageId; params?: Record; sx: number; sy: number; constructor(id: string | ImageIdSpec, options?: RasterizationOptions); toString(): StringifiedImageVariant; static parse(str: StringifiedImageVariant): ImageVariant | null; scaleSelf(factor: number, yFactor?: number): this; } declare class ResolvedImage { primaryId: ImageId; primaryOptions?: RasterizationOptions; secondaryId?: ImageId; secondaryOptions?: RasterizationOptions; available: boolean; constructor(primaryId: string | ImageIdSpec, primaryOptions?: RasterizationOptions, secondaryId?: string | ImageIdSpec, secondaryOptions?: RasterizationOptions, available?: boolean); toString(): string; hasPrimary(): boolean; getPrimary(): ImageVariant; hasSecondary(): boolean; getSecondary(): ImageVariant | null; static from(image: string | ResolvedImage): ResolvedImage; static build(primaryId: string | ImageIdSpec, secondaryId?: string | ImageIdSpec, primaryOptions?: RasterizationOptions, secondaryOptions?: RasterizationOptions): ResolvedImage | null; } declare class FormattedSection { text: string; image: ResolvedImage | null; scale: number | null; fontStack: string | null; textColor: Color | null; constructor(text: string, image: ResolvedImage | null, scale: number | null, fontStack: string | null, textColor: Color | null); } declare class Formatted { sections: Array; constructor(sections: Array); static fromString(unformatted: string): Formatted; isEmpty(): boolean; static factory(text: Formatted | string): Formatted; toString(): string; serialize(): Array; } type NullTypeT = { kind: 'null'; }; type NumberTypeT = { kind: 'number'; }; type StringTypeT = { kind: 'string'; }; type BooleanTypeT = { kind: 'boolean'; }; type ColorTypeT = { kind: 'color'; }; type ObjectTypeT = { kind: 'object'; }; type ValueTypeT = { kind: 'value'; }; type ErrorTypeT = { kind: 'error'; }; type CollatorTypeT = { kind: 'collator'; }; type FormattedTypeT = { kind: 'formatted'; }; type ResolvedImageTypeT = { kind: 'resolvedImage'; }; type EvaluationKind = 'constant' | 'source' | 'camera' | 'composite'; type Type = NullTypeT | NumberTypeT | StringTypeT | BooleanTypeT | ColorTypeT | ObjectTypeT | ValueTypeT | ArrayType | ErrorTypeT | CollatorTypeT | FormattedTypeT | ResolvedImageTypeT; type ArrayType = { kind: 'array'; itemType: Type; N: number | null | undefined; }; type Value = null | string | boolean | number | Color | Collator | Formatted | ResolvedImage | ReadonlyArray | { readonly [key: string]: Value; }; type CanonicalTileID = { z: number; x: number; y: number; }; type SerializedExpression = Array | Array | string | number | boolean | null; interface Expression { readonly type: Type; value?: any; evaluate: (ctx: EvaluationContext) => any; eachChild: (fn: (arg1: Expression) => void) => void; /** * Statically analyze the expression, attempting to enumerate possible outputs. Returns * false if the complete set of outputs is statically undecidable, otherwise true. */ outputDefined: () => boolean; serialize: () => SerializedExpression; } type ConfigOptionValue = { default: Expression; value?: Expression; values?: Array; minValue?: number; maxValue?: number; stepValue?: number; type?: 'string' | 'number' | 'boolean' | 'color' | 'object'; }; type ConfigOptions = Map; type FeatureDistanceData = { bearing: [number, number]; center: [number, number]; scale: number; }; type FilterExpression = (globalProperties: GlobalProperties, feature: Feature, canonical?: CanonicalTileID, featureTileCoord?: Point, featureDistanceData?: FeatureDistanceData) => boolean; type FeatureFilter = { filter: FilterExpression; dynamicFilter?: FilterExpression; needGeometry: boolean; needFeature: boolean; }; declare function isExpressionFilter(filter: unknown): boolean; /** * Given a filter expressed as nested arrays, return a new function * that evaluates whether a given feature (with a .properties or .tags property) * passes its test. * * @private * @param {Array} filter mapbox gl filter * @param {string} layerType the type of the layer this filter will be applied to. * @returns {Function} filter-evaluating function */ declare function createFilter(filter?: FilterSpecification, scope?: string, options?: ConfigOptions | null, layerType?: string): FeatureFilter; declare class EvaluationContext { globals: GlobalProperties | null; feature: Feature | null | undefined; featureState: FeatureState | null | undefined; formattedSection: FormattedSection | null | undefined; availableImages: ImageId[] | null | undefined; canonical: null | CanonicalTileID; featureTileCoord: Point | null | undefined; featureDistanceData: FeatureDistanceData | null | undefined; scope: string | null | undefined; options: ConfigOptions | null | undefined; iconImageUseTheme: string | null | undefined; constructor(scope?: string | null, options?: ConfigOptions | null, iconImageUseTheme?: string | null); id(): string | number | null; geometryType(): null | string; geometry(): Array> | null | undefined; canonicalID(): null | CanonicalTileID; properties(): { readonly [key: string]: unknown; }; measureLight(_: string): number; distanceFromCenter(): number; parseColor(input: string): Color | undefined; getConfig(id: string): ConfigOptionValue | null | undefined; } /** * A type used for returning and propagating errors. The first element of the union * represents success and contains a value, and the second represents an error and * contains an error value. * @private */ type Result = { result: 'success'; value: T; } | { result: 'error'; value: E; }; type InterpolationType = { name: 'linear'; } | { name: 'exponential'; base: number; } | { name: 'cubic-bezier'; controlPoints: [number, number, number, number]; }; interface Feature { readonly type: 0 | 1 | 2 | 3 | 'Unknown' | 'Point' | 'LineString' | 'Polygon'; readonly id?: string | number | null; readonly properties: Record; readonly patterns?: Record; readonly geometry?: Array>; } type FeatureState = { [_: string]: unknown; }; interface GlobalProperties { zoom: number; pitch?: number; heatmapDensity?: number; lineProgress?: number; rasterValue?: number; rasterParticleSpeed?: number; skyRadialProgress?: number; readonly isSupportedScript?: (_: string) => boolean; accumulated?: Value; brightness?: number; worldview?: string; activeFloors?: Set; } declare class StyleExpression { expression: Expression; _scope?: string | null; _options?: ConfigOptions | null; _iconImageUseTheme?: string | null; _evaluator?: EvaluationContext; _defaultValue: Value; _warningHistory: { [key: string]: boolean; }; _enumValues?: { [_: string]: unknown; } | null; configDependencies: Set; isIndoorDependent: boolean; constructor(expression: Expression, propertySpec?: StylePropertySpecification | null, scope?: string | null, options?: ConfigOptions | null, iconImageUseTheme?: string | null); evaluateWithoutErrorHandling(globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection, featureTileCoord?: Point, featureDistanceData?: FeatureDistanceData): any; evaluate(globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection, featureTileCoord?: Point, featureDistanceData?: FeatureDistanceData, iconImageUseTheme?: string): any; } declare function isExpression(expression: unknown): boolean; /** * Parse and typecheck the given style spec JSON expression. If * options.defaultValue is provided, then the resulting StyleExpression's * `evaluate()` method will handle errors by logging a warning (once per * message) and returning the default value. Otherwise, it will throw * evaluation errors. * * @private */ declare function createExpression(expression: unknown, propertySpec?: StylePropertySpecification | null, scope?: string | null, options?: ConfigOptions | null, iconImageUseTheme?: string | null): Result>; declare class ZoomConstantExpression { kind: Kind; isStateDependent: boolean; configDependencies: Set; isIndoorDependent: boolean; _styleExpression: StyleExpression; isLightConstant: boolean | null | undefined; isLineProgressConstant: boolean | null | undefined; constructor(kind: Kind, expression: StyleExpression, isLightConstant?: boolean | null, isLineProgressConstant?: boolean | null); evaluateWithoutErrorHandling(globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection): any; evaluate(globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection, iconImageUseTheme?: string): any; } declare class ZoomDependentExpression { kind: Kind; zoomStops: Array; isStateDependent: boolean; isIndoorDependent: boolean; isLightConstant: boolean | null | undefined; isLineProgressConstant: boolean | null | undefined; configDependencies: Set; _styleExpression: StyleExpression; interpolationType: InterpolationType | null | undefined; constructor(kind: Kind, expression: StyleExpression, zoomStops: Array, interpolationType?: InterpolationType, isLightConstant?: boolean | null, isLineProgressConstant?: boolean | null); evaluateWithoutErrorHandling(globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection): any; evaluate(globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection): any; interpolationFactor(input: number, lower: number, upper: number): number; } type ConstantExpression = { kind: 'constant'; configDependencies: Set; isIndoorDependent: boolean; readonly evaluate: (globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection, iconImageUseTheme?: string) => T; }; type SourceExpression = { kind: 'source'; isStateDependent: boolean; isIndoorDependent: boolean; isLightConstant: boolean | null | undefined; isLineProgressConstant: boolean | null | undefined; configDependencies: Set; readonly evaluate: (globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection) => T; }; type CameraExpression = { kind: 'camera'; isStateDependent: boolean; isIndoorDependent: boolean; configDependencies: Set; readonly evaluate: (globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[]) => T; readonly interpolationFactor: (input: number, lower: number, upper: number) => number; zoomStops: Array; interpolationType: InterpolationType | null | undefined; }; interface CompositeExpression { kind: 'composite'; isStateDependent: boolean; isIndoorDependent: boolean; isLightConstant: boolean | null | undefined; isLineProgressConstant: boolean | null | undefined; configDependencies: Set; readonly evaluate: (globals: GlobalProperties, feature?: Feature, featureState?: FeatureState, canonical?: CanonicalTileID, availableImages?: ImageId[], formattedSection?: FormattedSection, iconImageUseTheme?: string) => T; readonly interpolationFactor: (input: number, lower: number, upper: number) => number; zoomStops: Array; interpolationType: InterpolationType | null | undefined; } type StylePropertyExpression = ConstantExpression | SourceExpression | CameraExpression | CompositeExpression; declare function createPropertyExpression(expression: unknown, propertySpec: StylePropertySpecification, scope?: string | null, options?: ConfigOptions | null, iconImageUseTheme?: string | null): Result>; declare class StylePropertyFunction { _parameters: PropertyValueSpecification; _specification: StylePropertySpecification; kind: EvaluationKind; evaluate: (globals: GlobalProperties, feature?: Feature) => T; interpolationFactor: (input: number, lower: number, upper: number) => number | null | undefined; zoomStops: Array | null | undefined; constructor(parameters: PropertyValueSpecification, specification: StylePropertySpecification); static deserialize(serialized: { _parameters: PropertyValueSpecification; _specification: StylePropertySpecification; }): StylePropertyFunction; static serialize(input: StylePropertyFunction): { _parameters: PropertyValueSpecification; _specification: StylePropertySpecification; }; } declare function normalizePropertyExpression(value: PropertyValueSpecification, specification: StylePropertySpecification, scope?: string | null, options?: ConfigOptions | null, iconImageUseTheme?: string | null): StylePropertyExpression; /** * Convert the given legacy filter to (the JSON representation of) an * equivalent expression * @private */ declare function convertFilter(filter: FilterSpecification): unknown; type FeatureLike = { properties?: Record; }; declare function isFunction(value: unknown): boolean; declare function createFunction(input: unknown, propertySpec: StylePropertySpecification): { kind: string; interpolationType: { name: "linear"; }; interpolationFactor: (input: number, lower: number, upper: number) => number; zoomStops: number[]; evaluate({ zoom }: { zoom: number; }, properties: FeatureLike | null | undefined): unknown; } | { kind: string; interpolationType: { name: "exponential"; base: number; }; interpolationFactor: (input: number, lower: number, upper: number) => number; zoomStops: (string | number | boolean | { zoom: number; value: string | number | boolean; })[]; evaluate: ({ zoom }: { zoom: number; }) => unknown; } | { kind: string; evaluate(_: unknown, feature: FeatureLike | null | undefined): unknown; interpolationType?: undefined; interpolationFactor?: undefined; zoomStops?: undefined; }; declare function convertFunction(parameters: FunctionSpecification, propertySpec: StylePropertySpecification): ExpressionSpecification; declare function eachSource(style: StyleSpecification, callback: (_: SourceSpecification) => void): void; declare function eachLayer(style: StyleSpecification, callback: (_: LayerSpecification) => void): void; type PropertyCallback = (arg1: { path: [string, 'paint' | 'layout', string]; key: string; value: PropertyValueSpecification; reference: StylePropertySpecification; set: (arg1: PropertyValueSpecification) => void; }) => void; declare function eachProperty(style: StyleSpecification, options: { paint?: boolean; layout?: boolean; }, callback: PropertyCallback): void; type ValidationError = { message: string; identifier?: string | null | undefined; line?: number | null | undefined; }; type ValidationErrors = ReadonlyArray; /** * Validate a Mapbox GL style against the style specification. * * @private * @alias validate * @param {Object|String|Uint8Array} style The style to be validated. If a `String` * or `Uint8Array` is provided, the returned errors will contain line numbers. * @param {Object} [styleSpec] The style specification to validate against. * If omitted, the spec version is inferred from the stylesheet. * @returns {Array} * @example * var validate = require('mapbox-gl-style-spec').validate; * var style = fs.readFileSync('./style.json', 'utf8'); * var errors = validate(style); */ declare function validateStyle(style: StyleSpecification | string | Uint8Array, styleSpec?: StyleReference): ValidationErrors; type MapboxStyleSpecification = StyleSpecification & { visibility?: 'public' | 'private'; protected?: boolean; }; /** * Validate a Mapbox GL style against the style specification and check for * compatibility with the Mapbox Styles API. * * @param {Object} style The style to be validated. * @returns {Array} * @example * var validateMapboxApiSupported = require('mapbox-gl-style-spec/lib/validate_style_mapbox_api_supported.js'); * var errors = validateMapboxApiSupported(style); */ declare function validateMapboxApiSupported(style: MapboxStyleSpecification, styleSpec?: StyleReference): ValidationErrors; type ExpressionType = 'data-driven' | 'color-ramp' | 'data-constant' | 'constant'; type ExpressionParameter = 'zoom' | 'pitch' | 'feature' | 'raster-value' | 'feature-state' | 'line-progress' | 'measure-light' | 'heatmap-density' | 'sky-radial-progress' | 'distance-from-center' | 'raster-particle-speed'; type PropertyExpressionSpecification = { interpolated: boolean; parameters?: ExpressionParameter[]; relaxZoomRestriction?: boolean; }; type ArrayPropertySpecification = { type: 'array'; 'property-type': ExpressionType; value: 'enum'; expression?: PropertyExpressionSpecification; transition?: boolean; default?: string[]; length?: number; values?: { [_: string]: unknown; }; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; tokens?: never; minimum?: never; maximum?: never; } | { type: 'array'; 'property-type': ExpressionType; value: 'number'; expression?: PropertyExpressionSpecification; transition?: boolean; default?: number[]; minimum?: number; maximum?: number; length?: number; period?: number; units?: string; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; tokens?: never; values?: never; } | { type: 'array'; 'property-type': ExpressionType; value: 'string'; expression?: PropertyExpressionSpecification; transition?: boolean; default?: string[]; length?: number; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; tokens?: never; minimum?: never; maximum?: never; values?: never; }; type BooleanPropertySpecification = { type: 'boolean'; 'property-type': ExpressionType; expression?: PropertyExpressionSpecification; transition?: boolean; default?: boolean; overridable?: boolean; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; tokens?: never; }; type ColorPropertySpecification = { type: 'color'; 'property-type': ExpressionType; expression?: PropertyExpressionSpecification; transition?: boolean; default?: string; 'use-theme'?: boolean; overridable?: boolean; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; tokens?: never; }; type EnumPropertySpecification = { type: 'enum'; 'property-type': ExpressionType; expression?: PropertyExpressionSpecification; transition?: boolean; default?: string; values?: { [_: string]: unknown; }; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; tokens?: never; }; type FormattedPropertySpecification = { type: 'formatted'; 'property-type': ExpressionType; expression?: PropertyExpressionSpecification; transition?: boolean; default?: string; tokens?: boolean; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; }; type NumberPropertySpecification = { type: 'number'; 'property-type': ExpressionType; expression?: PropertyExpressionSpecification; transition?: boolean; default?: number; minimum?: number; maximum?: number; period?: number; units?: string; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; tokens?: never; }; type ResolvedImagePropertySpecification = { type: 'resolvedImage'; 'property-type': ExpressionType; expression?: PropertyExpressionSpecification; transition?: boolean; default?: string; tokens?: boolean; 'use-theme'?: boolean; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; }; type StringPropertySpecification = { type: 'string'; 'property-type': ExpressionType; expression?: PropertyExpressionSpecification; transition?: boolean; default?: string; tokens?: boolean; experimental?: boolean; private?: boolean; requires?: unknown; appearance?: boolean; }; /** * A style property specification is used to describe a value of some style property reference in the v8.json */ type StylePropertySpecification = ArrayPropertySpecification | BooleanPropertySpecification | ColorPropertySpecification | EnumPropertySpecification | FormattedPropertySpecification | NumberPropertySpecification | ResolvedImagePropertySpecification | StringPropertySpecification; declare const expression: { StyleExpression: typeof StyleExpression; isExpression: typeof isExpression; isExpressionFilter: typeof isExpressionFilter; createExpression: typeof createExpression; createPropertyExpression: typeof createPropertyExpression; normalizePropertyExpression: typeof normalizePropertyExpression; ZoomConstantExpression: typeof ZoomConstantExpression; ZoomDependentExpression: typeof ZoomDependentExpression; StylePropertyFunction: typeof StylePropertyFunction; }; declare const styleFunction: { convertFunction: typeof convertFunction; createFunction: typeof createFunction; isFunction: typeof isFunction; }; declare const visit: { eachSource: typeof eachSource; eachLayer: typeof eachLayer; eachProperty: typeof eachProperty; }; export { Color, ParsingError$1 as ParsingError, ValidationError$1 as ValidationError, export_default as composite, convertFilter, derefLayers, diffStyles as diff, expression, createFilter as featureFilter, format, styleFunction as function, _default as latest, export_default$1 as migrate, _exports as v8, validateStyle as validate, validateMapboxApiSupported, visit }; export type { AmbientLightSpecification, AnyLayer, AnyLayout, AnyPaint, AnySourceData, AppearanceSpecification, ArrayPropertySpecification, BackgroundLayer, BackgroundLayerSpecification, BackgroundLayout, BackgroundPaint, BooleanPropertySpecification, BuildingLayer, BuildingLayerSpecification, BuildingLayout, BuildingPaint, CameraFunctionSpecification, CameraSpecification, CircleLayer, CircleLayerSpecification, CircleLayout, CirclePaint, ClipLayer, ClipLayerSpecification, ClipLayout, ColorPropertySpecification, ColorSpecification, ColorThemeSpecification, CompositeFunctionSpecification, ConfigSpecification, DataDrivenPropertyValueSpecification, DirectionalLightSpecification, EnumPropertySpecification, Expression$1 as Expression, ExpressionSpecification, FeaturesetSpecification, FeaturesetsSpecification, FillExtrusionLayer, FillExtrusionLayerSpecification, FillExtrusionLayout, FillExtrusionPaint, FillLayer, FillLayerSpecification, FillLayout, FillPaint, FilterSpecification, FlatLightSpecification, FogSpecification, FormattedPropertySpecification, FormattedSpecification, FunctionSpecification, GeoJSONSourceSpecification, HeatmapLayer, HeatmapLayerSpecification, HeatmapLayout, HeatmapPaint, HillshadeLayer, HillshadeLayerSpecification, HillshadeLayout, HillshadePaint, IconsetSpecification, IconsetsSpecification, ImageSourceSpecification, ImportSpecification, IndoorSourceSpecification, IndoorSpecification, Layer, LayerBaseSpecification, LayerSpecification, LayoutSpecification, LightSpecification, LightsSpecification, LineLayer, LineLayerSpecification, LineLayout, LinePaint, ModelLayer, ModelLayerSpecification, ModelLayout, ModelLightOverridesSpecification, ModelMaterialOverrideSpecification, ModelMaterialOverridesSpecification, ModelNodeOverrideSpecification, ModelNodeOverridesSpecification, ModelPaint, ModelSourceModelSpecification, ModelSourceModelsSpecification, ModelSourceSpecification, ModelSpecification, ModelsSpecification, NumberPropertySpecification, OptionSpecification, PaintSpecification, PlacementGroupLayer, PlacementGroupLayerSpecification, Projection, ProjectionSpecification, PromoteIdSpecification, PropertyExpressionSpecification, PropertyFunctionStop, PropertyValueSpecification, RainSpecification, RasterArraySourceSpecification, RasterDEMSourceSpecification, RasterLayer, RasterLayerSpecification, RasterLayout, RasterPaint, RasterParticleLayer, RasterParticleLayerSpecification, RasterParticleLayout, RasterParticlePaint, RasterSourceSpecification, ResolvedImagePropertySpecification, ResolvedImageSpecification, SchemaSpecification, SelectorPropertySpecification, SelectorSpecification, SkyLayer, SkyLayerSpecification, SkyLayout, SkyPaint, SlotLayer, SlotLayerSpecification, SnowSpecification, SourceFunctionSpecification, SourceSpecification, Sources, SourcesSpecification, StringPropertySpecification, Style, StylePropertySpecification, StyleSpecification, SymbolLayer, SymbolLayerSpecification, SymbolLayout, SymbolPaint, TerrainSpecification, TerrainSpecificationUpdate, Transition, TransitionSpecification, VectorSourceSpecification, VideoSourceSpecification, ZoomAndPropertyFunctionStop };