{
    "dependencies": {
        "mandatory": [
            "enum"
        ]
    },
    "properties": {
        "allOf": {
            "allOf": [
                {
                    "description": "Object of type 1.",
                    "properties": {
                        "key1": {
                            "description": "Key for type 1.",
                            "title": "Key1",
                            "type": "string"
                        }
                    },
                    "title": "Type1",
                    "type": "object"
                },
                {
                    "description": "Object of type 2.",
                    "properties": {
                        "key2": {
                            "description": "Key for type 2.",
                            "title": "Key2",
                            "type": "string"
                        }
                    },
                    "title": "Type2",
                    "type": "object"
                }
            ],
            "description": "A merge of two or more complex types.",
            "title": "AllOf",
            "type": "object"
        },
        "anyOf": {
            "anyOf": [
                {
                    "description": "Object of type 1.",
                    "properties": {
                        "type": {
                            "description": "Object type.",
                            "enum": [
                                "Type1"
                            ],
                            "title": "Type"
                        }
                    },
                    "title": "Type1",
                    "type": "object"
                },
                {
                    "description": "Object of type 2.",
                    "properties": {
                        "type": {
                            "description": "Object type.",
                            "enum": [
                                "Type2"
                            ],
                            "title": "Type"
                        }
                    },
                    "title": "Type2",
                    "type": "object"
                }
            ],
            "description": "A choice between multiple complex types.",
            "title": "AnyOf",
            "type": "object"
        },
        "enum": {
            "description": "A choice between multiple values.",
            "enum": [
                "choice1",
                "choice2",
                "choice3"
            ],
            "title": "Enum"
        },
        "mandatory": {
            "description": "A required field.",
            "title": "Mandatory",
            "type": "string"
        }
    },
    "required": [
        "mandatory"
    ]
}