content: {
    "$id": "file:///NewtabPromoMessage.schema.json",
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "additionalProperties": true,
    "allOf": [
      {
        "$ref": "file:///FxMSCommon.schema.json#/$defs/Message"
      }
    ],
    "description": "Message shown on the private browsing newtab page.",
    "properties": {
      "content": {
        "additionalProperties": true,
        "allOf": [
          {
            "if": {
              "properties": {
                "promoEnabled": {
                  "const": true
                }
              },
              "required": [
                "promoEnabled"
              ]
            },
            "then": {
              "required": [
                "promoButton"
              ]
            }
          },
          {
            "if": {
              "properties": {
                "infoEnabled": {
                  "const": true
                }
              },
              "required": [
                "infoEnabled"
              ]
            },
            "then": {
              "if": {
                "properties": {
                  "infoTitleEnabled": {
                    "const": true
                  }
                },
                "required": [
                  "infoTitleEnabled"
                ]
              },
              "required": [
                "infoLinkText"
              ],
              "then": {
                "required": [
                  "infoTitle"
                ]
              }
            }
          }
        ],
        "properties": {
          "hideDefault": {
            "description": "Should we hide the default promo after the experiment promo is dismissed.",
            "type": "boolean"
          },
          "infoBody": {
            "description": "Text content in the info section.",
            "type": "string"
          },
          "infoEnabled": {
            "description": "Should we show the info section.",
            "type": "boolean"
          },
          "infoIcon": {
            "description": "Icon shown in the left side of the info section. Default is the private browsing icon.",
            "type": "string"
          },
          "infoLinkText": {
            "description": "Text for the link in the info section.",
            "type": "string"
          },
          "infoLinkUrl": {
            "description": "URL for the info section link.",
            "format": "moz-url-format",
            "type": "string"
          },
          "infoTitle": {
            "description": "Is the title in the info section enabled.",
            "type": "string"
          },
          "infoTitleEnabled": {
            "description": "Is the title in the info section enabled.",
            "type": "boolean"
          },
          "promoButton": {
            "properties": {
              "action": {
                "additionalProperties": true,
                "properties": {
                  "data": {
                    "type": "object"
                  },
                  "type": {
                    "description": "Action dispatched by the button.",
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            },
            "required": [
              "action"
            ],
            "type": "object"
          },
          "promoEnabled": {
            "description": "Should we show the promo section.",
            "type": "boolean"
          },
          "promoHeader": {
            "description": "The title of the promo section.",
            "type": "string"
          },
          "promoImageLarge": {
            "description": "URL for image used on the left side of the promo box, larger, showcases some feature. Default off.",
            "format": "uri",
            "type": "string"
          },
          "promoImageSmall": {
            "description": "URL for image used on the right side of the promo box, smaller, usually a logo. Default off.",
            "format": "uri",
            "type": "string"
          },
          "promoLinkText": {
            "description": "The text of the link in the promo box.",
            "type": "string"
          },
          "promoLinkType": {
            "description": "Type of promo link type. Possible values: link, button. Default is link.",
            "enum": [
              "link",
              "button"
            ],
            "type": "string"
          },
          "promoSectionStyle": {
            "description": "Sets the position of the promo section. Possible values are: top, below-search, bottom. Default bottom.",
            "enum": [
              "top",
              "below-search",
              "bottom"
            ],
            "type": "string"
          },
          "promoTitle": {
            "description": "The text content of the promo section.",
            "type": "string"
          },
          "promoTitleEnabled": {
            "description": "Should we show text content in the promo section.",
            "type": "boolean"
          },
          "promoType": {
            "description": "Promo type used to determine if promo should show to a given user",
            "enum": [
              "FOCUS",
              "VPN",
              "PIN",
              "COOKIE_BANNERS",
              "OTHER"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "template": {
        "const": "pb_newtab",
        "type": "string"
      }
    },
    "required": [
      "targeting"
    ],
    "title": "PBNewtabPromoMessage",
    "type": "object"
  }