{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "definitions": {
        "IBranch": {
            "additionalProperties": false,
            "properties": {
                "children": {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/IStructureNode"
                            },
                            {
                                "$ref": "#/definitions/IBranch"
                            }
                        ]
                    },
                    "title": "children",
                    "type": "array"
                },
                "navigation": {
                    "description": "Values can be any string. Special treatment for:\n- \"none\" : excluded from all navigations except \"allplain\"\n- \"top\" : default top navigation",
                    "title": "navigation",
                    "type": "string"
                },
                "title": {
                    "title": "title",
                    "type": "string"
                }
            },
            "required": [
                "children",
                "title"
            ],
            "title": "IBranch",
            "type": "object"
        },
        "IEnvironmentConfig": {
            "additionalProperties": true,
            "properties": {
                "baseUrl": {
                    "title": "baseUrl",
                    "type": "string"
                },
                "isRelease": {
                    "title": "isRelease",
                    "type": "boolean"
                }
            },
            "title": "IEnvironmentConfig",
            "type": "object"
        },
        "ISearchIndexConfig": {
            "additionalProperties": false,
            "properties": {
                "bodySelector": {
                    "title": "bodySelector",
                    "type": "string"
                },
                "destination": {
                    "title": "destination",
                    "type": "string"
                },
                "glob": {
                    "title": "glob",
                    "type": "string"
                }
            },
            "title": "ISearchIndexConfig",
            "type": "object"
        },
        "IStructureNode": {
            "additionalProperties": false,
            "properties": {
                "children": {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/IStructureNode"
                            },
                            {
                                "$ref": "#/definitions/IBranch"
                            }
                        ]
                    },
                    "title": "children",
                    "type": "array"
                },
                "isExternal": {
                    "title": "isExternal",
                    "type": "boolean"
                },
                "navigation": {
                    "description": "Values can be any string. Special treatment for:\n- \"none\" : excluded from all navigations except \"allplain\"\n- \"top\" : default top navigation",
                    "title": "navigation",
                    "type": "string"
                },
                "reference": {
                    "title": "reference",
                    "type": "string"
                },
                "title": {
                    "title": "title",
                    "type": "string"
                }
            },
            "required": [
                "reference",
                "title"
            ],
            "title": "IStructureNode",
            "type": "object"
        }
    },
    "properties": {
        "ampPath": {
            "title": "ampPath",
            "type": "string"
        },
        "destinationPath": {
            "title": "destinationPath",
            "type": "string"
        },
        "environment": {
            "title": "environment",
            "type": "string"
        },
        "environments": {
            "additionalProperties": {
                "$ref": "#/definitions/IEnvironmentConfig"
            },
            "title": "environments",
            "type": "object"
        },
        "navigationPath": {
            "title": "navigationPath",
            "type": "string"
        },
        "pugLintPath": {
            "title": "pugLintPath",
            "type": "string"
        },
        "pugPath": {
            "title": "pugPath",
            "type": "string"
        },
        "searchIndex": {
            "anyOf": [
                {
                    "$ref": "#/definitions/ISearchIndexConfig"
                },
                {
                    "type": "boolean"
                }
            ],
            "title": "searchIndex"
        },
        "siteTitle": {
            "title": "siteTitle",
            "type": "string"
        },
        "structure": {
            "items": {
                "anyOf": [
                    {
                        "$ref": "#/definitions/IStructureNode"
                    },
                    {
                        "$ref": "#/definitions/IBranch"
                    }
                ]
            },
            "title": "structure",
            "type": "array"
        }
    },
    "required": [
        "destinationPath",
        "environment",
        "environments",
        "pugLintPath",
        "pugPath",
        "structure"
    ],
    "type": "object"
}