{
  "$ref": "#/definitions/SparkLineProps",
  "definitions": {
    "GeneralProperties": {
      "type": "object",
      "properties": {
        "hideValues": {
          "type": "boolean"
        },
        "expandAll": {
          "type": "boolean"
        },
        "expandedChartIndex": {
          "type": "number"
        },
        "chartsInOneBox": {
          "type": "boolean"
        },
        "displayTitlesInRow": {
          "type": "boolean"
        }
      }
    },
    "SparkLineProps": {
      "type": "object",
      "properties": {
        "chartIndex": {
          "description": "Index of chart.",
          "minimum": 0,
          "type": "integer"
        },
        "allCharts": {
          "type": "object",
          "additionalProperties": false,
          "patternProperties": {
            "^[0-9]+$": {
              "type": "string"
            }
          }
        },
        "decimalPlaces": {
          "type": "number"
        },
        "labelFontSize": {
          "type": "string"
        },
        "diffNumFontSize": {
          "type": "string"
        },
        "diffArrowFontSize": {
          "type": "string"
        },
        "sparkLineWidth": {
          "type": "number"
        },
        "dataset": {
          "type": [
            "null",
            "string"
          ]
        },
        "lineColor": {
          "type": "string"
        },
        "lineWidth": {
          "type": "number"
        },
        "count": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        },
        "updateFrequency": {
          "type": "number"
        },
        "advanced": {
          "type": "boolean"
        },
        "height": {
          "type": "number"
        },
        "maxAge": {
          "type": "number"
        },
        "chartTitle": {
          "type": "string"
        },
        "isMultipleCharts": {
          "type": "boolean"
        },
        "generalProperties": {
          "$ref": "#/definitions/GeneralProperties"
        },
        "multipleCharts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SparkLineProps"
          }
        },
        "useLoadConf": {
          "type": "boolean"
        },
        "loadConf": {
          "type": "object",
          "properties": {
            "type": {
              "const": "Time",
              "type": "string"
            },
            "lead": {
              "type": "number"
            },
            "lag": {
              "type": "number"
            },
            "leadUnit": {
              "$ref": "#/definitions/DweenTimeUnit"
            },
            "lagUnit": {
              "$ref": "#/definitions/DweenTimeUnit"
            },
            "alignUnit": {
              "enum": [
                "DAYS",
                "HALFHOUR",
                "HOURS",
                "MILLIS",
                "MINUTES",
                "MONTHS",
                "SECONDS",
                "WEEKS",
                "YEARS"
              ],
              "type": "string"
            }
          },
          "required": [
            "alignUnit",
            "lag",
            "lagUnit",
            "leadUnit"
          ]
        },
        "maxYAxis": {
          "type": "number"
        },
        "minYAxis": {
          "type": "number"
        },
        "downsampleInterval": {
          "type": "number"
        },
        "useDecimalsFromHundred": {
          "type": "boolean"
        },
        "showValueChangeIndicator": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "reportOptions": {
          "$ref": "#/definitions/ReportOptions"
        },
        "reportMode": {
          "type": "boolean"
        },
        "stateCb": {
          "type": "object"
        },
        "calendarType": {
          "const": "CALENDAR_445",
          "type": "string"
        },
        "hideHeader": {
          "type": "boolean"
        },
        "from": {
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "referenceTime": {
          "type": "string"
        },
        "instantFrom": {
          "$ref": "#/definitions/JSJoda.Instant"
        },
        "instantTo": {
          "$ref": "#/definitions/JSJoda.Instant"
        },
        "instantReferenceTime": {
          "$ref": "#/definitions/JSJoda.Instant"
        },
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "y": {
                "type": "number"
              },
              "x": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ]
          }
        },
        "baseline": {
          "$ref": "#/definitions/LineConfig"
        },
        "minLine": {
          "$ref": "#/definitions/LineConfig"
        },
        "maxLine": {
          "$ref": "#/definitions/LineConfig"
        },
        "showYAxis": {
          "type": "boolean"
        },
        "fromDate": {
          "$ref": "#/definitions/JSJoda.Instant"
        },
        "toDate": {
          "$ref": "#/definitions/JSJoda.Instant"
        },
        "isExpanded": {
          "type": "boolean"
        },
        "setExpandedChartIndex": {
          "type": "object"
        },
        "isMultipleChartsInOneBox": {
          "type": "boolean"
        },
        "useDiffIndicatorColors": {
          "type": "boolean"
        }
      },
      "required": [
        "data",
        "dataset",
        "multipleCharts"
      ]
    },
    "DweenTimeUnit": {
      "enum": [
        "DAYS",
        "HALFHOUR",
        "HOURS",
        "MILLIS",
        "MINUTES",
        "MONTHS",
        "SECONDS",
        "WEEKS",
        "YEARS"
      ],
      "type": "string"
    },
    "ReportOptions": {
      "type": "object",
      "properties": {
        "fontSize": {
          "type": "string"
        }
      }
    },
    "JSJoda.Instant": {
      "type": "object"
    },
    "LineConfig": {
      "type": "object",
      "properties": {
        "usage": {
          "enum": [
            "constant",
            "dataset",
            "none"
          ],
          "type": "string"
        },
        "constant": {
          "type": "number"
        },
        "dataset": {
          "type": "string"
        },
        "width": {
          "type": "number"
        },
        "color": {
          "type": "string"
        },
        "fillAboveColor": {
          "type": "string"
        },
        "fillBelowColor": {
          "type": "string"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}