[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBTPRemoteExceptionList",
        "members": [
          {
            "args": [
              {
                "name": "aProtection",
                "optional": false,
                "type": "nsIBounceTrackingProtection"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "shutdown",
            "type": "void"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/bouncetrackingprotection/nsIBTPRemoteExceptionList.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBounceTrackingMapEntry",
        "members": [
          {
            "name": "siteHost",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "timeStamp",
            "readonly": true,
            "type": "PRTime"
          }
        ]
      },
      {
        "base": "nsIBounceTrackingMapEntry",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBounceTrackingPurgeEntry",
        "members": [
          {
            "name": "purgeTime",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "bounceTrackingRecord",
            "readonly": true,
            "type": "nsIBounceTrackingRecord"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingMapEntry.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "Modes",
            "variants": [
              {
                "name": "MODE_DISABLED",
                "value": 0
              },
              {
                "name": "MODE_ENABLED",
                "value": 1
              },
              {
                "name": "MODE_ENABLED_STANDBY",
                "value": 2
              },
              {
                "name": "MODE_ENABLED_DRY_RUN",
                "value": 3
              },
              {
                "name": "MAX_MODE_VALUE",
                "value": 3
              }
            ]
          }
        ],
        "id": "nsIBounceTrackingProtection",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "clearAll",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSiteHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "originAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "clearBySiteHostAndOriginAttributes",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSiteHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOriginAttributesPattern",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "clearBySiteHostAndOriginAttributesPattern",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFrom",
                "optional": false,
                "type": "PRTime"
              },
              {
                "name": "aTo",
                "optional": false,
                "type": "PRTime"
              }
            ],
            "iid_is": null,
            "name": "clearByTimeRange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPattern",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "clearByOriginAttributesPattern",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSiteHosts",
                "optional": false,
                "type": "string[]"
              }
            ],
            "iid_is": null,
            "name": "addSiteHostExceptions",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSiteHosts",
                "optional": false,
                "type": "string[]"
              }
            ],
            "iid_is": null,
            "name": "removeSiteHostExceptions",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aSiteHost",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "hasRecentlyPurgedSite",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aSiteHost",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getRecentPurgedChainEntriesForSite",
            "type": "nsIBounceTrackingPurgeEntry[]"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testGetSiteHostExceptions",
            "type": "string[]"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testRunPurgeBounceTrackers",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testClearExpiredUserActivations",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "originAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "testGetBounceTrackerCandidateHosts",
            "type": "nsIBounceTrackingMapEntry[]"
          },
          {
            "args": [
              {
                "name": "originAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "testGetUserActivationHosts",
            "type": "nsIBounceTrackingMapEntry[]"
          },
          {
            "args": [
              {
                "name": "originAttributes",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aSiteHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aBounceTime",
                "optional": false,
                "type": "PRTime"
              }
            ],
            "iid_is": null,
            "name": "testAddBounceTrackerCandidate",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "originAttributes",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aSiteHost",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aActivationTime",
                "optional": false,
                "type": "PRTime"
              }
            ],
            "iid_is": null,
            "name": "testAddUserActivation",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "originAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "testGetRecentlyPurgedTrackers",
            "type": "nsIBounceTrackingPurgeEntry[]"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testMaybeMigrateUserInteractionPermissions",
            "type": "void"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIBounceTrackingRecord",
        "members": [
          {
            "name": "initialHost",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "finalHost",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "bounceHosts",
            "readonly": true,
            "type": "string[]"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingRecord.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIContentBlockingAllowList",
        "members": [
          {
            "args": [
              {
                "name": "aPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "computeContentBlockingAllowListPrincipal",
            "type": "nsIPrincipal"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/nsIContentBlockingAllowList.idl",
    "typedefs": [
      [
        "CSPDirective",
        "nsIContentSecurityPolicy.CSPDirective"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "RequireTrustedTypesForDirectiveState",
        "nsIContentSecurityPolicy.RequireTrustedTypesForDirectiveState"
      ],
      [
        "nsContentPolicyType",
        "nsIContentPolicy.nsContentPolicyType"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIPartitioningExceptionListObserver",
        "members": [
          {
            "args": [
              {
                "name": "aList",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "onExceptionListUpdate",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPartitioningExceptionListService",
        "members": [
          {
            "args": [
              {
                "name": "aObserver",
                "optional": false,
                "type": "nsIPartitioningExceptionListObserver"
              }
            ],
            "iid_is": null,
            "name": "registerAndRunExceptionListObserver",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aObserver",
                "optional": false,
                "type": "nsIPartitioningExceptionListObserver"
              }
            ],
            "iid_is": null,
            "name": "unregisterExceptionListObserver",
            "type": "void"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/nsIPartitioningExceptionListService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPurgeTrackerService",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "purgeTrackingCookieJars",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/nsIPurgeTrackerService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "OTHER_COOKIES_BLOCKED_ID",
            "value": 0
          },
          {
            "name": "TRACKERS_ID",
            "value": 1
          },
          {
            "name": "TRACKING_COOKIES_ID",
            "value": 2
          },
          {
            "name": "CRYPTOMINERS_ID",
            "value": 3
          },
          {
            "name": "FINGERPRINTERS_ID",
            "value": 4
          },
          {
            "name": "SOCIAL_ID",
            "value": 5
          },
          {
            "name": "SUSPICIOUS_FINGERPRINTERS_ID",
            "value": 6
          },
          {
            "name": "BOUNCETRACKERS_ID",
            "value": 7
          }
        ],
        "enums": [],
        "id": "nsITrackingDBService",
        "members": [
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "recordContentBlockingLog",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "saveEvents",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearAll",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "since",
                "optional": false,
                "type": "i64"
              }
            ],
            "iid_is": null,
            "name": "clearSince",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "dateFrom",
                "optional": false,
                "type": "i64"
              },
              {
                "name": "dateTo",
                "optional": false,
                "type": "i64"
              }
            ],
            "iid_is": null,
            "name": "getEventsByDateRange",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "sumAllEvents",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getEarliestRecordedDate",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/nsITrackingDBService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIURLDecorationAnnotationsService",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "ensureUpdated",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/nsIURLDecorationAnnotationsService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIURLQueryStringStripper",
        "members": [
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aIsPBM",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aOutput",
                "optional": false,
                "type": "OutParam<nsIURI>"
              }
            ],
            "iid_is": null,
            "name": "strip",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              }
            ],
            "iid_is": null,
            "name": "stripForCopyOrShare",
            "type": "nsIURI"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              }
            ],
            "iid_is": null,
            "name": "canStripForShare",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testGetStripList",
            "type": "string"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/nsIURLQueryStringStripper.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIURLQueryStrippingListObserver",
        "members": [
          {
            "args": [
              {
                "name": "aStripList",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aAllowList",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "onQueryStrippingListUpdate",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aStripRules",
                "optional": false,
                "type": "string[]"
              }
            ],
            "iid_is": null,
            "name": "onStripOnShareUpdate",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIURLQueryStrippingListService",
        "members": [
          {
            "args": [
              {
                "name": "aObserver",
                "optional": false,
                "type": "nsIURLQueryStrippingListObserver"
              }
            ],
            "iid_is": null,
            "name": "registerAndRunObserver",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aObserver",
                "optional": false,
                "type": "nsIURLQueryStrippingListObserver"
              }
            ],
            "iid_is": null,
            "name": "registerAndRunObserverStripOnShare",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aObserver",
                "optional": false,
                "type": "nsIURLQueryStrippingListObserver"
              }
            ],
            "iid_is": null,
            "name": "unregisterObserver",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aObserver",
                "optional": false,
                "type": "nsIURLQueryStrippingListObserver"
              }
            ],
            "iid_is": null,
            "name": "unregisterStripOnShareObserver",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearLists",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testWaitForInit",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "testFile",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "testSetList",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testHasStripOnShareObservers",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "testHasQPSObservers",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/nsIURLQueryStrippingListService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "Pref",
            "variants": [
              {
                "name": "PRIVACY_TRACKINGPROTECTION_ENABLED",
                "value": 0
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_CRYPTOMINING_ENABLED",
                "value": 1
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_FINGERPRINTING_ENABLED",
                "value": 2
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_SOCIALTRACKING_ENABLED",
                "value": 3
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_EMAILTRACKING_ENABLED",
                "value": 4
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_CONTENT_ENABLED",
                "value": 5
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_CONTENT_CRYPTOMINING_ENABLED",
                "value": 6
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_CONTENT_FINGERPRINTING_ENABLED",
                "value": 7
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_CONTENT_SOCIALTRACKING_ENABLED",
                "value": 8
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_CONTENT_EMAILTRACKING_ENABLED",
                "value": 9
              },
              {
                "name": "PRIVACY_TRACKINGPROTECTION_CONTENT_TEST_ENABLED",
                "value": 10
              },
              {
                "name": "NUM_SCOPED_BOOL_PREFS",
                "value": 11
              }
            ]
          }
        ],
        "id": "nsIScopedPrefs",
        "members": [
          {
            "args": [
              {
                "name": "pref",
                "optional": false,
                "type": "nsIScopedPrefs.Pref"
              },
              {
                "name": "bc",
                "optional": false,
                "type": "BrowsingContext"
              },
              {
                "name": "value",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setBoolPrefScoped",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "pref",
                "optional": false,
                "type": "nsIScopedPrefs.Pref"
              },
              {
                "name": "bc",
                "optional": false,
                "type": "BrowsingContext"
              }
            ],
            "iid_is": null,
            "name": "getBoolPrefScoped",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearScoped",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "pref",
                "optional": false,
                "type": "nsIScopedPrefs.Pref"
              }
            ],
            "iid_is": null,
            "name": "clearScopedPref",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "clearScopedByHost",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "pref",
                "optional": false,
                "type": "nsIScopedPrefs.Pref"
              },
              {
                "name": "aHost",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "clearScopedPrefByHost",
            "type": "void"
          }
        ]
      }
    ],
    "path": "toolkit/components/antitracking/scopedprefs/nsIScopedPrefs.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]