{
  "allOf": [
    {
      "type": "object",
      "properties": {
        "graph": {
          "type": "object",
          "properties": {
            "nodes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "reference": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "id",
                  "title"
                ]
              }
            },
            "links": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "target": {
                    "type": "string"
                  },
                  "identifier": {
                    "type": "string"
                  },
                  "customUnit": {
                    "type": "string"
                  },
                  "customDivider": {
                    "type": "number"
                  }
                },
                "required": [
                  "identifier",
                  "source",
                  "target"
                ]
              }
            }
          },
          "required": [
            "links",
            "nodes"
          ]
        },
        "nodesPosition": {
          "type": "object",
          "properties": {
            "x": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "y": {
              "type": "array",
              "items": {
                "type": "number"
              }
            }
          },
          "required": [
            "x",
            "y"
          ]
        },
        "height": {
          "type": "number"
        },
        "nodesGap": {
          "type": "number"
        },
        "overridePositions": {
          "type": "boolean"
        },
        "colorScheme": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "hideHeader": {
          "type": "boolean"
        },
        "alignStartTo": {},
        "timeOffsetUnits": {},
        "timeOffset": {
          "type": "number"
        },
        "decimalPlaces": {
          "type": "number"
        },
        "percentageDecimalPlaces": {
          "type": "number"
        }
      },
      "required": [
        "graph"
      ]
    },
    {
      "$ref": "#/definitions/DashboardComponentPropsBase<ReportOptions>"
    }
  ],
  "definitions": {
    "DashboardComponentPropsBase<ReportOptions>": {
      "type": "object",
      "properties": {
        "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"
        }
      }
    },
    "ReportOptions": {
      "type": "object",
      "properties": {
        "fontSize": {
          "type": "string"
        }
      }
    },
    "JSJoda.Instant": {
      "type": "object"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}