{
    "default": {},
    "definitions": {
        "propertyDefinition": {
            "additionalProperties": {
                "$ref": "#/definitions/propertyObject"
            },
            "default": {},
            "type": "object"
        },
        "propertyObject": {
            "patternProperties": {
                "^x_": {}
            },
            "properties": {
                "contentType": {
                    "description": "Defines the content type of the property",
                    "enum": [
                        "default",
                        "uid",
                        "xref",
                        "href",
                        "file",
                        "markdown"
                    ],
                    "type": "string"
                },
                "default": {},
                "description": {
                    "type": "string"
                },
                "items": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/propertyObject"
                        },
                        {
                            "$ref": "#/definitions/schemaArray"
                        }
                    ],
                    "default": {}
                },
                "mergeType": {
                    "description": "Defines how to merge the property",
                    "enum": [
                        "key",
                        "merge",
                        "replace",
                        "ignore"
                    ],
                    "type": "string"
                },
                "properties": {
                    "$ref": "#/definitions/propertyDefinition"
                },
                "reference": {
                    "description": "Defines whether current property is a reference to the actual value of the property",
                    "enum": [
                        "none",
                        "file"
                    ],
                    "type": "string"
                },
                "tags": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "title": {
                    "pattern": "^[^.]*$",
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/simpleTypes"
                },
                "xrefProperties": {
                    "description": "Defines the properties of current object when it is cross referenced by others. Each item is the name of the property in the instance.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "_uniqueItems": true
                }
            },
            "type": "object"
        },
        "schemaArray": {
            "items": {
                "$ref": "#/definitions/propertyObject"
            },
            "minItems": 1,
            "type": "array"
        },
        "simpleTypes": {
            "enum": [
                "array",
                "boolean",
                "integer",
                "null",
                "number",
                "object",
                "string"
            ]
        }
    },
    "properties": {
        "$schema": {
            "_format": "uri",
            "description": "The version of the schema specification, for example, `https://github.com/dotnet/docfx/v1.0/schema#",
            "type": "string"
        },
        "default": {},
        "description": {
            "type": "string"
        },
        "id": {
            "description": "It is best practice to include an `id` property as an unique identifier for each schema.",
            "type": "string"
        },
        "metadata": {
            "_format": "json-pointer",
            "type": "string"
        },
        "patternProperties": {
            "^x_": {}
        },
        "properties": {
            "$ref": "#/definitions/propertyDefinition"
        },
        "title": {
            "description": "The title of current schema, `LandingPage`, for example. In DocFX, this value can be used to determine what kind of documents apply to this schema, If not specified, file name of this schema is used.",
            "type": "string"
        },
        "type": {
            "description": "The type of the root document model MUST be `object`",
            "enum": [
                "object"
            ],
            "type": "string"
        },
        "version": {
            "description": "The version of current schema object",
            "type": "string"
        }
    },
    "required": [
        "$schema",
        "version"
    ],
    "title": "DocFX document schema meta-schema",
    "type": "object"
}