[
  {
    "interfaces": [],
    "path": "dom/webauthn/nsIWebAuthnArgs.idl",
    "typedefs": [
      [
        "COSEAlgorithmIdentifier",
        "i32"
      ],
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [],
    "path": "dom/webauthn/nsIWebAuthnAttObj.idl",
    "typedefs": [
      [
        "COSEAlgorithmIdentifier",
        "i32"
      ],
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIWebAuthnAutoFillEntriesCallback",
        "members": [
          {
            "args": [
              {
                "name": "entries",
                "optional": false,
                "type": "nsIWebAuthnAutoFillEntry[]"
              }
            ],
            "iid_is": null,
            "name": "resolve",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "error",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "reject",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/webauthn/nsIWebAuthnPromise.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIWebAuthnRelatedOriginCheckCallback",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "resolved",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "rejected",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "userCancel",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "MODE_DISABLED",
            "value": 0
          },
          {
            "name": "MODE_NO_PROMPT",
            "value": 1
          },
          {
            "name": "MODE_PROMPT",
            "value": 2
          }
        ],
        "enums": [],
        "id": "nsIWebAuthnRelatedOriginFetcher",
        "members": [
          {
            "args": [
              {
                "name": "aManager",
                "optional": false,
                "type": "WindowGlobalParent"
              },
              {
                "name": "aRpId",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aIsCreate",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aShowPrompt",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsIWebAuthnRelatedOriginCheckCallback"
              }
            ],
            "iid_is": null,
            "name": "checkRelatedOriginRequest",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "cancel",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/webauthn/nsIWebAuthnRelatedOriginFetcher.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [],
    "path": "dom/webauthn/nsIWebAuthnResult.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICredentialParameters",
        "members": [
          {
            "name": "credentialId",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "isResidentCredential",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "rpId",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "privateKey",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "userHandle",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "signCount",
            "readonly": true,
            "type": "u32"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "PROVIDER_UNKNOWN",
            "value": 0
          },
          {
            "name": "PROVIDER_TEST_TOKEN",
            "value": 1
          },
          {
            "name": "PROVIDER_PLATFORM_WINDOWS",
            "value": 2
          },
          {
            "name": "PROVIDER_PLATFORM_MACOS",
            "value": 3
          },
          {
            "name": "PROVIDER_PLATFORM_ANDROID",
            "value": 4
          }
        ],
        "enums": [],
        "id": "nsIWebAuthnAutoFillEntry",
        "members": [
          {
            "name": "provider",
            "readonly": true,
            "type": "u8"
          },
          {
            "name": "userName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "rpId",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "credentialId",
            "readonly": true,
            "type": "u8[]"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIWebAuthnService",
        "members": [
          {
            "name": "isUVPAA",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aTransactionId",
                "optional": false,
                "type": "u64"
              }
            ],
            "iid_is": null,
            "name": "cancel",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aBrowsingContextId",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aOrigin",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "hasPendingConditionalGet",
            "type": "u64"
          },
          {
            "args": [
              {
                "name": "aTransactionId",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsIWebAuthnAutoFillEntriesCallback"
              }
            ],
            "iid_is": null,
            "name": "getAutoFillEntries",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aTransactionId",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aCredentialId",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "selectAutoFillEntry",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aTransactionId",
                "optional": false,
                "type": "u64"
              }
            ],
            "iid_is": null,
            "name": "resumeConditionalGet",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aTransactionId",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aPin",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "pinCallback",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aTransactionId",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aHasConsent",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setHasAttestationConsent",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aTransactionId",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aIndex",
                "optional": false,
                "type": "u64"
              }
            ],
            "iid_is": null,
            "name": "selectionCallback",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "protocol",
                "optional": false,
                "type": "string"
              },
              {
                "name": "transport",
                "optional": false,
                "type": "string"
              },
              {
                "name": "hasResidentKey",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "hasUserVerification",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "isUserConsenting",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "isUserVerified",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "addVirtualAuthenticator",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "authenticatorId",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "hasVirtualAuthenticator",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "authenticatorId",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "removeVirtualAuthenticator",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "authenticatorId",
                "optional": false,
                "type": "string"
              },
              {
                "name": "credentialId",
                "optional": false,
                "type": "string"
              },
              {
                "name": "isResidentCredential",
                "optional": false,
                "type": "boolean"
              },
              {
                "name": "rpId",
                "optional": false,
                "type": "string"
              },
              {
                "name": "privateKey",
                "optional": false,
                "type": "string"
              },
              {
                "name": "userHandle",
                "optional": false,
                "type": "string"
              },
              {
                "name": "signCount",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "addCredential",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "authenticatorId",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getCredentials",
            "type": "nsICredentialParameters[]"
          },
          {
            "args": [
              {
                "name": "authenticatorId",
                "optional": false,
                "type": "string"
              },
              {
                "name": "credentialId",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "removeCredential",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "authenticatorId",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "removeAllCredentials",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "authenticatorId",
                "optional": false,
                "type": "string"
              },
              {
                "name": "isUserVerified",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setUserVerified",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "listen",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCommand",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "runCommand",
            "type": "void"
          }
        ]
      }
    ],
    "path": "dom/webauthn/nsIWebAuthnService.idl",
    "typedefs": [
      [
        "COSEAlgorithmIdentifier",
        "i32"
      ],
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]