[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICredentialChooserService",
        "members": [
          {
            "args": [
              {
                "name": "window",
                "optional": false,
                "type": "mozIDOMWindow"
              },
              {
                "name": "uri",
                "optional": false,
                "type": "nsIURI"
              }
            ],
            "iid_is": null,
            "name": "fetchImageToDataURI",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "uri",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "triggeringPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "fetchWellKnown",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "uri",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "triggeringPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "fetchConfig",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "uri",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "triggeringPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "fetchAccounts",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "uri",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "body",
                "optional": false,
                "type": "string"
              },
              {
                "name": "triggeringPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "fetchToken",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "uri",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "body",
                "optional": false,
                "type": "string"
              },
              {
                "name": "triggeringPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "fetchDisconnect",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "toolkit/components/credentialmanagement/nsICredentialChooserService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsICredentialChosenCallback",
        "members": [
          {
            "args": [
              {
                "name": "aChosenID",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "notify",
            "type": "void"
          }
        ]
      }
    ],
    "path": "toolkit/components/credentialmanagement/nsICredentialChosenCallback.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIIdentityCredentialPromptService",
        "members": [
          {
            "args": [
              {
                "name": "browsingContext",
                "optional": false,
                "type": "BrowsingContext"
              },
              {
                "name": "identityProviders",
                "optional": false,
                "type": "any"
              },
              {
                "name": "identityManifests",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "showProviderPrompt",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "browsingContext",
                "optional": false,
                "type": "BrowsingContext"
              },
              {
                "name": "accountList",
                "optional": false,
                "type": "any"
              },
              {
                "name": "identityProvider",
                "optional": false,
                "type": "any"
              },
              {
                "name": "identityManifest",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "showAccountListPrompt",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "browsingContext",
                "optional": false,
                "type": "BrowsingContext"
              }
            ],
            "iid_is": null,
            "name": "close",
            "type": "void"
          }
        ]
      }
    ],
    "path": "toolkit/components/credentialmanagement/nsIIdentityCredentialPromptService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIIdentityCredentialStorageService",
        "members": [
          {
            "args": [
              {
                "name": "rpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "idpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "credentialID",
                "optional": false,
                "type": "string"
              },
              {
                "name": "registered",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "allowLogout",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setState",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "rpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "idpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "credentialID",
                "optional": false,
                "type": "string"
              },
              {
                "name": "registered",
                "optional": false,
                "type": "OutParam<boolean>"
              },
              {
                "name": "allowLogout",
                "optional": false,
                "type": "OutParam<boolean>"
              }
            ],
            "iid_is": null,
            "name": "getState",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "rpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "idpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "credentialID",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "delete",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "rpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "idpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "connected",
                "optional": false,
                "type": "OutParam<boolean>"
              }
            ],
            "iid_is": null,
            "name": "connected",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "rpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              },
              {
                "name": "idpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "disconnect",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clear",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "baseDomain",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "deleteFromBaseDomain",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "rpPrincipal",
                "optional": false,
                "type": "nsIPrincipal"
              }
            ],
            "iid_is": null,
            "name": "deleteFromPrincipal",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFrom",
                "optional": false,
                "type": "PRTime"
              },
              {
                "name": "aTo",
                "optional": false,
                "type": "PRTime"
              }
            ],
            "iid_is": null,
            "name": "deleteFromTimeRange",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPattern",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "deleteFromOriginAttributesPattern",
            "type": "void"
          }
        ]
      }
    ],
    "path": "toolkit/components/credentialmanagement/nsIIdentityCredentialStorageService.idl",
    "typedefs": [
      [
        "CSPDirective",
        "nsIContentSecurityPolicy.CSPDirective"
      ],
      [
        "PRTime",
        "i64"
      ],
      [
        "RequireTrustedTypesForDirectiveState",
        "nsIContentSecurityPolicy.RequireTrustedTypesForDirectiveState"
      ],
      [
        "nsContentPolicyType",
        "nsIContentPolicy.nsContentPolicyType"
      ]
    ]
  }
]