On this page

Function validateStyleMin

  • Validate a MapLibre style against the style specification. Use this when running in the browser.

    Parameters

    • style: StyleSpecification

      The style to be validated.

    • OptionalstyleSpec: {
          $root: {
              bearing: {
                  default: number;
                  doc: string;
                  example: number;
                  period: number;
                  type: string;
                  units: string;
              };
              center: {
                  doc: string;
                  example: number[];
                  length: number;
                  type: string;
                  value: string;
              };
              centerAltitude: {
                  doc: string;
                  example: number;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "font-faces": {
                  doc: string;
                  example: {
                      "Noto Sans Regular": { "unicode-range": string[]; url: string }[];
                      Unifont: string;
                  };
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              glyphs: {
                  doc: string;
                  example: string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "omit to use local fonts": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              layers: {
                  doc: string;
                  example: {
                      id: string;
                      paint: { "line-color": string };
                      source: string;
                      "source-layer": string;
                      type: string;
                  }[];
                  required: boolean;
                  type: string;
                  value: string;
              };
              light: {
                  doc: string;
                  example: { anchor: string; color: string; intensity: number };
                  type: string;
              };
              metadata: {
                  doc: string;
                  example: {
                      "example:object": {
                          Boolean: boolean;
                          Number: number;
                          String: string;
                      };
                      "styleeditor:comment": string;
                      "styleeditor:slimmode": boolean;
                      "styleeditor:version": string;
                  };
                  type: string;
              };
              name: { doc: string; example: string; type: string };
              pitch: {
                  default: number;
                  doc: string;
                  example: number;
                  "sdk-support": {
                      "0-180 degrees": { android: string; ios: string; js: string };
                      "0-60 degrees": { android: string; ios: string; js: string };
                      "0-85 degrees": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              projection: {
                  doc: string;
                  example: { type: (string | number | string[])[] };
                  type: string;
              };
              roll: {
                  default: number;
                  doc: string;
                  example: number;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              sky: {
                  doc: string;
                  example: {
                      "atmosphere-blend": (string | number | string[])[];
                      "fog-color": string;
                      "fog-ground-blend": number;
                      "horizon-color": string;
                      "horizon-fog-blend": number;
                      "sky-color": string;
                      "sky-horizon-blend": number;
                  };
                  type: string;
              };
              sources: {
                  doc: string;
                  example: {
                      "maplibre-demotiles": { type: string; url: string };
                      "maplibre-streets": { maxzoom: number; tiles: string[]; type: string };
                      "maplibre-tilejson": { type: string; url: string };
                      "wms-imagery": { tiles: string[]; tileSize: number; type: string };
                  };
                  required: boolean;
                  type: string;
              };
              sprite: { doc: string; example: string; type: string };
              state: {
                  default: {};
                  doc: string;
                  example: {
                      chargerType: { default: string[] };
                      minPreferredChargingSpeed: { default: number };
                  };
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              terrain: {
                  doc: string;
                  example: { exaggeration: number; source: string };
                  type: string;
              };
              transition: {
                  doc: string;
                  example: { delay: number; duration: number };
                  type: string;
              };
              version: {
                  doc: string;
                  example: number;
                  required: boolean;
                  type: string;
                  values: number[];
              };
              zoom: { doc: string; example: number; type: string };
          };
          $version: number;
          expression: { doc: string; minimum: number; type: string; value: string };
          expression_name: {
              doc: string;
              type: string;
              values: {
                  "-": {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  "!": {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "!=": {
                      doc: string;
                      example: (string | boolean)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                          collator: { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc?: undefined; name: string; type: string }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  "*": {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "/": {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  "%": {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  "^": {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  "+": {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "<": {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                          collator: { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc?: undefined; name: string; type: string }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  "<=": {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                          collator: { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc?: undefined; name: string; type: string }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  "==": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                          collator: { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc?: undefined; name: string; type: string }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  ">": {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                          collator: { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc?: undefined; name: string; type: string }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  ">=": {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                          collator: { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc?: undefined; name: string; type: string }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  abs: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  accumulated: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  acos: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  all: {
                      doc: string;
                      example: (string | (string | number | string[])[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  any: {
                      doc: string;
                      example: (string | (string | number | string[])[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  array: {
                      doc: string;
                      example: (string | number | (string | string[])[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc?: undefined; name: string; type: string }
                              | { doc: string; name: string; type: string[] }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  asin: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  at: {
                      doc: string;
                      example: (string | number | (string | string[])[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  atan: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  boolean: {
                      doc: string;
                      example: (string | boolean | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  case: {
                      doc: string;
                      example: (string | number | (string | boolean | string[])[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc?: undefined; name: string; type: string }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  ceil: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  coalesce: {
                      doc: string;
                      example: (string | (string | ((...) | (...))[])[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  collator: {
                      doc: string;
                      example: (
                          | string
                          | {
                              "case-sensitive": boolean;
                              "diacritic-sensitive": boolean;
                              locale: string;
                          }
                      )[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: {
                              name: string;
                              type: {
                                  "case-sensitive": {
                                      default: boolean;
                                      doc: string;
                                      example: boolean;
                                      type: string;
                                  };
                                  "diacritic-sensitive": {
                                      default: boolean;
                                      doc: string;
                                      example: boolean;
                                      type: string;
                                  };
                                  locale: { doc: string; example: string; type: string };
                              };
                          }[];
                      };
                  };
                  concat: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  cos: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  distance: {
                      doc: string;
                      example: (string | { coordinates: number[]; type: string })[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  downcase: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  e: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  elevation: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  "feature-state": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  floor: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  format: {
                      doc: string;
                      example: (
                          | string
                          | (string | string[])[]
                          | { "font-scale": number; "vertical-align"?: undefined }
                          | { "font-scale"?: undefined; "vertical-align"?: undefined }
                          | { "font-scale": number; "vertical-align": string }
                      )[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                          "font-scale": { android: string; ios: string; js: string };
                          image: { android: string; ios: string; js: string };
                          "text-color": { android: string; ios: string; js: string };
                          "text-font": { android: string; ios: string; js: string };
                          "vertical-align": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { name: string; type: string[] }
                              | {
                                  name: string;
                                  type: {
                                      "font-scale": { doc: ...; example: ...; type: ... };
                                      "text-color": { doc: ...; example: ...; type: ... };
                                      "text-font": { doc: ...; example: ...; type: ... };
                                      "vertical-align": {
                                          default: ...;
                                          doc: ...;
                                          example: ...;
                                          type: ...;
                                          values: ...;
                                      };
                                  };
                              }
                          )[];
                      };
                  };
                  "geometry-type": {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  get: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  "global-state": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  has: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  "heatmap-density": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  id: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  image: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  in: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  "index-of": {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  interpolate: {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string[]; parameters: string[] }[];
                          parameters: (
                              | { doc: string; name: string; type: string }
                              | { doc: string; name: string; type: string[] }
                          )[];
                      };
                  };
                  "interpolate-hcl": {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string[]; parameters: string[] }[];
                          parameters: (
                              | { doc: string; name: string; type: string }
                              | { doc?: undefined; name: string; type: string }
                              | { doc?: undefined; name: string; type: string[] }
                          )[];
                      };
                  };
                  "interpolate-lab": {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string[]; parameters: string[] }[];
                          parameters: (
                              | { doc: string; name: string; type: string }
                              | { doc?: undefined; name: string; type: string }
                              | { doc?: undefined; name: string; type: string[] }
                          )[];
                      };
                  };
                  "is-supported-script": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  join: {
                      doc: string;
                      example: (string | (string | string[])[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  length: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string[] }[];
                      };
                  };
                  let: {
                      doc: string;
                      example: (string | number | (string | number | string[])[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  "line-progress": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  literal: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  ln: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  ln2: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  log10: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  log2: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  match: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc: string; name: string; type: string[] }
                              | { doc: string; name: string; type: string }
                          )[];
                      };
                  };
                  max: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  min: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  number: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "number-format": {
                      doc: string;
                      example: (
                          | string
                          | string[]
                          | { "max-fraction-digits": number; "min-fraction-digits": number }
                      )[];
                      group: string;
                      "sdk-support": {
                          "`unit` property": { android: string; ios: string; js: string };
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: (
                              | { doc: string; name: string; type: string }
                              | {
                                  doc: string;
                                  name: string;
                                  type: {
                                      currency: { doc: ...; example: ...; type: ... };
                                      locale: { doc: ...; example: ...; type: ... };
                                      "max-fraction-digits": { doc: ...; example: ...; type: ... };
                                      "min-fraction-digits": { doc: ...; example: ...; type: ... };
                                      unit: { doc: ...; example: ...; type: ... };
                                  };
                              }
                          )[];
                      };
                  };
                  object: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  pi: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  properties: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
                  "resolved-locale": {
                      doc: string;
                      example: (
                          | string
                          | (
                              | string
                              | {
                                  "case-sensitive": boolean;
                                  "diacritic-sensitive": boolean;
                                  locale: string;
                              }
                          )[]
                      )[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  rgb: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  rgba: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  round: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  sin: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  slice: {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  split: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  sqrt: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  step: {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  string: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  tan: {
                      doc: string;
                      example: (string | number)[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "to-boolean": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "to-color": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "to-number": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "to-rgba": {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  "to-string": {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  typeof: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  upcase: {
                      doc: string;
                      example: (string | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  var: {
                      doc: string;
                      example: string[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  within: {
                      doc: string;
                      example: (string | { coordinates: (...)[][][]; type: string })[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { name: string; type: string }[];
                      };
                  };
                  zoom: {
                      doc: string;
                      example: (string | number | string[])[];
                      group: string;
                      "sdk-support": {
                          "basic functionality": { android: string; ios: string; js: string };
                      };
                      syntax: { overloads: { "output-type": string; parameters: any[] }[] };
                  };
              };
          };
          filter: {
              doc: string;
              expression: { interpolated: boolean; parameters: string[] };
              "property-type": string;
              type: string;
          };
          filter_operator: {
              doc: string;
              type: string;
              values: {
                  "!=": { doc: string };
                  "!has": { doc: string };
                  "!in": { doc: string };
                  "<": { doc: string };
                  "<=": { doc: string };
                  "==": { doc: string };
                  ">": { doc: string };
                  ">=": { doc: string };
                  all: { doc: string };
                  any: { doc: string };
                  has: { doc: string };
                  in: { doc: string };
                  none: { doc: string };
              };
          };
          function: {
              base: { default: number; doc: string; minimum: number; type: string };
              colorSpace: {
                  default: string;
                  doc: string;
                  type: string;
                  values: {
                      hcl: { doc: string };
                      lab: { doc: string };
                      rgb: { doc: string };
                  };
              };
              default: { doc: string; required: boolean; type: string };
              expression: { doc: string; type: string };
              property: { default: string; doc: string; type: string };
              stops: { doc: string; type: string; value: string };
              type: {
                  default: string;
                  doc: string;
                  type: string;
                  values: {
                      categorical: { doc: string };
                      exponential: { doc: string };
                      identity: { doc: string };
                      interval: { doc: string };
                  };
              };
          };
          function_stop: {
              doc: string;
              length: number;
              maximum: number;
              minimum: number;
              type: string;
              value: string[];
          };
          geometry_type: {
              doc: string;
              type: string;
              values: {
                  LineString: { doc: string };
                  Point: { doc: string };
                  Polygon: { doc: string };
              };
          };
          interpolation: {
              doc: string;
              minimum: number;
              type: string;
              value: string;
          };
          interpolation_name: {
              doc: string;
              type: string;
              values: {
                  "cubic-bezier": {
                      doc: string;
                      example: (string | number)[];
                      "sdk-support": {
                          interpolate: { android: string; ios: string; js: string };
                          "interpolate-hcl": { android: string; ios: string; js: string };
                          "interpolate-lab": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  exponential: {
                      doc: string;
                      example: (string | number)[];
                      "sdk-support": {
                          interpolate: { android: string; ios: string; js: string };
                          "interpolate-hcl": { android: string; ios: string; js: string };
                          "interpolate-lab": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: string[] }[];
                          parameters: { doc: string; name: string; type: string }[];
                      };
                  };
                  linear: {
                      doc: string;
                      example: string[];
                      "sdk-support": {
                          interpolate: { android: string; ios: string; js: string };
                          "interpolate-hcl": { android: string; ios: string; js: string };
                          "interpolate-lab": { android: string; ios: string; js: string };
                      };
                      syntax: {
                          overloads: { "output-type": string; parameters: any[] }[];
                          parameters: any[];
                      };
                  };
              };
          };
          layer: {
              filter: { doc: string; type: string };
              id: { doc: string; required: boolean; type: string };
              layout: { doc: string; type: string };
              maxzoom: { doc: string; maximum: number; minimum: number; type: string };
              metadata: {
                  doc: string;
                  example: { "source:comment": string };
                  type: string;
              };
              minzoom: { doc: string; maximum: number; minimum: number; type: string };
              paint: { doc: string; type: string };
              source: { doc: string; type: string };
              "source-layer": { doc: string; type: string };
              type: {
                  doc: string;
                  required: boolean;
                  type: string;
                  values: {
                      background: {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      circle: {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      "color-relief": {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      fill: {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      "fill-extrusion": {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      heatmap: {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      hillshade: {
                          doc: string;
                          "sdk-support": {
                              "additional methods": { android: string; ios: string; js: string };
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      line: {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      raster: {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                      symbol: {
                          doc: string;
                          "sdk-support": {
                              "basic functionality": { android: string; ios: string; js: string };
                          };
                      };
                  };
              };
          };
          layout: string[];
          layout_background: {
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          layout_circle: {
              "circle-sort-key": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          "layout_color-relief": {
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          layout_fill: {
              "fill-sort-key": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          "layout_fill-extrusion": {
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          layout_heatmap: {
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          layout_hillshade: {
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          layout_line: {
              "line-cap": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      butt: { doc: string };
                      round: { doc: string };
                      square: { doc: string };
                  };
              };
              "line-join": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      bevel: { doc: string };
                      miter: { doc: string };
                      round: { doc: string };
                  };
              };
              "line-miter-limit": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: { "line-join": string }[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "line-round-limit": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: { "line-join": string }[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "line-sort-key": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          layout_raster: {
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          layout_symbol: {
              "icon-allow-overlap": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (string | { "!": string })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "icon-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      bottom: { doc: string };
                      "bottom-left": { doc: string };
                      "bottom-right": { doc: string };
                      center: { doc: string };
                      left: { doc: string };
                      right: { doc: string };
                      top: { doc: string };
                      "top-left": { doc: string };
                      "top-right": { doc: string };
                  };
              };
              "icon-ignore-placement": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "icon-image": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  tokens: boolean;
                  type: string;
              };
              "icon-keep-upright": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (
                      | string
                      | { "icon-rotation-alignment": string; "symbol-placement"?: undefined }
                      | {
                          "icon-rotation-alignment"?: undefined;
                          "symbol-placement": string[];
                      }
                  )[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "icon-offset": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  value: string;
              };
              "icon-optional": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "icon-overlap": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      always: { doc: string };
                      cooperative: { doc: string };
                      never: { doc: string };
                  };
              };
              "icon-padding": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "icon-pitch-alignment": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      auto: { doc: string };
                      map: { doc: string };
                      viewport: { doc: string };
                  };
              };
              "icon-rotate": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  period: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "icon-rotation-alignment": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "`auto` value": { android: string; ios: string; js: string };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      auto: { doc: string };
                      map: { doc: string };
                      viewport: { doc: string };
                  };
              };
              "icon-size": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "icon-text-fit": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "stretchable icons": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      both: { doc: string };
                      height: { doc: string };
                      none: { doc: string };
                      width: { doc: string };
                  };
              };
              "icon-text-fit-padding": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  requires: (string | { "icon-text-fit": string[] })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
                  value: string;
              };
              "symbol-avoid-edges": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "symbol-placement": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`line-center` value": { android: string; ios: string; js: string };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      line: { doc: string };
                      "line-center": { doc: string };
                      point: { doc: string };
                  };
              };
              "symbol-sort-key": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "symbol-spacing": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: { "symbol-placement": string }[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "symbol-z-order": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      auto: { doc: string };
                      source: { doc: string };
                      "viewport-y": { doc: string };
                  };
              };
              "text-allow-overlap": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (string | { "!": string })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "text-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (string | { "!": string })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      bottom: { doc: string };
                      "bottom-left": { doc: string };
                      "bottom-right": { doc: string };
                      center: { doc: string };
                      left: { doc: string };
                      right: { doc: string };
                      top: { doc: string };
                      "top-left": { doc: string };
                      "top-right": { doc: string };
                  };
              };
              "text-field": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  tokens: boolean;
                  type: string;
              };
              "text-font": {
                  default: string[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                      "local fonts": { android: string; ios: string; js: string };
                  };
                  type: string;
                  value: string;
              };
              "text-ignore-placement": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "text-justify": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      auto: { android: string; ios: string; js: string };
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      auto: { doc: string };
                      center: { doc: string };
                      left: { doc: string };
                      right: { doc: string };
                  };
              };
              "text-keep-upright": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (
                      | string
                      | { "symbol-placement"?: undefined; "text-rotation-alignment": string }
                      | {
                          "symbol-placement": string[];
                          "text-rotation-alignment"?: undefined;
                      }
                  )[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "text-letter-spacing": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "text-line-height": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "text-max-angle": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (string | { "symbol-placement": string[] })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "text-max-width": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "text-offset": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  requires: (string | { "!": string })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
                  value: string;
              };
              "text-optional": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "text-overlap": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      always: { doc: string };
                      cooperative: { doc: string };
                      never: { doc: string };
                  };
              };
              "text-padding": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "text-pitch-alignment": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "`auto` value": { android: string; ios: string; js: string };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      auto: { doc: string };
                      map: { doc: string };
                      viewport: { doc: string };
                  };
              };
              "text-radial-offset": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "text-rotate": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  period: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "text-rotation-alignment": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "`auto` value": { android: string; ios: string; js: string };
                      "`viewport-glyph` value": { android: string; ios: string; js: string };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      auto: { doc: string };
                      map: { doc: string };
                      viewport: { doc: string };
                      "viewport-glyph": { doc: string };
                  };
              };
              "text-size": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  units: string;
              };
              "text-transform": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      lowercase: { doc: string };
                      none: { doc: string };
                      uppercase: { doc: string };
                  };
              };
              "text-variable-anchor": {
                  doc: string;
                  example: string[];
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (string | { "symbol-placement": string[] })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  value: string;
                  values: {
                      bottom: { doc: string };
                      "bottom-left": { doc: string };
                      "bottom-right": { doc: string };
                      center: { doc: string };
                      left: { doc: string };
                      right: { doc: string };
                      top: { doc: string };
                      "top-left": { doc: string };
                      "top-right": { doc: string };
                  };
              };
              "text-variable-anchor-offset": {
                  doc: string;
                  example: (string | number[])[];
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (string | { "symbol-placement": string[] })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "text-writing-mode": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (string | { "symbol-placement": string[] })[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  value: string;
                  values: { horizontal: { doc: string }; vertical: { doc: string } };
              };
              visibility: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "`global state` expression": {
                          android: string;
                          ios: string;
                          js: string;
                      };
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { none: { doc: string }; visible: { doc: string } };
              };
          };
          light: {
              anchor: {
                  default: string;
                  doc: string;
                  example: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
              color: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              intensity: {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              position: {
                  default: number[];
                  doc: string;
                  example: number[];
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  value: string;
              };
          };
          paint: string[];
          paint_background: {
              "background-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: { "!": string }[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "background-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "background-pattern": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": {};
                  };
                  transition: boolean;
                  type: string;
              };
          };
          paint_circle: {
              "circle-blur": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "circle-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "circle-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "circle-pitch-alignment": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
              "circle-pitch-scale": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
              "circle-radius": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "circle-stroke-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "circle-stroke-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "circle-stroke-width": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "circle-translate": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
                  value: string;
              };
              "circle-translate-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
          };
          "paint_color-relief": {
              "color-relief-color": {
                  doc: string;
                  example: (string | number | string[])[];
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": {};
                  };
                  transition: boolean;
                  type: string;
              };
              "color-relief-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              resampling: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { linear: { doc: string }; nearest: { doc: string } };
              };
          };
          paint_fill: {
              "fill-antialias": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              "fill-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "fill-layer-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "fill-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "fill-outline-color": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (
                      | { "!": string; "fill-antialias"?: undefined }
                      | { "!"?: undefined; "fill-antialias": boolean }
                  )[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "fill-pattern": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "fill-translate": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
                  value: string;
              };
              "fill-translate-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
          };
          "paint_fill-extrusion": {
              "fill-extrusion-base": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "fill-extrusion-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: { "!": string }[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "fill-extrusion-height": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "fill-extrusion-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "fill-extrusion-pattern": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "fill-extrusion-translate": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
                  value: string;
              };
              "fill-extrusion-translate-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
              "fill-extrusion-vertical-gradient": {
                  default: boolean;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
          };
          paint_heatmap: {
              "heatmap-color": {
                  default: (string | number | string[])[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": {};
                  };
                  transition: boolean;
                  type: string;
              };
              "heatmap-intensity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "heatmap-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "heatmap-radius": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "heatmap-weight": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
          };
          paint_hillshade: {
              "hillshade-accent-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "hillshade-exaggeration": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "hillshade-highlight-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      multidirectional: { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "hillshade-illumination-altitude": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      multidirectional: { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "hillshade-illumination-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
              "hillshade-illumination-direction": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      multidirectional: { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "hillshade-method": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      basic: { doc: string };
                      combined: { doc: string };
                      igor: { doc: string };
                      multidirectional: { doc: string };
                      standard: { doc: string };
                  };
              };
              "hillshade-shadow-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      multidirectional: { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              resampling: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { linear: { doc: string }; nearest: { doc: string } };
              };
          };
          paint_line: {
              "line-blur": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "line-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: { "!": string }[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "line-dasharray": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: { "!": string }[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
                  value: string;
              };
              "line-gap-width": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "line-gradient": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: (
                      | { "!": string; has?: undefined; source?: undefined }
                      | { "!"?: undefined; has: { lineMetrics: boolean }; source: string }
                  )[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": {};
                  };
                  transition: boolean;
                  type: string;
              };
              "line-layer-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "line-offset": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "line-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "line-pattern": {
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "line-translate": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
                  value: string;
              };
              "line-translate-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
              "line-width": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
          };
          paint_raster: {
              "raster-brightness-max": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "raster-brightness-min": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "raster-contrast": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "raster-fade-duration": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "raster-hue-rotate": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  period: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "raster-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "raster-resampling": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { linear: { doc: string }; nearest: { doc: string } };
              };
              "raster-saturation": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              resampling: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { linear: { doc: string }; nearest: { doc: string } };
              };
          };
          paint_symbol: {
              "icon-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "icon-halo-blur": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "icon-halo-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "icon-halo-width": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "icon-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "icon-translate": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
                  value: string;
              };
              "icon-translate-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
              "text-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  overridable: boolean;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "text-halo-blur": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "text-halo-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "text-halo-width": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
              };
              "text-opacity": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                      "data-driven styling": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
              };
              "text-translate": {
                  default: number[];
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  length: number;
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  transition: boolean;
                  type: string;
                  units: string;
                  value: string;
              };
              "text-translate-anchor": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  requires: string[];
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { map: { doc: string }; viewport: { doc: string } };
              };
          };
          projection: {
              type: {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  transition: boolean;
                  type: string;
              };
          };
          promoteId: { "*": { doc: string; type: string } };
          "property-type": {
              "color-ramp": { doc: string; type: string };
              constant: { doc: string; type: string };
              "cross-faded": { doc: string; type: string };
              "cross-faded-data-driven": { doc: string; type: string };
              "data-constant": { doc: string; type: string };
              "data-driven": { doc: string; type: string };
          };
          sky: {
              "atmosphere-blend": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  transition: boolean;
                  type: string;
              };
              "fog-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  transition: boolean;
                  type: string;
              };
              "fog-ground-blend": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  transition: boolean;
                  type: string;
              };
              "horizon-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  transition: boolean;
                  type: string;
              };
              "horizon-fog-blend": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  transition: boolean;
                  type: string;
              };
              "sky-color": {
                  default: string;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  "property-type": string;
                  transition: boolean;
                  type: string;
              };
              "sky-horizon-blend": {
                  default: number;
                  doc: string;
                  expression: { interpolated: boolean; parameters: string[] };
                  maximum: number;
                  minimum: number;
                  "property-type": string;
                  transition: boolean;
                  type: string;
              };
          };
          source: string[];
          source_geojson: {
              attribution: { doc: string; type: string };
              buffer: {
                  default: number;
                  doc: string;
                  maximum: number;
                  minimum: number;
                  type: string;
              };
              cluster: { default: boolean; doc: string; type: string };
              clusterMaxZoom: { doc: string; type: string };
              clusterMinPoints: { doc: string; type: string };
              clusterProperties: { doc: string; type: string };
              clusterRadius: {
                  default: number;
                  doc: string;
                  minimum: number;
                  type: string;
              };
              data: { doc: string; required: boolean; type: string };
              filter: { doc: string; type: string };
              generateId: { default: boolean; doc: string; type: string };
              lineMetrics: { default: boolean; doc: string; type: string };
              maxzoom: { default: number; doc: string; type: string };
              promoteId: { doc: string; type: string };
              tolerance: { default: number; doc: string; type: string };
              type: {
                  doc: string;
                  required: boolean;
                  type: string;
                  values: { geojson: { doc: string } };
              };
          };
          source_image: {
              coordinates: {
                  doc: string;
                  length: number;
                  required: boolean;
                  type: string;
                  value: { doc: string; length: number; type: string; value: string };
              };
              type: {
                  doc: string;
                  required: boolean;
                  type: string;
                  values: { image: { doc: string } };
              };
              url: { doc: string; required: boolean; type: string };
          };
          source_raster: {
              "*": { doc: string; type: string };
              attribution: { doc: string; type: string };
              bounds: {
                  default: number[];
                  doc: string;
                  length: number;
                  type: string;
                  value: string;
              };
              maxzoom: { default: number; doc: string; type: string };
              minzoom: { default: number; doc: string; type: string };
              scheme: {
                  default: string;
                  doc: string;
                  type: string;
                  values: { tms: { doc: string }; xyz: { doc: string } };
              };
              tiles: { doc: string; type: string; value: string };
              tileSize: { default: number; doc: string; type: string; units: string };
              type: {
                  doc: string;
                  required: boolean;
                  type: string;
                  values: { raster: { doc: string } };
              };
              url: { doc: string; type: string };
              volatile: {
                  default: boolean;
                  doc: string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
          };
          source_raster_dem: {
              "*": { doc: string; type: string };
              attribution: { doc: string; type: string };
              baseShift: {
                  default: number;
                  doc: string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              blueFactor: {
                  default: number;
                  doc: string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              bounds: {
                  default: number[];
                  doc: string;
                  length: number;
                  type: string;
                  value: string;
              };
              encoding: {
                  default: string;
                  doc: string;
                  "sdk-support": {
                      custom: { android: string; ios: string; js: string };
                      "mapbox, terrarium": { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: {
                      custom: { doc: string };
                      mapbox: { doc: string };
                      terrarium: { doc: string };
                  };
              };
              greenFactor: {
                  default: number;
                  doc: string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              maxzoom: { default: number; doc: string; type: string };
              minzoom: { default: number; doc: string; type: string };
              redFactor: {
                  default: number;
                  doc: string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              tiles: { doc: string; type: string; value: string };
              tileSize: { default: number; doc: string; type: string; units: string };
              type: {
                  doc: string;
                  required: boolean;
                  type: string;
                  values: { "raster-dem": { doc: string } };
              };
              url: { doc: string; type: string };
              volatile: {
                  default: boolean;
                  doc: string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
          };
          source_vector: {
              "*": { doc: string; type: string };
              attribution: { doc: string; type: string };
              bounds: {
                  default: number[];
                  doc: string;
                  length: number;
                  type: string;
                  value: string;
              };
              encoding: {
                  default: string;
                  doc: string;
                  "sdk-support": {
                      mlt: { android: string; ios: string; js: string };
                      mvt: { android: string; ios: string; js: string };
                  };
                  type: string;
                  values: { mlt: { doc: string }; mvt: { doc: string } };
              };
              maxzoom: { default: number; doc: string; type: string };
              minzoom: { default: number; doc: string; type: string };
              promoteId: { doc: string; type: string };
              scheme: {
                  default: string;
                  doc: string;
                  type: string;
                  values: { tms: { doc: string }; xyz: { doc: string } };
              };
              tiles: { doc: string; type: string; value: string };
              type: {
                  doc: string;
                  required: boolean;
                  type: string;
                  values: { vector: { doc: string } };
              };
              url: { doc: string; type: string };
              volatile: {
                  default: boolean;
                  doc: string;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
          };
          source_video: {
              coordinates: {
                  doc: string;
                  length: number;
                  required: boolean;
                  type: string;
                  value: { doc: string; length: number; type: string; value: string };
              };
              type: {
                  doc: string;
                  required: boolean;
                  type: string;
                  values: { video: { doc: string } };
              };
              urls: { doc: string; required: boolean; type: string; value: string };
          };
          sources: { "*": { doc: string; type: string } };
          terrain: {
              exaggeration: {
                  default: number;
                  doc: string;
                  minimum: number;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
              source: {
                  doc: string;
                  required: boolean;
                  "sdk-support": {
                      "basic functionality": { android: string; ios: string; js: string };
                  };
                  type: string;
              };
          };
          transition: {
              delay: {
                  default: number;
                  doc: string;
                  minimum: number;
                  type: string;
                  units: string;
              };
              duration: {
                  default: number;
                  doc: string;
                  minimum: number;
                  type: string;
                  units: string;
              };
          };
      }

      The style specification to validate against. If omitted, the latest style spec is used.

    Returns ValidationError[]

    an array of errors, or an empty array if no errors are found.

    const validate = require('@maplibre/maplibre-gl-style-spec/').validateStyleMin;
      const errors = validate(style);
    
Was this helpful?
SDK JS
Reference
validateStyleMin