[
  {
    "namespace": "WindowListener",
    "functions": [
      {
        "name": "registerDefaultPrefs",
        "type": "function",
        "parameters": [
          {
            "name": "aPath",
            "type": "string",
            "description": "Relative path to the default file."
          }
        ]
      },
      {
        "name": "registerOptionsPage",
        "type": "function",
        "parameters": [
          {
            "name": "aPath",
            "type": "string",
            "description": "Path to the options page, which should be made accessible in the (legacy) Add-On Options menu."
          }
        ]
      },
      {
        "name": "registerChromeUrl",
        "type": "function",
        "description": "Register folders which should be available as chrome:// urls (as defined in the legacy chrome.manifest)",
        "parameters": [
          {
            "name": "data",
            "type": "array",
            "async": true,
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Array of manifest url definitions (content, locale, resource)"
          }
        ]
      },
      {
        "name": "waitForMasterPassword",
        "type": "function",
        "async": true,
        "parameters": []
      },
      {
        "name": "openOptionsDialog",
        "type": "function",
        "parameters": [
          {
            "name": "windowId",
            "type": "integer",
            "description": "Id of the window the dialog should be opened from."
          }
        ]
      },
      {
        "name": "startListening",
        "type": "function",
        "async": true,
        "parameters": []
      },
      {
        "name": "registerWindow",
        "type": "function",
        "parameters": [
          {
            "name": "windowHref",
            "type": "string",
            "description": "Url of the window, which should be listen for."
          },
          {
            "name": "jsFile",
            "type": "string",
            "description": "Path to the JavaScript file, which should be loaded into the window."
          }
        ]
      },
      {
        "name": "registerStartupScript",
        "type": "function",
        "parameters": [
          {
            "name": "aPath",
            "type": "string",
            "description": "Path to a JavaScript file, which should be executed on add-on startup. The script will be executed after the main application window has been sucessfully loaded."
          }
        ]
      },
      {
        "name": "registerShutdownScript",
        "type": "function",
        "parameters": [
          {
            "name": "aPath",
            "type": "string",
            "description": "Path to a JavaScript file, which should be executed on add-on shutdown."
          }
        ]
      }
    ]
  }
]