{
  "api": {
    "name": "BleClientInterface",
    "slug": "bleclientinterface",
    "docs": "",
    "tags": [],
    "methods": [
      {
        "name": "initialize",
        "signature": "(options?: InitializeOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "InitializeOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Initialize Bluetooth Low Energy (BLE). If it fails, BLE might be unavailable on this device.\r\nOn **Android** it will ask for the location permission. On **iOS** it will ask for the Bluetooth permission.\r\nFor an example, see [usage](#usage).",
        "complexTypes": [
          "InitializeOptions"
        ],
        "slug": "initialize"
      },
      {
        "name": "isEnabled",
        "signature": "() => Promise<boolean>",
        "parameters": [],
        "returns": "Promise<boolean>",
        "tags": [],
        "docs": "Reports whether Bluetooth is enabled on this device.\r\nAlways returns `true` on **web**.",
        "complexTypes": [],
        "slug": "isenabled"
      },
      {
        "name": "requestEnable",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Request enabling Bluetooth. Show a system activity that allows the user to turn on Bluetooth. See https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#ACTION_REQUEST_ENABLE\r\nOnly available on **Android**.",
        "complexTypes": [],
        "slug": "requestenable"
      },
      {
        "name": "enable",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "deprecated",
            "text": "Will fail on Android SDK >= 33. Use `requestEnable` instead. See https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#enable()"
          }
        ],
        "docs": "Enable Bluetooth.\r\nOnly available on **Android**.\r\n**Deprecated** Will fail on Android SDK >= 33. Use `requestEnable` instead. See https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#enable()",
        "complexTypes": [],
        "slug": "enable"
      },
      {
        "name": "disable",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "deprecated",
            "text": "Will fail on Android SDK >= 33. See https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#disable()"
          }
        ],
        "docs": "Disable Bluetooth.\r\nOnly available on **Android**.\r\n**Deprecated** Will fail on Android SDK >= 33. See https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#disable()",
        "complexTypes": [],
        "slug": "disable"
      },
      {
        "name": "startEnabledNotifications",
        "signature": "(callback: (value: boolean) => void) => Promise<void>",
        "parameters": [
          {
            "name": "callback",
            "docs": "Callback function to use when the Bluetooth state changes.",
            "type": "(value: boolean) => void"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "callback Callback function to use when the Bluetooth state changes."
          }
        ],
        "docs": "Register a callback function that will be invoked when Bluetooth is enabled (true) or disabled (false) on this device.\r\nNot available on **web** (the callback will never be invoked).",
        "complexTypes": [],
        "slug": "startenablednotifications"
      },
      {
        "name": "stopEnabledNotifications",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Stop the enabled notifications registered with `startEnabledNotifications`.",
        "complexTypes": [],
        "slug": "stopenablednotifications"
      },
      {
        "name": "isLocationEnabled",
        "signature": "() => Promise<boolean>",
        "parameters": [],
        "returns": "Promise<boolean>",
        "tags": [],
        "docs": "Reports whether Location Services are enabled on this device.\r\nOnly available on **Android**.",
        "complexTypes": [],
        "slug": "islocationenabled"
      },
      {
        "name": "openLocationSettings",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Open Location settings.\r\nOnly available on **Android**.",
        "complexTypes": [],
        "slug": "openlocationsettings"
      },
      {
        "name": "openBluetoothSettings",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Open Bluetooth settings.\r\nOnly available on **Android**.",
        "complexTypes": [],
        "slug": "openbluetoothsettings"
      },
      {
        "name": "openAppSettings",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Open App settings.\r\nNot available on **web**.\r\nOn **iOS** when a user declines the request to use Bluetooth on the first call of `initialize`, it is not possible\r\nto request for Bluetooth again from within the app. In this case Bluetooth has to be enabled in the app settings\r\nfor the app to be able use it.",
        "complexTypes": [],
        "slug": "openappsettings"
      },
      {
        "name": "setDisplayStrings",
        "signature": "(displayStrings: DisplayStrings) => Promise<void>",
        "parameters": [
          {
            "name": "displayStrings",
            "docs": "",
            "type": "DisplayStrings"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "displayStrings"
          }
        ],
        "docs": "Set the strings that are displayed in the `requestDevice` dialog.",
        "complexTypes": [
          "DisplayStrings"
        ],
        "slug": "setdisplaystrings"
      },
      {
        "name": "requestDevice",
        "signature": "(options?: RequestBleDeviceOptions | undefined) => Promise<BleDevice>",
        "parameters": [
          {
            "name": "options",
            "docs": "Device filters, see [RequestBleDeviceOptions](#RequestBleDeviceOptions)",
            "type": "RequestBleDeviceOptions | undefined"
          }
        ],
        "returns": "Promise<BleDevice>",
        "tags": [
          {
            "name": "param",
            "text": "options Device filters, see [RequestBleDeviceOptions](#RequestBleDeviceOptions)"
          }
        ],
        "docs": "Request a peripheral BLE device to interact with. This will scan for available devices according to the filters in the options and show a dialog to pick a device.\r\nFor an example, see [usage](#usage).",
        "complexTypes": [
          "BleDevice",
          "RequestBleDeviceOptions"
        ],
        "slug": "requestdevice"
      },
      {
        "name": "requestLEScan",
        "signature": "(options: RequestBleDeviceOptions, callback: (result: ScanResult) => void) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "RequestBleDeviceOptions"
          },
          {
            "name": "callback",
            "docs": "",
            "type": "(result: ScanResult) => void"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options"
          },
          {
            "name": "param",
            "text": "callback"
          }
        ],
        "docs": "Start scanning for BLE devices to interact with according to the filters in the options. The callback will be invoked on each device that is found.\r\nScanning will continue until `stopLEScan` is called. For an example, see [usage](#usage).\r\n**Note**: Use with care on **web** platform, the required API is still behind a flag in most browsers.",
        "complexTypes": [
          "RequestBleDeviceOptions",
          "ScanResult"
        ],
        "slug": "requestlescan"
      },
      {
        "name": "stopLEScan",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "Stop scanning for BLE devices. For an example, see [usage](#usage).",
        "complexTypes": [],
        "slug": "stoplescan"
      },
      {
        "name": "getDevices",
        "signature": "(deviceIds: string[]) => Promise<BleDevice[]>",
        "parameters": [
          {
            "name": "deviceIds",
            "docs": "List of device IDs, e.g. saved from a previous app run.",
            "type": "string[]"
          }
        ],
        "returns": "Promise<BleDevice[]>",
        "tags": [
          {
            "name": "param",
            "text": "deviceIds List of device IDs, e.g. saved from a previous app run."
          }
        ],
        "docs": "On iOS and web, if you want to connect to a previously connected device without scanning first, you can use `getDevice`.\r\nUses [retrievePeripherals](https://developer.apple.com/documentation/corebluetooth/cbcentralmanager/1519127-retrieveperipherals) on iOS and\r\n[getDevices](https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth/getDevices) on web.\r\nOn Android, you can directly connect to the device with the deviceId.",
        "complexTypes": [
          "BleDevice"
        ],
        "slug": "getdevices"
      },
      {
        "name": "getBondedDevices",
        "signature": "() => Promise<BleDevice[]>",
        "parameters": [],
        "returns": "Promise<BleDevice[]>",
        "tags": [],
        "docs": "Get a list of currently bonded devices.\r\nOnly available on **Android**.\r\nUses [getBondedDevices](https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getBondedDevices()) on Android",
        "complexTypes": [
          "BleDevice"
        ],
        "slug": "getbondeddevices"
      },
      {
        "name": "getConnectedDevices",
        "signature": "(services: string[]) => Promise<BleDevice[]>",
        "parameters": [
          {
            "name": "services",
            "docs": "List of services to filter the devices by. If no service is specified, no devices will be returned. Only applies to iOS.",
            "type": "string[]"
          }
        ],
        "returns": "Promise<BleDevice[]>",
        "tags": [
          {
            "name": "param",
            "text": "services List of services to filter the devices by. If no service is specified, no devices will be returned. Only applies to iOS."
          }
        ],
        "docs": "Get a list of currently connected devices.\r\nUses [retrieveConnectedPeripherals](https://developer.apple.com/documentation/corebluetooth/cbcentralmanager/1518924-retrieveconnectedperipherals) on iOS,\r\n[getConnectedDevices](https://developer.android.com/reference/android/bluetooth/BluetoothManager#getConnectedDevices(int)) on Android\r\nand [getDevices](https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth/getDevices) on web.",
        "complexTypes": [
          "BleDevice"
        ],
        "slug": "getconnecteddevices"
      },
      {
        "name": "connect",
        "signature": "(deviceId: string, onDisconnect?: ((deviceId: string) => void) | undefined, options?: ConnectClientOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "onDisconnect",
            "docs": "Optional disconnect callback function that will be used when the device disconnects",
            "type": "((deviceId: string) => void) | undefined"
          },
          {
            "name": "options",
            "docs": "Options for plugin call",
            "type": "ConnectClientOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "onDisconnect Optional disconnect callback function that will be used when the device disconnects"
          },
          {
            "name": "param",
            "text": "options Options for plugin call"
          }
        ],
        "docs": "Connect to a peripheral BLE device. For an example, see [usage](#usage).",
        "complexTypes": [
          "ConnectClientOptions"
        ],
        "slug": "connect"
      },
      {
        "name": "createBond",
        "signature": "(deviceId: string, options?: TimeoutOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "options",
            "docs": "Options for plugin call",
            "type": "TimeoutOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "options Options for plugin call"
          }
        ],
        "docs": "Create a bond with a peripheral BLE device.\r\nOnly available on **Android**. On iOS bonding is handled by the OS.",
        "complexTypes": [
          "TimeoutOptions"
        ],
        "slug": "createbond"
      },
      {
        "name": "isBonded",
        "signature": "(deviceId: string) => Promise<boolean>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          }
        ],
        "returns": "Promise<boolean>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          }
        ],
        "docs": "Report whether a peripheral BLE device is bonded.\r\nOnly available on **Android**. On iOS bonding is handled by the OS.",
        "complexTypes": [],
        "slug": "isbonded"
      },
      {
        "name": "disconnect",
        "signature": "(deviceId: string) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          }
        ],
        "docs": "Disconnect from a peripheral BLE device. For an example, see [usage](#usage).",
        "complexTypes": [],
        "slug": "disconnect"
      },
      {
        "name": "getServices",
        "signature": "(deviceId: string) => Promise<BleService[]>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          }
        ],
        "returns": "Promise<BleService[]>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          }
        ],
        "docs": "Get services, characteristics and descriptors of a device.",
        "complexTypes": [
          "BleService"
        ],
        "slug": "getservices"
      },
      {
        "name": "discoverServices",
        "signature": "(deviceId: string) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          }
        ],
        "docs": "Discover services, characteristics and descriptors of a device.\r\nYou only need this method if your peripheral device changes its services and characteristics at runtime.\r\nIf the discovery was successful, the remote services can be retrieved using the getServices function.\r\nNot available on **web**.",
        "complexTypes": [],
        "slug": "discoverservices"
      },
      {
        "name": "getMtu",
        "signature": "(deviceId: string) => Promise<number>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          }
        ],
        "returns": "Promise<number>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          }
        ],
        "docs": "Get the MTU of a connected device. Note that the maximum write value length is 3 bytes less than the MTU.\r\nNot available on **web**.",
        "complexTypes": [],
        "slug": "getmtu"
      },
      {
        "name": "requestConnectionPriority",
        "signature": "(deviceId: string, connectionPriority: ConnectionPriority) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "connectionPriority",
            "docs": "Request a specific connection priority. See [ConnectionPriority](#connectionpriority)",
            "type": "ConnectionPriority"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "connectionPriority Request a specific connection priority. See [ConnectionPriority](#connectionpriority)"
          }
        ],
        "docs": "Request a connection parameter update.\r\nOnly available on **Android**. https://developer.android.com/reference/android/bluetooth/BluetoothGatt#requestConnectionPriority(int)",
        "complexTypes": [
          "ConnectionPriority"
        ],
        "slug": "requestconnectionpriority"
      },
      {
        "name": "readRssi",
        "signature": "(deviceId: string) => Promise<number>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          }
        ],
        "returns": "Promise<number>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          }
        ],
        "docs": "Read the RSSI value of a connected device.\r\nNot available on **web**.",
        "complexTypes": [],
        "slug": "readrssi"
      },
      {
        "name": "read",
        "signature": "(deviceId: string, service: string, characteristic: string, options?: TimeoutOptions | undefined) => Promise<DataView>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "service",
            "docs": "UUID of the service (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "characteristic",
            "docs": "UUID of the characteristic (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "options",
            "docs": "Options for plugin call",
            "type": "TimeoutOptions | undefined"
          }
        ],
        "returns": "Promise<DataView>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "service UUID of the service (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "characteristic UUID of the characteristic (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "options Options for plugin call"
          }
        ],
        "docs": "Read the value of a characteristic. For an example, see [usage](#usage).",
        "complexTypes": [
          "DataView",
          "TimeoutOptions"
        ],
        "slug": "read"
      },
      {
        "name": "write",
        "signature": "(deviceId: string, service: string, characteristic: string, value: DataView, options?: TimeoutOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "service",
            "docs": "UUID of the service (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "characteristic",
            "docs": "UUID of the characteristic (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "value",
            "docs": "The value to write as a DataView. To create a DataView from an array of numbers, there is a helper function, e.g. numbersToDataView([1, 0])",
            "type": "DataView"
          },
          {
            "name": "options",
            "docs": "Options for plugin call",
            "type": "TimeoutOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "service UUID of the service (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "characteristic UUID of the characteristic (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "value The value to write as a DataView. To create a DataView from an array of numbers, there is a helper function, e.g. numbersToDataView([1, 0])"
          },
          {
            "name": "param",
            "text": "options Options for plugin call"
          }
        ],
        "docs": "Write a value to a characteristic. For an example, see [usage](#usage).",
        "complexTypes": [
          "DataView",
          "TimeoutOptions"
        ],
        "slug": "write"
      },
      {
        "name": "writeWithoutResponse",
        "signature": "(deviceId: string, service: string, characteristic: string, value: DataView, options?: TimeoutOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "service",
            "docs": "UUID of the service (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "characteristic",
            "docs": "UUID of the characteristic (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "value",
            "docs": "The value to write as a DataView. To create a DataView from an array of numbers, there is a helper function, e.g. numbersToDataView([1, 0])",
            "type": "DataView"
          },
          {
            "name": "options",
            "docs": "Options for plugin call",
            "type": "TimeoutOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "service UUID of the service (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "characteristic UUID of the characteristic (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "value The value to write as a DataView. To create a DataView from an array of numbers, there is a helper function, e.g. numbersToDataView([1, 0])"
          },
          {
            "name": "param",
            "text": "options Options for plugin call"
          }
        ],
        "docs": "Write a value to a characteristic without waiting for a response.",
        "complexTypes": [
          "DataView",
          "TimeoutOptions"
        ],
        "slug": "writewithoutresponse"
      },
      {
        "name": "readDescriptor",
        "signature": "(deviceId: string, service: string, characteristic: string, descriptor: string, options?: TimeoutOptions | undefined) => Promise<DataView>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "service",
            "docs": "UUID of the service (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "characteristic",
            "docs": "UUID of the characteristic (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "descriptor",
            "docs": "UUID of the descriptor (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "options",
            "docs": "Options for plugin call",
            "type": "TimeoutOptions | undefined"
          }
        ],
        "returns": "Promise<DataView>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "service UUID of the service (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "characteristic UUID of the characteristic (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "descriptor UUID of the descriptor (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "options Options for plugin call"
          }
        ],
        "docs": "Read the value of a descriptor.",
        "complexTypes": [
          "DataView",
          "TimeoutOptions"
        ],
        "slug": "readdescriptor"
      },
      {
        "name": "writeDescriptor",
        "signature": "(deviceId: string, service: string, characteristic: string, descriptor: string, value: DataView, options?: TimeoutOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "service",
            "docs": "UUID of the service (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "characteristic",
            "docs": "UUID of the characteristic (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "descriptor",
            "docs": "UUID of the descriptor (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "value",
            "docs": "The value to write as a DataView. To create a DataView from an array of numbers, there is a helper function, e.g. numbersToDataView([1, 0])",
            "type": "DataView"
          },
          {
            "name": "options",
            "docs": "Options for plugin call",
            "type": "TimeoutOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "service UUID of the service (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "characteristic UUID of the characteristic (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "descriptor UUID of the descriptor (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "value The value to write as a DataView. To create a DataView from an array of numbers, there is a helper function, e.g. numbersToDataView([1, 0])"
          },
          {
            "name": "param",
            "text": "options Options for plugin call"
          }
        ],
        "docs": "Write a value to a descriptor.",
        "complexTypes": [
          "DataView",
          "TimeoutOptions"
        ],
        "slug": "writedescriptor"
      },
      {
        "name": "startNotifications",
        "signature": "(deviceId: string, service: string, characteristic: string, callback: (value: DataView) => void, options?: TimeoutOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "service",
            "docs": "UUID of the service (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "characteristic",
            "docs": "UUID of the characteristic (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "callback",
            "docs": "Callback function to use when the value of the characteristic changes",
            "type": "(value: DataView) => void"
          },
          {
            "name": "options",
            "docs": "Options for plugin call. Timeout not supported on **web**.",
            "type": "TimeoutOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "service UUID of the service (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "characteristic UUID of the characteristic (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "callback Callback function to use when the value of the characteristic changes"
          },
          {
            "name": "param",
            "text": "options Options for plugin call. Timeout not supported on **web**."
          }
        ],
        "docs": "Start listening to changes of the value of a characteristic.\r\nNote that you should only start the notifications once per characteristic in your app and share the data and\r\nnot call `startNotifications` in every component that needs the data.\r\nFor an example, see [usage](#usage).",
        "complexTypes": [
          "DataView",
          "TimeoutOptions"
        ],
        "slug": "startnotifications"
      },
      {
        "name": "stopNotifications",
        "signature": "(deviceId: string, service: string, characteristic: string) => Promise<void>",
        "parameters": [
          {
            "name": "deviceId",
            "docs": "The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))",
            "type": "string"
          },
          {
            "name": "service",
            "docs": "UUID of the service (see [UUID format](#uuid-format))",
            "type": "string"
          },
          {
            "name": "characteristic",
            "docs": "UUID of the characteristic (see [UUID format](#uuid-format))",
            "type": "string"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "deviceId The ID of the device to use (obtained from [requestDevice](#requestDevice) or [requestLEScan](#requestLEScan))"
          },
          {
            "name": "param",
            "text": "service UUID of the service (see [UUID format](#uuid-format))"
          },
          {
            "name": "param",
            "text": "characteristic UUID of the characteristic (see [UUID format](#uuid-format))"
          }
        ],
        "docs": "Stop listening to the changes of the value of a characteristic. For an example, see [usage](#usage).",
        "complexTypes": [],
        "slug": "stopnotifications"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "InitializeOptions",
      "slug": "initializeoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "androidNeverForLocation",
          "tags": [
            {
              "text": "false",
              "name": "default"
            }
          ],
          "docs": "If your app doesn't use Bluetooth scan results to derive physical\r\nlocation information, you can strongly assert that your app\r\ndoesn't derive physical location. (Android only)\r\nRequires adding 'neverForLocation' to AndroidManifest.xml\r\nhttps://developer.android.com/guide/topics/connectivity/bluetooth/permissions#assert-never-for-location",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "DisplayStrings",
      "slug": "displaystrings",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "scanning",
          "tags": [
            {
              "text": "0.0.1",
              "name": "since"
            },
            {
              "text": "\"Scanning...\"",
              "name": "default"
            },
            {
              "text": "\"Am Scannen...\"",
              "name": "example"
            }
          ],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "cancel",
          "tags": [
            {
              "text": "0.0.1",
              "name": "since"
            },
            {
              "text": "\"Cancel\"",
              "name": "default"
            },
            {
              "text": "\"Abbrechen\"",
              "name": "example"
            }
          ],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "availableDevices",
          "tags": [
            {
              "text": "0.0.1",
              "name": "since"
            },
            {
              "text": "\"Available devices\"",
              "name": "default"
            },
            {
              "text": "\"Verfügbare Geräte\"",
              "name": "example"
            }
          ],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "noDeviceFound",
          "tags": [
            {
              "text": "0.0.1",
              "name": "since"
            },
            {
              "text": "\"No device found\"",
              "name": "default"
            },
            {
              "text": "\"Kein Gerät gefunden\"",
              "name": "example"
            }
          ],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "BleDevice",
      "slug": "bledevice",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "deviceId",
          "tags": [],
          "docs": "ID of the device, which will be needed for further calls.\r\nOn **Android** this is the BLE MAC address.\r\nOn **iOS** and **web** it is an identifier.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "Name of the peripheral device.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "uuids",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string[] | undefined"
        }
      ]
    },
    {
      "name": "RequestBleDeviceOptions",
      "slug": "requestbledeviceoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "services",
          "tags": [],
          "docs": "Filter devices by service UUIDs.\r\nUUIDs have to be specified as 128 bit UUID strings,\r\ne.g. ['0000180d-0000-1000-8000-00805f9b34fb']\r\nThere is a helper function to convert numbers to UUIDs.\r\ne.g. [numberToUUID(0x180f)]. (see [UUID format](#uuid-format))",
          "complexTypes": [],
          "type": "string[] | undefined"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "Filter devices by name",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "namePrefix",
          "tags": [],
          "docs": "Filter devices by name prefix",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "optionalServices",
          "tags": [],
          "docs": "For **web**, all services that will be used have to be listed under services or optionalServices,\r\ne.g. [numberToUUID(0x180f)] (see [UUID format](#uuid-format))",
          "complexTypes": [],
          "type": "string[] | undefined"
        },
        {
          "name": "allowDuplicates",
          "tags": [],
          "docs": "Normally scans will discard the second and subsequent advertisements from a single device.\r\nIf you need to receive them, set allowDuplicates to true (only applicable in `requestLEScan`).\r\n(default: false)",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "scanMode",
          "tags": [],
          "docs": "Android scan mode (default: ScanMode.SCAN_MODE_BALANCED)",
          "complexTypes": [
            "ScanMode"
          ],
          "type": "ScanMode"
        },
        {
          "name": "manufacturerData",
          "tags": [],
          "docs": "Allow scanning for devices with a specific manufacturer data\r\nhttps://developer.mozilla.org/en-US/docs/Web/API/Bluetooth/requestDevice#manufacturerdata",
          "complexTypes": [
            "ManufacturerDataFilter"
          ],
          "type": "ManufacturerDataFilter[] | undefined"
        },
        {
          "name": "displayMode",
          "tags": [
            {
              "text": "\"alert\"",
              "name": "default"
            }
          ],
          "docs": "Display mode for the device list in `requestDevice` (**iOS** only).\r\n- `\"alert\"`: Classic alert dialog (default)\r\n- `\"list\"`: Scrollable list view",
          "complexTypes": [],
          "type": "'alert' | 'list' | undefined"
        },
        {
          "name": "serviceData",
          "tags": [],
          "docs": "Allow scanning for devices with specific service data.\r\nService data is data associated with a specific service UUID in the advertisement packet.\r\nUseful for protocols like OpenDroneID, EddyStone, and Open Beacon.",
          "complexTypes": [
            "ServiceDataFilter"
          ],
          "type": "ServiceDataFilter[] | undefined"
        }
      ]
    },
    {
      "name": "ManufacturerDataFilter",
      "slug": "manufacturerdatafilter",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "companyIdentifier",
          "tags": [],
          "docs": "Company ID (sometimes called the manufacturer ID) to search for in the manufacturer data field.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "dataPrefix",
          "tags": [],
          "docs": "Prefix to match in the manufacturer data field.\r\nOn **Android** this field is mandatory.\r\nandroid, ios: DataView\r\nweb: Uint8Array",
          "complexTypes": [
            "DataView",
            "Uint8Array"
          ],
          "type": "DataView | Uint8Array | undefined"
        },
        {
          "name": "mask",
          "tags": [],
          "docs": "Set filter on partial manufacture data. For any bit in the mask, set it the 1 if it needs to match the one in manufacturer data, otherwise set it to 0.\r\nThe `mask` must have the same length of dataPrefix.\r\nandroid, ios: DataView\r\nweb: Uint8Array",
          "complexTypes": [
            "DataView",
            "Uint8Array"
          ],
          "type": "DataView | Uint8Array | undefined"
        }
      ]
    },
    {
      "name": "DataView",
      "slug": "dataview",
      "docs": "",
      "tags": [],
      "methods": [
        {
          "name": "getFloat32",
          "signature": "(byteOffset: number, littleEndian?: boolean | undefined) => number",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be retrieved.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "",
              "type": "boolean | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be retrieved."
            }
          ],
          "docs": "Gets the Float32 value at the specified byte offset from the start of the view. There is\r\nno alignment constraint; multi-byte values may be fetched from any offset.",
          "complexTypes": [],
          "slug": "getfloat32"
        },
        {
          "name": "getFloat64",
          "signature": "(byteOffset: number, littleEndian?: boolean | undefined) => number",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be retrieved.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "",
              "type": "boolean | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be retrieved."
            }
          ],
          "docs": "Gets the Float64 value at the specified byte offset from the start of the view. There is\r\nno alignment constraint; multi-byte values may be fetched from any offset.",
          "complexTypes": [],
          "slug": "getfloat64"
        },
        {
          "name": "getInt8",
          "signature": "(byteOffset: number) => number",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be retrieved.",
              "type": "number"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be retrieved."
            }
          ],
          "docs": "Gets the Int8 value at the specified byte offset from the start of the view. There is\r\nno alignment constraint; multi-byte values may be fetched from any offset.",
          "complexTypes": [],
          "slug": "getint8"
        },
        {
          "name": "getInt16",
          "signature": "(byteOffset: number, littleEndian?: boolean | undefined) => number",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be retrieved.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "",
              "type": "boolean | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be retrieved."
            }
          ],
          "docs": "Gets the Int16 value at the specified byte offset from the start of the view. There is\r\nno alignment constraint; multi-byte values may be fetched from any offset.",
          "complexTypes": [],
          "slug": "getint16"
        },
        {
          "name": "getInt32",
          "signature": "(byteOffset: number, littleEndian?: boolean | undefined) => number",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be retrieved.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "",
              "type": "boolean | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be retrieved."
            }
          ],
          "docs": "Gets the Int32 value at the specified byte offset from the start of the view. There is\r\nno alignment constraint; multi-byte values may be fetched from any offset.",
          "complexTypes": [],
          "slug": "getint32"
        },
        {
          "name": "getUint8",
          "signature": "(byteOffset: number) => number",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be retrieved.",
              "type": "number"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be retrieved."
            }
          ],
          "docs": "Gets the Uint8 value at the specified byte offset from the start of the view. There is\r\nno alignment constraint; multi-byte values may be fetched from any offset.",
          "complexTypes": [],
          "slug": "getuint8"
        },
        {
          "name": "getUint16",
          "signature": "(byteOffset: number, littleEndian?: boolean | undefined) => number",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be retrieved.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "",
              "type": "boolean | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be retrieved."
            }
          ],
          "docs": "Gets the Uint16 value at the specified byte offset from the start of the view. There is\r\nno alignment constraint; multi-byte values may be fetched from any offset.",
          "complexTypes": [],
          "slug": "getuint16"
        },
        {
          "name": "getUint32",
          "signature": "(byteOffset: number, littleEndian?: boolean | undefined) => number",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be retrieved.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "",
              "type": "boolean | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be retrieved."
            }
          ],
          "docs": "Gets the Uint32 value at the specified byte offset from the start of the view. There is\r\nno alignment constraint; multi-byte values may be fetched from any offset.",
          "complexTypes": [],
          "slug": "getuint32"
        },
        {
          "name": "setFloat32",
          "signature": "(byteOffset: number, value: number, littleEndian?: boolean | undefined) => void",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be set.",
              "type": "number"
            },
            {
              "name": "value",
              "docs": "The value to set.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written.",
              "type": "boolean | undefined"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be set."
            },
            {
              "name": "param",
              "text": "value The value to set."
            },
            {
              "name": "param",
              "text": "littleEndian If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written."
            }
          ],
          "docs": "Stores an Float32 value at the specified byte offset from the start of the view.",
          "complexTypes": [],
          "slug": "setfloat32"
        },
        {
          "name": "setFloat64",
          "signature": "(byteOffset: number, value: number, littleEndian?: boolean | undefined) => void",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be set.",
              "type": "number"
            },
            {
              "name": "value",
              "docs": "The value to set.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written.",
              "type": "boolean | undefined"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be set."
            },
            {
              "name": "param",
              "text": "value The value to set."
            },
            {
              "name": "param",
              "text": "littleEndian If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written."
            }
          ],
          "docs": "Stores an Float64 value at the specified byte offset from the start of the view.",
          "complexTypes": [],
          "slug": "setfloat64"
        },
        {
          "name": "setInt8",
          "signature": "(byteOffset: number, value: number) => void",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be set.",
              "type": "number"
            },
            {
              "name": "value",
              "docs": "The value to set.",
              "type": "number"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be set."
            },
            {
              "name": "param",
              "text": "value The value to set."
            }
          ],
          "docs": "Stores an Int8 value at the specified byte offset from the start of the view.",
          "complexTypes": [],
          "slug": "setint8"
        },
        {
          "name": "setInt16",
          "signature": "(byteOffset: number, value: number, littleEndian?: boolean | undefined) => void",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be set.",
              "type": "number"
            },
            {
              "name": "value",
              "docs": "The value to set.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written.",
              "type": "boolean | undefined"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be set."
            },
            {
              "name": "param",
              "text": "value The value to set."
            },
            {
              "name": "param",
              "text": "littleEndian If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written."
            }
          ],
          "docs": "Stores an Int16 value at the specified byte offset from the start of the view.",
          "complexTypes": [],
          "slug": "setint16"
        },
        {
          "name": "setInt32",
          "signature": "(byteOffset: number, value: number, littleEndian?: boolean | undefined) => void",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be set.",
              "type": "number"
            },
            {
              "name": "value",
              "docs": "The value to set.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written.",
              "type": "boolean | undefined"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be set."
            },
            {
              "name": "param",
              "text": "value The value to set."
            },
            {
              "name": "param",
              "text": "littleEndian If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written."
            }
          ],
          "docs": "Stores an Int32 value at the specified byte offset from the start of the view.",
          "complexTypes": [],
          "slug": "setint32"
        },
        {
          "name": "setUint8",
          "signature": "(byteOffset: number, value: number) => void",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be set.",
              "type": "number"
            },
            {
              "name": "value",
              "docs": "The value to set.",
              "type": "number"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be set."
            },
            {
              "name": "param",
              "text": "value The value to set."
            }
          ],
          "docs": "Stores an Uint8 value at the specified byte offset from the start of the view.",
          "complexTypes": [],
          "slug": "setuint8"
        },
        {
          "name": "setUint16",
          "signature": "(byteOffset: number, value: number, littleEndian?: boolean | undefined) => void",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be set.",
              "type": "number"
            },
            {
              "name": "value",
              "docs": "The value to set.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written.",
              "type": "boolean | undefined"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be set."
            },
            {
              "name": "param",
              "text": "value The value to set."
            },
            {
              "name": "param",
              "text": "littleEndian If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written."
            }
          ],
          "docs": "Stores an Uint16 value at the specified byte offset from the start of the view.",
          "complexTypes": [],
          "slug": "setuint16"
        },
        {
          "name": "setUint32",
          "signature": "(byteOffset: number, value: number, littleEndian?: boolean | undefined) => void",
          "parameters": [
            {
              "name": "byteOffset",
              "docs": "The place in the buffer at which the value should be set.",
              "type": "number"
            },
            {
              "name": "value",
              "docs": "The value to set.",
              "type": "number"
            },
            {
              "name": "littleEndian",
              "docs": "If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written.",
              "type": "boolean | undefined"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "byteOffset The place in the buffer at which the value should be set."
            },
            {
              "name": "param",
              "text": "value The value to set."
            },
            {
              "name": "param",
              "text": "littleEndian If false or undefined, a big-endian value should be written,\r\notherwise a little-endian value should be written."
            }
          ],
          "docs": "Stores an Uint32 value at the specified byte offset from the start of the view.",
          "complexTypes": [],
          "slug": "setuint32"
        }
      ],
      "properties": [
        {
          "name": "buffer",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ArrayBuffer"
          ],
          "type": "ArrayBuffer"
        },
        {
          "name": "byteLength",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "byteOffset",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "ArrayBuffer",
      "slug": "arraybuffer",
      "docs": "Represents a raw buffer of binary data, which is used to store data for the\r\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\r\nbut can be passed to a typed array or DataView Object to interpret the raw\r\nbuffer as needed.",
      "tags": [],
      "methods": [
        {
          "name": "slice",
          "signature": "(begin: number, end?: number | undefined) => ArrayBuffer",
          "parameters": [
            {
              "name": "begin",
              "docs": "",
              "type": "number"
            },
            {
              "name": "end",
              "docs": "",
              "type": "number | undefined"
            }
          ],
          "returns": "ArrayBuffer",
          "tags": [],
          "docs": "Returns a section of an ArrayBuffer.",
          "complexTypes": [
            "ArrayBuffer"
          ],
          "slug": "slice"
        }
      ],
      "properties": [
        {
          "name": "byteLength",
          "tags": [],
          "docs": "Read-only. The length of the ArrayBuffer (in bytes).",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "Uint8Array",
      "slug": "uint8array",
      "docs": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\r\nrequested number of bytes could not be allocated an exception is raised.",
      "tags": [],
      "methods": [
        {
          "name": "copyWithin",
          "signature": "(target: number, start: number, end?: number | undefined) => this",
          "parameters": [
            {
              "name": "target",
              "docs": "If target is negative, it is treated as length+target where length is the\r\nlength of the array.",
              "type": "number"
            },
            {
              "name": "start",
              "docs": "If start is negative, it is treated as length+start. If end is negative, it\r\nis treated as length+end.",
              "type": "number"
            },
            {
              "name": "end",
              "docs": "If not specified, length of the this object is used as its default value.",
              "type": "number | undefined"
            }
          ],
          "returns": "this",
          "tags": [
            {
              "name": "param",
              "text": "target If target is negative, it is treated as length+target where length is the\r\nlength of the array."
            },
            {
              "name": "param",
              "text": "start If start is negative, it is treated as length+start. If end is negative, it\r\nis treated as length+end."
            },
            {
              "name": "param",
              "text": "end If not specified, length of the this object is used as its default value."
            }
          ],
          "docs": "Returns the this object after copying a section of the array identified by start and end\r\nto the same array starting at position target",
          "complexTypes": [],
          "slug": "copywithin"
        },
        {
          "name": "every",
          "signature": "(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean",
          "parameters": [
            {
              "name": "predicate",
              "docs": "A function that accepts up to three arguments. The every method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value false, or until the end of the array.",
              "type": "(value: number, index: number, array: Uint8Array) => unknown"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "predicate A function that accepts up to three arguments. The every method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value false, or until the end of the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Determines whether all the members of an array satisfy the specified test.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "every"
        },
        {
          "name": "fill",
          "signature": "(value: number, start?: number | undefined, end?: number | undefined) => this",
          "parameters": [
            {
              "name": "value",
              "docs": "value to fill array section with",
              "type": "number"
            },
            {
              "name": "start",
              "docs": "index to start filling the array at. If start is negative, it is treated as\r\nlength+start where length is the length of the array.",
              "type": "number | undefined"
            },
            {
              "name": "end",
              "docs": "index to stop filling the array at. If end is negative, it is treated as\r\nlength+end.",
              "type": "number | undefined"
            }
          ],
          "returns": "this",
          "tags": [
            {
              "name": "param",
              "text": "value value to fill array section with"
            },
            {
              "name": "param",
              "text": "start index to start filling the array at. If start is negative, it is treated as\r\nlength+start where length is the length of the array."
            },
            {
              "name": "param",
              "text": "end index to stop filling the array at. If end is negative, it is treated as\r\nlength+end."
            }
          ],
          "docs": "Returns the this object after filling the section identified by start and end with value",
          "complexTypes": [],
          "slug": "fill"
        },
        {
          "name": "filter",
          "signature": "(predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array",
          "parameters": [
            {
              "name": "predicate",
              "docs": "A function that accepts up to three arguments. The filter method calls\r\nthe predicate function one time for each element in the array.",
              "type": "(value: number, index: number, array: Uint8Array) => any"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "Uint8Array",
          "tags": [
            {
              "name": "param",
              "text": "predicate A function that accepts up to three arguments. The filter method calls\r\nthe predicate function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Returns the elements of an array that meet the condition specified in a callback function.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "filter"
        },
        {
          "name": "find",
          "signature": "(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined",
          "parameters": [
            {
              "name": "predicate",
              "docs": "find calls predicate once for each element of the array, in ascending\r\norder, until it finds one where predicate returns true. If such an element is found, find\r\nimmediately returns that element value. Otherwise, find returns undefined.",
              "type": "(value: number, index: number, obj: Uint8Array) => boolean"
            },
            {
              "name": "thisArg",
              "docs": "If provided, it will be used as the this value for each invocation of\r\npredicate. If it is not provided, undefined is used instead.",
              "type": "any"
            }
          ],
          "returns": "number | undefined",
          "tags": [
            {
              "name": "param",
              "text": "predicate find calls predicate once for each element of the array, in ascending\r\norder, until it finds one where predicate returns true. If such an element is found, find\r\nimmediately returns that element value. Otherwise, find returns undefined."
            },
            {
              "name": "param",
              "text": "thisArg If provided, it will be used as the this value for each invocation of\r\npredicate. If it is not provided, undefined is used instead."
            }
          ],
          "docs": "Returns the value of the first element in the array where predicate is true, and undefined\r\notherwise.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "find"
        },
        {
          "name": "findIndex",
          "signature": "(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number",
          "parameters": [
            {
              "name": "predicate",
              "docs": "find calls predicate once for each element of the array, in ascending\r\norder, until it finds one where predicate returns true. If such an element is found,\r\nfindIndex immediately returns that element index. Otherwise, findIndex returns -1.",
              "type": "(value: number, index: number, obj: Uint8Array) => boolean"
            },
            {
              "name": "thisArg",
              "docs": "If provided, it will be used as the this value for each invocation of\r\npredicate. If it is not provided, undefined is used instead.",
              "type": "any"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "predicate find calls predicate once for each element of the array, in ascending\r\norder, until it finds one where predicate returns true. If such an element is found,\r\nfindIndex immediately returns that element index. Otherwise, findIndex returns -1."
            },
            {
              "name": "param",
              "text": "thisArg If provided, it will be used as the this value for each invocation of\r\npredicate. If it is not provided, undefined is used instead."
            }
          ],
          "docs": "Returns the index of the first element in the array where predicate is true, and -1\r\notherwise.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "findindex"
        },
        {
          "name": "forEach",
          "signature": "(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to three arguments. forEach calls the\r\ncallbackfn function one time for each element in the array.",
              "type": "(value: number, index: number, array: Uint8Array) => void"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the callbackfn function.\r\nIf thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to three arguments. forEach calls the\r\ncallbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the callbackfn function.\r\nIf thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Performs the specified action for each element in an array.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "foreach"
        },
        {
          "name": "indexOf",
          "signature": "(searchElement: number, fromIndex?: number | undefined) => number",
          "parameters": [
            {
              "name": "searchElement",
              "docs": "The value to locate in the array.",
              "type": "number"
            },
            {
              "name": "fromIndex",
              "docs": "The array index at which to begin the search. If fromIndex is omitted, the\r\nsearch starts at index 0.",
              "type": "number | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "searchElement The value to locate in the array."
            },
            {
              "name": "param",
              "text": "fromIndex The array index at which to begin the search. If fromIndex is omitted, the\r\nsearch starts at index 0."
            }
          ],
          "docs": "Returns the index of the first occurrence of a value in an array.",
          "complexTypes": [],
          "slug": "indexof"
        },
        {
          "name": "join",
          "signature": "(separator?: string | undefined) => string",
          "parameters": [
            {
              "name": "separator",
              "docs": "A string used to separate one element of an array from the next in the\r\nresulting String. If omitted, the array elements are separated with a comma.",
              "type": "string | undefined"
            }
          ],
          "returns": "string",
          "tags": [
            {
              "name": "param",
              "text": "separator A string used to separate one element of an array from the next in the\r\nresulting String. If omitted, the array elements are separated with a comma."
            }
          ],
          "docs": "Adds all the elements of an array separated by the specified separator string.",
          "complexTypes": [],
          "slug": "join"
        },
        {
          "name": "lastIndexOf",
          "signature": "(searchElement: number, fromIndex?: number | undefined) => number",
          "parameters": [
            {
              "name": "searchElement",
              "docs": "The value to locate in the array.",
              "type": "number"
            },
            {
              "name": "fromIndex",
              "docs": "The array index at which to begin the search. If fromIndex is omitted, the\r\nsearch starts at index 0.",
              "type": "number | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "searchElement The value to locate in the array."
            },
            {
              "name": "param",
              "text": "fromIndex The array index at which to begin the search. If fromIndex is omitted, the\r\nsearch starts at index 0."
            }
          ],
          "docs": "Returns the index of the last occurrence of a value in an array.",
          "complexTypes": [],
          "slug": "lastindexof"
        },
        {
          "name": "map",
          "signature": "(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to three arguments. The map method calls the\r\ncallbackfn function one time for each element in the array.",
              "type": "(value: number, index: number, array: Uint8Array) => number"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the callbackfn function.\r\nIf thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "Uint8Array",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to three arguments. The map method calls the\r\ncallbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the callbackfn function.\r\nIf thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Calls a defined callback function on each element of an array, and returns an array that\r\ncontains the results.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "map"
        },
        {
          "name": "reduce",
          "signature": "(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number) => number",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to four arguments. The reduce method calls the\r\ncallbackfn function one time for each element in the array.",
              "type": "(previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to four arguments. The reduce method calls the\r\ncallbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "initialValue If initialValue is specified, it is used as the initial value to start\r\nthe accumulation. The first call to the callbackfn function provides this value as an argument\r\ninstead of an array value."
            }
          ],
          "docs": "Calls the specified callback function for all the elements in an array. The return value of\r\nthe callback function is the accumulated result, and is provided as an argument in the next\r\ncall to the callback function.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "reduce"
        },
        {
          "name": "reduce",
          "signature": "(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number) => number",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "",
              "type": "(previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number"
            },
            {
              "name": "initialValue",
              "docs": "",
              "type": "number"
            }
          ],
          "returns": "number",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "reduce"
        },
        {
          "name": "reduce",
          "signature": "<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U) => U",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to four arguments. The reduce method calls the\r\ncallbackfn function one time for each element in the array.",
              "type": "(previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U"
            },
            {
              "name": "initialValue",
              "docs": "If initialValue is specified, it is used as the initial value to start\r\nthe accumulation. The first call to the callbackfn function provides this value as an argument\r\ninstead of an array value.",
              "type": "U"
            }
          ],
          "returns": "U",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to four arguments. The reduce method calls the\r\ncallbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "initialValue If initialValue is specified, it is used as the initial value to start\r\nthe accumulation. The first call to the callbackfn function provides this value as an argument\r\ninstead of an array value."
            }
          ],
          "docs": "Calls the specified callback function for all the elements in an array. The return value of\r\nthe callback function is the accumulated result, and is provided as an argument in the next\r\ncall to the callback function.",
          "complexTypes": [
            "U",
            "Uint8Array"
          ],
          "slug": "reduce"
        },
        {
          "name": "reduceRight",
          "signature": "(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number) => number",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to four arguments. The reduceRight method calls\r\nthe callbackfn function one time for each element in the array.",
              "type": "(previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to four arguments. The reduceRight method calls\r\nthe callbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "initialValue If initialValue is specified, it is used as the initial value to start\r\nthe accumulation. The first call to the callbackfn function provides this value as an\r\nargument instead of an array value."
            }
          ],
          "docs": "Calls the specified callback function for all the elements in an array, in descending order.\r\nThe return value of the callback function is the accumulated result, and is provided as an\r\nargument in the next call to the callback function.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "reduceright"
        },
        {
          "name": "reduceRight",
          "signature": "(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number) => number",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "",
              "type": "(previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number"
            },
            {
              "name": "initialValue",
              "docs": "",
              "type": "number"
            }
          ],
          "returns": "number",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "reduceright"
        },
        {
          "name": "reduceRight",
          "signature": "<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U) => U",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to four arguments. The reduceRight method calls\r\nthe callbackfn function one time for each element in the array.",
              "type": "(previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U"
            },
            {
              "name": "initialValue",
              "docs": "If initialValue is specified, it is used as the initial value to start\r\nthe accumulation. The first call to the callbackfn function provides this value as an argument\r\ninstead of an array value.",
              "type": "U"
            }
          ],
          "returns": "U",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to four arguments. The reduceRight method calls\r\nthe callbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "initialValue If initialValue is specified, it is used as the initial value to start\r\nthe accumulation. The first call to the callbackfn function provides this value as an argument\r\ninstead of an array value."
            }
          ],
          "docs": "Calls the specified callback function for all the elements in an array, in descending order.\r\nThe return value of the callback function is the accumulated result, and is provided as an\r\nargument in the next call to the callback function.",
          "complexTypes": [
            "U",
            "Uint8Array"
          ],
          "slug": "reduceright"
        },
        {
          "name": "reverse",
          "signature": "() => Uint8Array",
          "parameters": [],
          "returns": "Uint8Array",
          "tags": [],
          "docs": "Reverses the elements in an Array.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "reverse"
        },
        {
          "name": "set",
          "signature": "(array: ArrayLike<number>, offset?: number | undefined) => void",
          "parameters": [
            {
              "name": "array",
              "docs": "A typed or untyped array of values to set.",
              "type": "ArrayLike<number>"
            },
            {
              "name": "offset",
              "docs": "The index in the current array at which the values are to be written.",
              "type": "number | undefined"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "array A typed or untyped array of values to set."
            },
            {
              "name": "param",
              "text": "offset The index in the current array at which the values are to be written."
            }
          ],
          "docs": "Sets a value or an array of values.",
          "complexTypes": [
            "ArrayLike"
          ],
          "slug": "set"
        },
        {
          "name": "slice",
          "signature": "(start?: number | undefined, end?: number | undefined) => Uint8Array",
          "parameters": [
            {
              "name": "start",
              "docs": "The beginning of the specified portion of the array.",
              "type": "number | undefined"
            },
            {
              "name": "end",
              "docs": "The end of the specified portion of the array. This is exclusive of the element at the index 'end'.",
              "type": "number | undefined"
            }
          ],
          "returns": "Uint8Array",
          "tags": [
            {
              "name": "param",
              "text": "start The beginning of the specified portion of the array."
            },
            {
              "name": "param",
              "text": "end The end of the specified portion of the array. This is exclusive of the element at the index 'end'."
            }
          ],
          "docs": "Returns a section of an array.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "slice"
        },
        {
          "name": "some",
          "signature": "(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean",
          "parameters": [
            {
              "name": "predicate",
              "docs": "A function that accepts up to three arguments. The some method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value true, or until the end of the array.",
              "type": "(value: number, index: number, array: Uint8Array) => unknown"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "predicate A function that accepts up to three arguments. The some method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value true, or until the end of the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Determines whether the specified callback function returns true for any element of an array.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "some"
        },
        {
          "name": "sort",
          "signature": "(compareFn?: ((a: number, b: number) => number) | undefined) => this",
          "parameters": [
            {
              "name": "compareFn",
              "docs": "Function used to determine the order of the elements. It is expected to return\r\na negative value if first argument is less than second argument, zero if they're equal and a positive\r\nvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r\n```ts\r\n[11,2,22,1].sort((a, b) => a - b)\r\n```",
              "type": "((a: number, b: number) => number) | undefined"
            }
          ],
          "returns": "this",
          "tags": [
            {
              "name": "param",
              "text": "compareFn Function used to determine the order of the elements. It is expected to return\r\na negative value if first argument is less than second argument, zero if they're equal and a positive\r\nvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r\n```ts\r\n[11,2,22,1].sort((a, b) => a - b)\r\n```"
            }
          ],
          "docs": "Sorts an array.",
          "complexTypes": [],
          "slug": "sort"
        },
        {
          "name": "subarray",
          "signature": "(begin?: number | undefined, end?: number | undefined) => Uint8Array",
          "parameters": [
            {
              "name": "begin",
              "docs": "The index of the beginning of the array.",
              "type": "number | undefined"
            },
            {
              "name": "end",
              "docs": "The index of the end of the array.",
              "type": "number | undefined"
            }
          ],
          "returns": "Uint8Array",
          "tags": [
            {
              "name": "param",
              "text": "begin The index of the beginning of the array."
            },
            {
              "name": "param",
              "text": "end The index of the end of the array."
            }
          ],
          "docs": "Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements\r\nat begin, inclusive, up to end, exclusive.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "subarray"
        },
        {
          "name": "toLocaleString",
          "signature": "() => string",
          "parameters": [],
          "returns": "string",
          "tags": [],
          "docs": "Converts a number to a string by using the current locale.",
          "complexTypes": [],
          "slug": "tolocalestring"
        },
        {
          "name": "toString",
          "signature": "() => string",
          "parameters": [],
          "returns": "string",
          "tags": [],
          "docs": "Returns a string representation of an array.",
          "complexTypes": [],
          "slug": "tostring"
        },
        {
          "name": "valueOf",
          "signature": "() => Uint8Array",
          "parameters": [],
          "returns": "Uint8Array",
          "tags": [],
          "docs": "Returns the primitive value of the specified object.",
          "complexTypes": [
            "Uint8Array"
          ],
          "slug": "valueof"
        }
      ],
      "properties": [
        {
          "name": "BYTES_PER_ELEMENT",
          "tags": [],
          "docs": "The size in bytes of each element in the array.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "buffer",
          "tags": [],
          "docs": "The ArrayBuffer instance referenced by the array.",
          "complexTypes": [
            "ArrayBufferLike"
          ],
          "type": "ArrayBufferLike"
        },
        {
          "name": "byteLength",
          "tags": [],
          "docs": "The length in bytes of the array.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "byteOffset",
          "tags": [],
          "docs": "The offset in bytes of the array.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "length",
          "tags": [],
          "docs": "The length of the array.",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "ArrayLike",
      "slug": "arraylike",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "length",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "ArrayBufferTypes",
      "slug": "arraybuffertypes",
      "docs": "Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "ArrayBuffer",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ArrayBuffer"
          ],
          "type": "ArrayBuffer"
        }
      ]
    },
    {
      "name": "ServiceDataFilter",
      "slug": "servicedatafilter",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "serviceUuid",
          "tags": [],
          "docs": "Service UUID to filter by. The service data must be associated with this UUID.\r\nUUIDs have to be specified as 128 bit UUID strings,\r\ne.g. '0000fffa-0000-1000-8000-00805f9b34fb'",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "dataPrefix",
          "tags": [],
          "docs": "Prefix to match in the service data field.\r\nFor example, OpenDroneID uses [0x0D] as the advertisement code.\r\nandroid, ios: string\r\nweb: DataView",
          "complexTypes": [
            "DataView"
          ],
          "type": "DataView"
        },
        {
          "name": "mask",
          "tags": [],
          "docs": "Set filter on partial service data. For any bit in the mask, set it to 1 if it needs to match the one in service data, otherwise set it to 0.\r\nThe `mask` must have the same length as dataPrefix.\r\nandroid, ios: string\r\nweb: DataView",
          "complexTypes": [
            "DataView"
          ],
          "type": "DataView"
        }
      ]
    },
    {
      "name": "ScanResult",
      "slug": "scanresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "device",
          "tags": [],
          "docs": "The peripheral device that was found in the scan.\r\n**Android** and **web**: `device.name` is always identical to `localName`.\r\n**iOS**: `device.name` is identical to `localName` the first time a device is discovered, but after connecting `device.name` is the cached GAP name in subsequent scans.",
          "complexTypes": [
            "BleDevice"
          ],
          "type": "BleDevice"
        },
        {
          "name": "localName",
          "tags": [],
          "docs": "The name of the peripheral device from the advertisement data.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "rssi",
          "tags": [],
          "docs": "Received Signal Strength Indication.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "txPower",
          "tags": [],
          "docs": "Transmit power in dBm. A value of 127 indicates that it is not available.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "manufacturerData",
          "tags": [],
          "docs": "Manufacturer data, key is a company identifier and value is the data.",
          "complexTypes": [
            "DataView"
          ],
          "type": "{ [key: string]: DataView; } | undefined"
        },
        {
          "name": "serviceData",
          "tags": [],
          "docs": "Service data, key is a service UUID and value is the data.",
          "complexTypes": [
            "DataView"
          ],
          "type": "{ [key: string]: DataView; } | undefined"
        },
        {
          "name": "uuids",
          "tags": [],
          "docs": "Advertised services.",
          "complexTypes": [],
          "type": "string[] | undefined"
        },
        {
          "name": "rawAdvertisement",
          "tags": [],
          "docs": "Raw advertisement data (**Android** only).",
          "complexTypes": [
            "DataView"
          ],
          "type": "DataView"
        }
      ]
    },
    {
      "name": "ConnectClientOptions",
      "slug": "connectclientoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "skipDescriptorDiscovery",
          "tags": [
            {
              "text": "false",
              "name": "default"
            }
          ],
          "docs": "Skip descriptor discovery during connection to improve connection speed.\r\nWhen enabled, descriptors will not be available in the services structure.",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "TimeoutOptions",
      "slug": "timeoutoptions",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "timeout",
          "tags": [],
          "docs": "Timeout in milliseconds for plugin call.\r\nDefault is 10000 for `connect` and 5000 for other plugin methods.",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "BleService",
      "slug": "bleservice",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "uuid",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "characteristics",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BleCharacteristic"
          ],
          "type": "BleCharacteristic[]"
        }
      ]
    },
    {
      "name": "BleCharacteristic",
      "slug": "blecharacteristic",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "uuid",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "properties",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BleCharacteristicProperties"
          ],
          "type": "BleCharacteristicProperties"
        },
        {
          "name": "descriptors",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BleDescriptor"
          ],
          "type": "BleDescriptor[]"
        }
      ]
    },
    {
      "name": "BleCharacteristicProperties",
      "slug": "blecharacteristicproperties",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "broadcast",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "read",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "writeWithoutResponse",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "write",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "notify",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "indicate",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "authenticatedSignedWrites",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "reliableWrite",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "writableAuxiliaries",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "extendedProperties",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "notifyEncryptionRequired",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "indicateEncryptionRequired",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "BleDescriptor",
      "slug": "bledescriptor",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "uuid",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    }
  ],
  "enums": [
    {
      "name": "ScanMode",
      "slug": "scanmode",
      "members": [
        {
          "name": "SCAN_MODE_LOW_POWER",
          "value": "0",
          "tags": [],
          "docs": "Perform Bluetooth LE scan in low power mode. This mode is enforced if the scanning application is not in foreground.\r\nhttps://developer.android.com/reference/android/bluetooth/le/ScanSettings#SCAN_MODE_LOW_POWER"
        },
        {
          "name": "SCAN_MODE_BALANCED",
          "value": "1",
          "tags": [],
          "docs": "Perform Bluetooth LE scan in balanced power mode. (default) Scan results are returned at a rate that provides a good trade-off between scan frequency and power consumption.\r\nhttps://developer.android.com/reference/android/bluetooth/le/ScanSettings#SCAN_MODE_BALANCED"
        },
        {
          "name": "SCAN_MODE_LOW_LATENCY",
          "value": "2",
          "tags": [],
          "docs": "Scan using highest duty cycle. It's recommended to only use this mode when the application is running in the foreground.\r\nhttps://developer.android.com/reference/android/bluetooth/le/ScanSettings#SCAN_MODE_LOW_LATENCY"
        }
      ]
    },
    {
      "name": "ConnectionPriority",
      "slug": "connectionpriority",
      "members": [
        {
          "name": "CONNECTION_PRIORITY_BALANCED",
          "value": "0",
          "tags": [],
          "docs": "Use the connection parameters recommended by the Bluetooth SIG. This is the default value if no connection parameter update is requested.\r\nhttps://developer.android.com/reference/android/bluetooth/BluetoothGatt#CONNECTION_PRIORITY_BALANCED"
        },
        {
          "name": "CONNECTION_PRIORITY_HIGH",
          "value": "1",
          "tags": [],
          "docs": "Request a high priority, low latency connection. An application should only request high priority connection parameters to transfer large amounts of data over LE quickly. Once the transfer is complete, the application should request CONNECTION_PRIORITY_BALANCED connection parameters to reduce energy use.\r\nhttps://developer.android.com/reference/android/bluetooth/BluetoothGatt#CONNECTION_PRIORITY_HIGH"
        },
        {
          "name": "CONNECTION_PRIORITY_LOW_POWER",
          "value": "2",
          "tags": [],
          "docs": "Request low power, reduced data rate connection parameters.\r\nhttps://developer.android.com/reference/android/bluetooth/BluetoothGatt#CONNECTION_PRIORITY_LOW_POWER"
        }
      ]
    }
  ],
  "typeAliases": [
    {
      "name": "ArrayBufferLike",
      "slug": "arraybufferlike",
      "docs": "",
      "types": [
        {
          "text": "ArrayBufferTypes[keyof ArrayBufferTypes]",
          "complexTypes": [
            "ArrayBufferTypes"
          ]
        }
      ]
    }
  ],
  "pluginConfigs": [
    {
      "name": "BluetoothLe",
      "slug": "bluetoothle",
      "properties": [
        {
          "name": "displayStrings",
          "tags": [
            {
              "text": "0.0.1",
              "name": "since"
            },
            {
              "text": "{\r\n\"scanning\": \"Scanning...\",\r\n\"cancel\": \"Cancel\",\r\n\"availableDevices\": \"Available devices\",\r\n\"noDeviceFound\": \"No device found\"\r\n}",
              "name": "default"
            },
            {
              "text": "{\r\nscanning: \"Am Scannen...\",\r\ncancel: \"Abbrechen\",\r\navailableDevices: \"Verfügbare Geräte\",\r\nnoDeviceFound: \"Kein Gerät gefunden\",\r\n}",
              "name": "example"
            }
          ],
          "docs": "The strings that are displayed in the device selection dialog on iOS and Android when using `requestDevice()`.",
          "complexTypes": [
            "DisplayStrings"
          ],
          "type": "DisplayStrings"
        }
      ],
      "docs": "These config values are available:"
    }
  ]
}