{
  "api": {
    "name": "NativeBiometricPlugin",
    "slug": "nativebiometricplugin",
    "docs": "",
    "tags": [],
    "methods": [
      {
        "name": "isAvailable",
        "signature": "(options?: IsAvailableOptions | undefined) => Promise<AvailableResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "IsAvailableOptions | undefined"
          }
        ],
        "returns": "Promise<AvailableResult>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Checks if biometric authentication hardware is available.",
        "complexTypes": [
          "AvailableResult",
          "IsAvailableOptions"
        ],
        "slug": "isavailable"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'biometryChange', listener: BiometryChangeListener) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "- Must be 'biometryChange'",
            "type": "'biometryChange'"
          },
          {
            "name": "listener",
            "docs": "- Callback function that receives the updated AvailableResult",
            "type": "BiometryChangeListener"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [
          {
            "name": "param",
            "text": "eventName - Must be 'biometryChange'"
          },
          {
            "name": "param",
            "text": "listener - Callback function that receives the updated AvailableResult"
          },
          {
            "name": "returns",
            "text": "Handle to remove the listener"
          },
          {
            "name": "since",
            "text": "7.6.0"
          },
          {
            "name": "example",
            "text": "```typescript\nconst handle = await NativeBiometric.addListener('biometryChange', (result) => {\n  console.log('Biometry availability changed:', result.isAvailable);\n});\n\n// To remove the listener:\nawait handle.remove();\n```"
          }
        ],
        "docs": "Adds a listener that is called when the app resumes from background.\nThis is useful to detect if biometry availability has changed while\nthe app was in the background (e.g., user enrolled/unenrolled biometrics).",
        "complexTypes": [
          "PluginListenerHandle",
          "BiometryChangeListener"
        ],
        "slug": "addlistenerbiometrychange-"
      },
      {
        "name": "verifyIdentity",
        "signature": "(options?: BiometricOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "BiometricOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Prompts the user to authenticate with biometrics.",
        "complexTypes": [
          "BiometricOptions"
        ],
        "slug": "verifyidentity"
      },
      {
        "name": "getCredentials",
        "signature": "(options: GetCredentialOptions) => Promise<Credentials>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "GetCredentialOptions"
          }
        ],
        "returns": "Promise<Credentials>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Gets the stored credentials for a given server.",
        "complexTypes": [
          "Credentials",
          "GetCredentialOptions"
        ],
        "slug": "getcredentials"
      },
      {
        "name": "setCredentials",
        "signature": "(options: SetCredentialOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "SetCredentialOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Stores the given credentials for a given server.",
        "complexTypes": [
          "SetCredentialOptions"
        ],
        "slug": "setcredentials"
      },
      {
        "name": "deleteCredentials",
        "signature": "(options: DeleteCredentialOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "DeleteCredentialOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Deletes the stored credentials for a given server.",
        "complexTypes": [
          "DeleteCredentialOptions"
        ],
        "slug": "deletecredentials"
      },
      {
        "name": "getSecureCredentials",
        "signature": "(options: GetSecureCredentialsOptions) => Promise<Credentials>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "GetSecureCredentialsOptions"
          }
        ],
        "returns": "Promise<Credentials>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "8.4.0"
          }
        ],
        "docs": "Gets the stored credentials for a given server, requiring biometric authentication.\nCredentials must have been stored with accessControl set to BIOMETRY_CURRENT_SET or BIOMETRY_ANY.\n\nOn iOS, the system automatically shows the biometric prompt when accessing the protected Keychain item.\nOn Android, BiometricPrompt is shown with a CryptoObject bound to the credential decryption key.",
        "complexTypes": [
          "Credentials",
          "GetSecureCredentialsOptions"
        ],
        "slug": "getsecurecredentials"
      },
      {
        "name": "isCredentialsSaved",
        "signature": "(options: IsCredentialsSavedOptions) => Promise<IsCredentialsSavedResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "IsCredentialsSavedOptions"
          }
        ],
        "returns": "Promise<IsCredentialsSavedResult>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "7.3.0"
          }
        ],
        "docs": "Checks if credentials are already saved for a given server.",
        "complexTypes": [
          "IsCredentialsSavedResult",
          "IsCredentialsSavedOptions"
        ],
        "slug": "iscredentialssaved"
      },
      {
        "name": "setData",
        "signature": "(options: SetDataOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "SetDataOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "8.6.0"
          }
        ],
        "docs": "Stores an arbitrary string value under the given key.\nValues are encrypted at rest using the platform secure storage backend\n(Android Keystore + SharedPreferences, iOS Keychain).\n\nFor biometric-protected storage, set `accessControl` and retrieve the value\nwith `getSecureData()`. Credential helpers remain available for username/password flows.",
        "complexTypes": [
          "SetDataOptions"
        ],
        "slug": "setdata"
      },
      {
        "name": "getData",
        "signature": "(options: GetDataOptions) => Promise<StoredData>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "GetDataOptions"
          }
        ],
        "returns": "Promise<StoredData>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "8.6.0"
          }
        ],
        "docs": "Gets a previously stored value for the given key.\nOnly returns values stored without biometric `accessControl`.",
        "complexTypes": [
          "StoredData",
          "GetDataOptions"
        ],
        "slug": "getdata"
      },
      {
        "name": "getSecureData",
        "signature": "(options: GetSecureDataOptions) => Promise<StoredData>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "GetSecureDataOptions"
          }
        ],
        "returns": "Promise<StoredData>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "8.6.0"
          }
        ],
        "docs": "Gets a biometric-protected value for the given key.\nThe value must have been stored with `accessControl` set to BIOMETRY_CURRENT_SET or BIOMETRY_ANY.",
        "complexTypes": [
          "StoredData",
          "GetSecureDataOptions"
        ],
        "slug": "getsecuredata"
      },
      {
        "name": "deleteData",
        "signature": "(options: DeleteDataOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "DeleteDataOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "8.6.0"
          }
        ],
        "docs": "Deletes the stored value for the given key (protected and unprotected).",
        "complexTypes": [
          "DeleteDataOptions"
        ],
        "slug": "deletedata"
      },
      {
        "name": "isDataSaved",
        "signature": "(options: IsDataSavedOptions) => Promise<IsDataSavedResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "IsDataSavedOptions"
          }
        ],
        "returns": "Promise<IsDataSavedResult>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "returns"
          },
          {
            "name": "memberof",
            "text": "NativeBiometricPlugin"
          },
          {
            "name": "since",
            "text": "8.6.0"
          }
        ],
        "docs": "Checks whether a value is already saved for the given key.",
        "complexTypes": [
          "IsDataSavedResult",
          "IsDataSavedOptions"
        ],
        "slug": "isdatasaved"
      },
      {
        "name": "getPluginVersion",
        "signature": "() => Promise<{ version: string; }>",
        "parameters": [],
        "returns": "Promise<{ version: string; }>",
        "tags": [
          {
            "name": "returns",
            "text": "Promise that resolves with the plugin version"
          },
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Get the native Capacitor plugin version.",
        "complexTypes": [],
        "slug": "getpluginversion"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "AvailableResult",
      "slug": "availableresult",
      "docs": "Result from isAvailable() method indicating biometric authentication availability.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "isAvailable",
          "tags": [],
          "docs": "Whether authentication is available.\n\nOn Android, weak-only biometrics (such as some face unlock implementations)\nare available for `verifyIdentity()` when no `allowedBiometryTypes` filter\nexcludes them. If `useFallback` is true, PIN/pattern/password can also make\nthis value true.",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "authenticationStrength",
          "tags": [],
          "docs": "The strength of available authentication method (STRONG, WEAK, or NONE)",
          "complexTypes": [
            "AuthenticationStrength"
          ],
          "type": "AuthenticationStrength"
        },
        {
          "name": "biometryType",
          "tags": [],
          "docs": "The primary biometry type available on the device.\nOn Android devices with multiple biometry types, this returns MULTIPLE.\nUse this for display purposes only - always use isAvailable for logic decisions.",
          "complexTypes": [
            "BiometryType"
          ],
          "type": "BiometryType"
        },
        {
          "name": "deviceIsSecure",
          "tags": [],
          "docs": "Whether the device has a secure lock screen (PIN, pattern, or password).\nThis is independent of biometric enrollment.",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "strongBiometryIsAvailable",
          "tags": [],
          "docs": "Whether strong biometry (Face ID, Touch ID, or fingerprint on devices that consider it strong)\nis specifically available, separate from weak biometry or device credentials.",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "errorCode",
          "tags": [
            {
              "text": "BiometricAuthError",
              "name": "see"
            }
          ],
          "docs": "Error code from BiometricAuthError enum. Only present when isAvailable is false.\nIndicates why biometric authentication is not available.",
          "complexTypes": [
            "BiometricAuthError"
          ],
          "type": "BiometricAuthError"
        }
      ]
    },
    {
      "name": "IsAvailableOptions",
      "slug": "isavailableoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "useFallback",
          "tags": [],
          "docs": "Whether passcode or device credentials should count toward biometric availability\nwhen no biometric is enrolled or available.\n\n- On iOS, this affects both `isAvailable()` and `verifyIdentity()`.\n- On Android, this is honored by `isAvailable()` only — the native check computes\n  `fallbackAvailable = useFallback && deviceIsSecure` and reports availability\n  accordingly. The `verifyIdentity()` flow ignores this option on Android due to\n  BiometricPrompt API constraints (DEVICE_CREDENTIAL authenticator and negative\n  button are mutually exclusive); use `BiometricOptions.useFallback` (iOS-only) to\n  control the auth-dialog fallback there.",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "PluginListenerHandle",
      "slug": "pluginlistenerhandle",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "remove",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "() => Promise<void>"
        }
      ]
    },
    {
      "name": "BiometricOptions",
      "slug": "biometricoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "reason",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "title",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "subtitle",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "description",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "negativeButtonText",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "useFallback",
          "tags": [],
          "docs": "Only for iOS.\nSpecifies if should fallback to passcode authentication if biometric authentication fails.\nOn Android, this parameter is ignored due to BiometricPrompt API constraints:\nDEVICE_CREDENTIAL authenticator and negative button (cancel) are mutually exclusive.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "fallbackTitle",
          "tags": [],
          "docs": "Only for iOS.\nSet the text for the fallback button in the authentication dialog.\nIf this property is not specified, the default text is set by the system.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "maxAttempts",
          "tags": [
            {
              "text": "1",
              "name": "default"
            }
          ],
          "docs": "Only for Android.\nSet a maximum number of attempts for biometric authentication. The maximum allowed by android is 5.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "allowedBiometryTypes",
          "tags": [
            {
              "text": "[BiometryType.FINGERPRINT, BiometryType.FACE_AUTHENTICATION]",
              "name": "example"
            }
          ],
          "docs": "Only for Android.\nSpecify which biometry types are allowed for authentication.\nIf not specified, all enrolled biometric classes (strong and weak) are allowed.\nOn Android, face unlock is often classified as weak biometrics — include\n`BiometryType.FACE_AUTHENTICATION` or omit this option to allow it.\nUse `BiometryType.DEVICE_CREDENTIAL` for PIN/pattern/password (disables the cancel button).",
          "complexTypes": [
            "BiometryType"
          ],
          "type": "BiometryType[] | undefined"
        }
      ]
    },
    {
      "name": "Credentials",
      "slug": "credentials",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "username",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "password",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "GetCredentialOptions",
      "slug": "getcredentialoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "server",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "SetCredentialOptions",
      "slug": "setcredentialoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "username",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "password",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "server",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "accessControl",
          "tags": [
            {
              "text": "AccessControl.NONE",
              "name": "default"
            },
            {
              "text": "8.4.0",
              "name": "since"
            }
          ],
          "docs": "Access control level for the stored credentials.\nWhen set to BIOMETRY_CURRENT_SET or BIOMETRY_ANY, the credentials are\nhardware-protected and require biometric authentication to access.\n\nOn iOS, this adds SecAccessControl to the Keychain item.\nOn Android, this creates a biometric-protected Keystore key and requires\nBiometricPrompt authentication for both storing and retrieving credentials.",
          "complexTypes": [
            "AccessControl"
          ],
          "type": "AccessControl"
        },
        {
          "name": "authValidityDuration",
          "tags": [
            {
              "text": "0",
              "name": "default"
            },
            {
              "text": "8.5.0",
              "name": "since"
            }
          ],
          "docs": "Only for Android. Ignored on iOS and web.\nOnly meaningful together with `accessControl` set to BIOMETRY_CURRENT_SET or BIOMETRY_ANY.\n\nNumber of seconds a successful biometric authentication remains valid for\nKeystore key use. When `0` or omitted (the default), the Keystore key requires\na fresh authentication for every operation — each `getSecureCredentials()` call\nshows a `BiometricPrompt` cryptographically bound to that specific read via a\n`CryptoObject`. This is the strongest mode: it guarantees no code path can use\nthe key without a live biometric check.\n\nWhen set to a value greater than `0`, one successful biometric authentication\nauthorizes Keystore key use for that many seconds. Subsequent\n`getSecureCredentials()` calls within the window succeed without showing a\nprompt. This trades security for convenience: any in-app code that can reach\nthe decryption call — not just the code path that triggered the prompt — can\nsilently read the credentials for the remainder of the window.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "title",
          "tags": [
            {
              "text": "\"Protect Credentials\"",
              "name": "default"
            },
            {
              "text": "8.4.14",
              "name": "since"
            }
          ],
          "docs": "Title for the biometric prompt shown while protecting credentials.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "negativeButtonText",
          "tags": [
            {
              "text": "\"Cancel\"",
              "name": "default"
            },
            {
              "text": "8.4.14",
              "name": "since"
            }
          ],
          "docs": "Text for the negative/cancel button in the biometric prompt.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "DeleteCredentialOptions",
      "slug": "deletecredentialoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "server",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "GetSecureCredentialsOptions",
      "slug": "getsecurecredentialsoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "server",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "reason",
          "tags": [],
          "docs": "Reason for requesting biometric authentication.\nDisplayed in the biometric prompt on both iOS and Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "title",
          "tags": [],
          "docs": "Title for the biometric prompt.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "subtitle",
          "tags": [],
          "docs": "Subtitle for the biometric prompt.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "description",
          "tags": [],
          "docs": "Description for the biometric prompt.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "negativeButtonText",
          "tags": [],
          "docs": "Text for the negative/cancel button.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "IsCredentialsSavedResult",
      "slug": "iscredentialssavedresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "isSaved",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "IsCredentialsSavedOptions",
      "slug": "iscredentialssavedoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "server",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "SetDataOptions",
      "slug": "setdataoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "key",
          "tags": [],
          "docs": "Unique identifier for the stored value.\nUse a stable app-specific namespace (e.g. `pin`, `session.token`).",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "Arbitrary string payload. Serialize objects with `JSON.stringify()` before storing.\n\nPlatform limits apply: Android Keystore-backed encryption works best with payloads\nunder ~8 KB; iOS Keychain practical limits are higher but very large values are discouraged.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "accessControl",
          "tags": [
            {
              "text": "AccessControl.NONE",
              "name": "default"
            },
            {
              "text": "8.6.0",
              "name": "since"
            }
          ],
          "docs": "Access control level for the stored value.\nWhen set to BIOMETRY_CURRENT_SET or BIOMETRY_ANY, the value is hardware-protected\nand requires biometric authentication to access via `getSecureData()`.",
          "complexTypes": [
            "AccessControl"
          ],
          "type": "AccessControl"
        },
        {
          "name": "authValidityDuration",
          "tags": [
            {
              "text": "0",
              "name": "default"
            },
            {
              "text": "8.6.0",
              "name": "since"
            }
          ],
          "docs": "Only for Android. Ignored on iOS and web.\nOnly meaningful together with `accessControl` set to BIOMETRY_CURRENT_SET or BIOMETRY_ANY.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "title",
          "tags": [
            {
              "text": "\"Protect Data\"",
              "name": "default"
            },
            {
              "text": "8.6.0",
              "name": "since"
            }
          ],
          "docs": "Title for the biometric prompt shown while protecting data.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "negativeButtonText",
          "tags": [
            {
              "text": "\"Cancel\"",
              "name": "default"
            },
            {
              "text": "8.6.0",
              "name": "since"
            }
          ],
          "docs": "Text for the negative/cancel button in the biometric prompt.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "StoredData",
      "slug": "storeddata",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "GetDataOptions",
      "slug": "getdataoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "GetSecureDataOptions",
      "slug": "getsecuredataoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "reason",
          "tags": [],
          "docs": "Reason for requesting biometric authentication.\nDisplayed in the biometric prompt on both iOS and Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "title",
          "tags": [],
          "docs": "Title for the biometric prompt.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "subtitle",
          "tags": [],
          "docs": "Subtitle for the biometric prompt.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "description",
          "tags": [],
          "docs": "Description for the biometric prompt.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "negativeButtonText",
          "tags": [],
          "docs": "Text for the negative/cancel button.\nOnly for Android.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "DeleteDataOptions",
      "slug": "deletedataoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "IsDataSavedResult",
      "slug": "isdatasavedresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "isSaved",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "IsDataSavedOptions",
      "slug": "isdatasavedoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    }
  ],
  "enums": [
    {
      "name": "AuthenticationStrength",
      "slug": "authenticationstrength",
      "members": [
        {
          "name": "NONE",
          "value": "0",
          "tags": [],
          "docs": "No authentication available, even if PIN is available but useFallback = false"
        },
        {
          "name": "STRONG",
          "value": "1",
          "tags": [],
          "docs": "Strong authentication: Face ID on iOS, fingerprints on devices that consider fingerprints strong (Android).\nNote: PIN/pattern/password is NEVER considered STRONG, even when useFallback = true."
        },
        {
          "name": "WEAK",
          "value": "2",
          "tags": [],
          "docs": "Weak authentication: Face authentication on Android devices that consider face weak,\nor PIN/pattern/password if useFallback = true (PIN is always WEAK, never STRONG)."
        }
      ]
    },
    {
      "name": "BiometryType",
      "slug": "biometrytype",
      "members": [
        {
          "name": "NONE",
          "value": "0",
          "tags": [],
          "docs": ""
        },
        {
          "name": "TOUCH_ID",
          "value": "1",
          "tags": [],
          "docs": ""
        },
        {
          "name": "FACE_ID",
          "value": "2",
          "tags": [],
          "docs": ""
        },
        {
          "name": "FINGERPRINT",
          "value": "3",
          "tags": [],
          "docs": ""
        },
        {
          "name": "FACE_AUTHENTICATION",
          "value": "4",
          "tags": [],
          "docs": ""
        },
        {
          "name": "IRIS_AUTHENTICATION",
          "value": "5",
          "tags": [],
          "docs": ""
        },
        {
          "name": "MULTIPLE",
          "value": "6",
          "tags": [],
          "docs": ""
        },
        {
          "name": "DEVICE_CREDENTIAL",
          "value": "7",
          "tags": [],
          "docs": ""
        }
      ]
    },
    {
      "name": "BiometricAuthError",
      "slug": "biometricautherror",
      "members": [
        {
          "name": "UNKNOWN_ERROR",
          "value": "0",
          "tags": [],
          "docs": "Unknown error occurred"
        },
        {
          "name": "BIOMETRICS_UNAVAILABLE",
          "value": "1",
          "tags": [],
          "docs": "Biometrics are unavailable (no hardware or hardware error)\nPlatform: Android, iOS"
        },
        {
          "name": "USER_LOCKOUT",
          "value": "2",
          "tags": [],
          "docs": "User has been locked out due to too many failed attempts\nPlatform: Android, iOS"
        },
        {
          "name": "BIOMETRICS_NOT_ENROLLED",
          "value": "3",
          "tags": [],
          "docs": "No biometrics are enrolled on the device\nPlatform: Android, iOS"
        },
        {
          "name": "USER_TEMPORARY_LOCKOUT",
          "value": "4",
          "tags": [],
          "docs": "User is temporarily locked out (Android: 30 second lockout)\nPlatform: Android"
        },
        {
          "name": "AUTHENTICATION_FAILED",
          "value": "10",
          "tags": [],
          "docs": "Authentication failed (user did not authenticate successfully)\nPlatform: Android, iOS"
        },
        {
          "name": "APP_CANCEL",
          "value": "11",
          "tags": [],
          "docs": "App canceled the authentication (iOS only)\nPlatform: iOS"
        },
        {
          "name": "INVALID_CONTEXT",
          "value": "12",
          "tags": [],
          "docs": "Invalid context (iOS only)\nPlatform: iOS"
        },
        {
          "name": "NOT_INTERACTIVE",
          "value": "13",
          "tags": [],
          "docs": "Authentication was not interactive (iOS only)\nPlatform: iOS"
        },
        {
          "name": "PASSCODE_NOT_SET",
          "value": "14",
          "tags": [],
          "docs": "Passcode/PIN is not set on the device\nPlatform: Android, iOS"
        },
        {
          "name": "SYSTEM_CANCEL",
          "value": "15",
          "tags": [],
          "docs": "System canceled the authentication (e.g., due to screen lock)\nPlatform: Android, iOS"
        },
        {
          "name": "USER_CANCEL",
          "value": "16",
          "tags": [],
          "docs": "User canceled the authentication\nPlatform: Android, iOS"
        },
        {
          "name": "USER_FALLBACK",
          "value": "17",
          "tags": [],
          "docs": "User chose to use fallback authentication method\nPlatform: Android, iOS"
        }
      ]
    },
    {
      "name": "AccessControl",
      "slug": "accesscontrol",
      "members": [
        {
          "name": "NONE",
          "value": "0",
          "tags": [],
          "docs": "No biometric protection. Credentials are accessible without authentication.\nThis is the default behavior for backward compatibility."
        },
        {
          "name": "BIOMETRY_CURRENT_SET",
          "value": "1",
          "tags": [],
          "docs": "Biometric authentication required for credential access.\nCredentials are invalidated if biometrics change (e.g., new fingerprint enrolled).\nMore secure but credentials are lost if user modifies their biometric enrollment."
        },
        {
          "name": "BIOMETRY_ANY",
          "value": "2",
          "tags": [],
          "docs": "Biometric authentication required for credential access.\nCredentials survive new biometric enrollment (e.g., adding a new fingerprint).\nMore lenient — recommended for most apps."
        }
      ]
    }
  ],
  "typeAliases": [
    {
      "name": "BiometryChangeListener",
      "slug": "biometrychangelistener",
      "docs": "Callback type for biometry change listener",
      "types": [
        {
          "text": "(result: AvailableResult): void",
          "complexTypes": [
            "AvailableResult"
          ]
        }
      ]
    }
  ],
  "pluginConfigs": []
}