[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIEventListenerChange",
        "members": [
          {
            "name": "target",
            "readonly": true,
            "type": "EventTarget"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIListenerChangeListener",
        "members": [
          {
            "args": [
              {
                "name": "aEventListenerChanges",
                "optional": false,
                "type": "nsIArray"
              }
            ],
            "iid_is": null,
            "name": "listenersChanged",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIEventListenerInfo",
        "members": [
          {
            "name": "type",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "capturing",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "allowsUntrusted",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "inSystemEventGroup",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "enabled",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "listenerObject",
            "readonly": true,
            "type": "any"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "toSource",
            "type": "string"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIEventListenerService",
        "members": [
          {
            "args": [
              {
                "name": "aEventTarget",
                "optional": false,
                "type": "EventTarget"
              }
            ],
            "iid_is": null,
            "name": "getListenerInfoFor",
            "type": "nsIEventListenerInfo[]"
          },
          {
            "args": [
              {
                "name": "aEventTarget",
                "optional": false,
                "type": "EventTarget"
              },
              {
                "name": "aType",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "hasListenersFor",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "target",
                "optional": false,
                "type": "EventTarget"
              },
              {
                "name": "listener",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aUseCapture",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aWantsUntrusted",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aSystemEventGroup",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "addListenerForAllEvents",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "target",
                "optional": false,
                "type": "EventTarget"
              },
              {
                "name": "listener",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aUseCapture",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aSystemEventGroup",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "removeListenerForAllEvents",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aListener",
                "optional": false,
                "type": "nsIListenerChangeListener"
              }
            ],
            "iid_is": null,
            "name": "addListenerChangeListener",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aListener",
                "optional": false,
                "type": "nsIListenerChangeListener"
              }
            ],
            "iid_is": null,
            "name": "removeListenerChangeListener",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/events/nsIEventListenerService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]