{
  "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": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "timeOffsetUnits": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "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"
        }
      }
    },
    "ReportOptions": {
      "type": "object",
      "properties": {
        "fontSize": {
          "type": "string"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
