{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/esquio/latest.json",
  "title": "JSON schema for Esquio configuration files",
  "x-lintel": {
    "source": "https://www.schemastore.org/esquio.json",
    "sourceSha256": "b2a9b1328b879d6e45d41518513b65bd28ac28460fdc6c72828346fc3fd6698e"
  },
  "type": "object",
  "properties": {
    "Esquio": {
      "$ref": "#/$defs/Esquio"
    }
  },
  "required": [
    "Esquio"
  ],
  "$defs": {
    "Esquio": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "Products": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/Product"
          }
        }
      },
      "required": [
        "Products"
      ]
    },
    "Feature": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "Name": {
          "type": [
            "string",
            "null"
          ]
        },
        "Enabled": {
          "type": "boolean"
        },
        "Toggles": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/Toggle"
          }
        }
      },
      "required": [
        "Name",
        "Enabled",
        "Toggles"
      ]
    },
    "Product": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "Name": {
          "type": [
            "string",
            "null"
          ]
        },
        "Features": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/Feature"
          }
        }
      },
      "required": [
        "Name",
        "Features"
      ]
    },
    "Toggle": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "Type": {
          "type": [
            "string",
            "null"
          ]
        },
        "Parameters": {}
      },
      "required": [
        "Type",
        "Parameters"
      ]
    }
  },
  "id": "https://json.schemastore.org/esquio.json"
}
