[
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "target",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "headerFile": "mozilla/dom/EventTarget.h",
              "name": "EventTarget",
              "native": "mozilla::dom::EventTarget",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hidden",
          "hasretval"
        ],
        "name": "countOfEventListenerChangesAffectingAccessibility",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIEventListenerChange",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "07222b02-da12-4cf4-b2f7-761da007a8d8"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "listenersChanged",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIArray",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIListenerChangeListener",
    "needs_scriptable": [
      "nsIArray"
    ],
    "parent": "nsISupports",
    "uuid": "aa7c95f6-d3b5-44b3-9597-1d9f19b9c5f2"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "type",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "capturing",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "allowsUntrusted",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "inSystemEventGroup",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "enabled",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "enabled",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "jscontext",
          "hasretval"
        ],
        "name": "listenerObject",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "toSource",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIEventListenerInfo",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "11ba5fd7-8db2-4b1a-9f67-342cfa11afad"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "getListenerInfoFor",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/EventTarget.h",
              "name": "EventTarget",
              "native": "mozilla::dom::EventTarget",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "name": "nsIEventListenerInfo",
                "tag": "TD_INTERFACE_TYPE"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "hasListenersFor",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/EventTarget.h",
              "name": "EventTarget",
              "native": "mozilla::dom::EventTarget",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "addListenerForAllEvents",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/EventTarget.h",
              "name": "EventTarget",
              "native": "mozilla::dom::EventTarget",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "removeListenerForAllEvents",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/EventTarget.h",
              "name": "EventTarget",
              "native": "mozilla::dom::EventTarget",
              "tag": "TD_DOMOBJECT"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "addListenerChangeListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIListenerChangeListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeListenerChangeListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIListenerChangeListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIEventListenerService",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "77aab5f7-213d-4db4-9f22-e46dfb774f15"
  }
]