[
  {
    "namespace": "xnoteapi",
    "functions": [
      {
        "name": "loadXNoteJSM",
        "type": "function",
        "async": true,
        "parameters": []
      },
   
      {
        "name": "init",
        "type": "function",
        "async": true,
        "parameters": []
      },

      
      
      {
        "name": "hasOpenNoteWindow",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "windowId",
            "type": "integer",
            "optional": true
          }
        ]
      },
      
      {
        "name": "closeNoteWindow",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "windowId",
            "type": "integer",
            "optional": true
          }
        ]
      },

      {"name": "closeNoteInTab",
      "type": "function",
      "async": true,
      "parameters": [
        {
          "name": "windowId",
          "type": "integer",
          "optional": true
        }
      ]
    },


      {
        "name": "openNoteWindow",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "windowId",
            "type": "integer",
            "optional": true
          },
          {
            "name": "messageId",
            "type": "integer",
            "optional": true
          },
          {
            "name": "forceShowing",
            "type": "boolean",
            "optional": true
          },
          {
            "name": "focus",
            "type": "boolean",
            "optional": true
          }
        ]
      },

      {
        "name": "getXNote",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "id",
            "type": "any",
            "description": "MX message id"
          }
        ]
      },

     
     
  
      {
        "name": "deleteXNoteFromMsgKey",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "msgKey",
            "type": "any",
            "description": "legacy message key"
          }
        ]
      },

  
  
      {
        "name": "syncXNote",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "msgKey",
            "type": "any",
            "description": "legacy message key"
          },
         {
            "name": "XNote",
            "type": "any",
            "description": "XNote object"
          }
           
        ]
      },

     
      {
        "name": "getXNoteFromMsgKey",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "msgKey",
            "type": "any",
            "description": "legacy message key"
          }
        ]
      },


      {
        "name": "isExperimentReady",
        "type": "function",
        "async": true,
        "parameters": [ ]
      },



      {
        "name": "getAllXNoteKeys",
        "type": "function",
        "async": true,
        "parameters": [ ]
      },

      {
        "name": "getAllXNotesFromDirectory",
        "type": "function",
        "async": true,
        "parameters": [ ]
      },

      {
        "name": "getPref",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "name",
            "type": "string",
            "description": "Old preference string excluding extensions.xnote. prefix."
          }
        ]
      },

      {
        "name": "setPreferences",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "prefs",
            "type": "any",
            "description": "Set the preferences object from the local browser storage."
          }
        ]
      },

      {
        "name": "getTbPref",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "name",
            "type": "string",
            "description": "Old TB preference string."
          }
        ]
      },

      {
        "name": "setTbPref",
        "type": "function",
        "async": true,
        "parameters": [
          {
            "name": "name",
            "type": "string",
            "description": "Old TB preference string."
          },
          {
            "name": "value",
            "type": "any",
            "description": "TB preference value."
          }
        ]
      }
   ]
  }
]
