[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentClassifierRemoteSettingsClient",
        "members": [
          {
            "args": [
              {
                "name": "aService",
                "optional": false,
                "type": "nsIContentClassifierService"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "shutdown",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getListBytes",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "toolkit/components/content-classifier/nsIContentClassifierRemoteSettingsClient.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentClassifierProbeRequest",
        "members": [
          {
            "name": "url",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "sourceUrl",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "topWindowUrl",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "requestType",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "privateBrowsing",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "forceThirdPartyToTop",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isNonRecommendedAddon",
            "readonly": true,
            "type": "boolean"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentClassifierProbeResult",
        "members": [
          {
            "name": "featureName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "matched",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "exception",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "important",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "engineResult",
            "readonly": true,
            "type": "nsresult"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "ProbeStatus",
            "variants": [
              {
                "name": "Miss",
                "value": 0
              },
              {
                "name": "Hit",
                "value": 1
              },
              {
                "name": "Exception",
                "value": 2
              },
              {
                "name": "ImportantHit",
                "value": 3
              },
              {
                "name": "ImportantException",
                "value": 4
              }
            ]
          }
        ],
        "id": "nsIContentClassifierService",
        "members": [
          {
            "args": [
              {
                "name": "aUpdated",
                "optional": false,
                "type": "string[]"
              },
              {
                "name": "aRemoved",
                "optional": false,
                "type": "string[]"
              }
            ],
            "iid_is": null,
            "name": "onListsChanged",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getFeatureNames",
            "type": "string[]"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIContentClassifierProbeRequest"
              }
            ],
            "iid_is": null,
            "name": "probeBlocking",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIContentClassifierProbeRequest"
              }
            ],
            "iid_is": null,
            "name": "probeAnnotate",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aFeatureName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aRequest",
                "optional": false,
                "type": "nsIContentClassifierProbeRequest"
              }
            ],
            "iid_is": null,
            "name": "probeFeature",
            "type": "Promise<any>"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentClassifierProbeReport",
        "members": [
          {
            "name": "status",
            "readonly": true,
            "type": "nsIContentClassifierService.ProbeStatus"
          },
          {
            "name": "results",
            "readonly": true,
            "type": "nsIContentClassifierProbeResult[]"
          }
        ]
      }
    ],
    "path": "toolkit/components/content-classifier/nsIContentClassifierService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]