{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string"
    },
    "dataset": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/HeatMapDataset"
      }
    },
    "isCustomDataset": {
      "type": "boolean"
    },
    "startDate": {
      "type": "string",
      "format": "date-time"
    },
    "setStartDate": {
      "description": "A function that can be used to update the state of a {@link useState}\nor {@link useReducer} hook.",
      "type": "object"
    },
    "endDate": {
      "type": "string",
      "format": "date-time"
    },
    "setEndDate": {
      "description": "A function that can be used to update the state of a {@link useState}\nor {@link useReducer} hook.",
      "type": "object"
    },
    "minValue": {
      "type": "number"
    },
    "maxValue": {
      "type": "number"
    },
    "lowValueTitle": {
      "type": "string"
    },
    "highValueTitle": {
      "type": "string"
    },
    "lowValueColor": {
      "type": "string"
    },
    "highValueColor": {
      "type": "string"
    },
    "showDateSelection": {
      "type": "boolean"
    },
    "staticMinMaxValues": {
      "type": "boolean"
    },
    "staticMinMaxTitles": {
      "type": "boolean"
    },
    "staticMinMaxColors": {
      "type": "boolean"
    },
    "ignoreCurrentDay": {
      "type": "boolean"
    },
    "useLoadConfig": {
      "type": "boolean"
    },
    "loadConf": {
      "$ref": "#/definitions/DateLoadConfig"
    },
    "hideHeader": {
      "type": "boolean"
    },
    "decimalPlaces": {
      "type": "number"
    }
  },
  "required": [
    "endDate",
    "ignoreCurrentDay",
    "startDate",
    "staticMinMaxColors",
    "staticMinMaxTitles",
    "staticMinMaxValues"
  ],
  "definitions": {
    "HeatMapDataset": {
      "type": "object",
      "additionalProperties": {},
      "properties": {
        "date": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "$ref": "#/definitions/JSJoda.Instant"
            }
          ]
        },
        "value": {
          "type": "number"
        }
      },
      "required": [
        "date",
        "value"
      ]
    },
    "JSJoda.Instant": {
      "type": "object"
    },
    "DateLoadConfig": {
      "type": "object",
      "properties": {
        "alignStartTo": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "lag": {
          "type": "number"
        },
        "lead": {
          "type": "number"
        },
        "lagUnit": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "leadUnit": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "lagUnits": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "leadUnits": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "timeOffset": {
          "type": "number"
        },
        "timeOffsetUnit": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}