[
  {
    "namespace": "addonsSearchDetection",
    "functions": [
      {
        "name": "getMatchPatterns",
        "type": "function",
        "async": true,
        "parameters": []
      },
      {
        "name": "getAddonVersion",
        "type": "function",
        "async": true,
        "parameters": [{ "name": "addonId", "type": "string" }]
      },
      {
        "name": "getPublicSuffix",
        "type": "function",
        "async": true,
        "parameters": [{ "name": "url", "type": "string" }]
      },
      {
        "name": "report",
        "type": "function",
        "async": false,
        "parameters": [
          { "name": "maybeServerSideRedirect", "type": "boolean" },
          {
            "name": "extra",
            "type": "object",
            "properties": {
              "addonId": { "type": "string" },
              "addonVersion": { "type": "string" },
              "from": { "type": "string" },
              "to": { "type": "string" },
              "value": { "type": "string" }
            }
          }
        ]
      }
    ],
    "events": [
      {
        "name": "onSearchEngineModified",
        "type": "function",
        "parameters": []
      },
      {
        "name": "onRedirected",
        "type": "function",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "addonId": { "type": "string" },
              "firstUrl": { "type": "string" },
              "lastUrl": { "type": "string" }
            }
          }
        ],
        "extraParameters": [
          {
            "name": "filter",
            "type": "object",
            "properties": {
              "urls": {
                "type": "array",
                "items": { "type": "string" },
                "minItems": 1
              }
            }
          }
        ]
      }
    ]
  }
]
