react-native-ble-nitro 1.3.1 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +37 -13
  2. package/android/src/main/java/com/margelo/nitro/co/zyke/ble/BleNitroBleManager.kt +48 -7
  3. package/ios/BleNitroBleManager.swift +95 -6
  4. package/ios/BlePeripheralDelegate.swift +13 -3
  5. package/lib/commonjs/index.d.ts +4 -194
  6. package/lib/commonjs/index.d.ts.map +1 -1
  7. package/lib/commonjs/index.js +6 -441
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/manager.d.ts +204 -0
  10. package/lib/commonjs/manager.d.ts.map +1 -0
  11. package/lib/commonjs/manager.js +471 -0
  12. package/lib/commonjs/manager.js.map +1 -0
  13. package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts +4 -1
  14. package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts.map +1 -1
  15. package/lib/index.d.ts +4 -194
  16. package/lib/index.js +3 -436
  17. package/lib/manager.d.ts +203 -0
  18. package/lib/manager.js +457 -0
  19. package/lib/specs/NativeBleNitro.nitro.d.ts +4 -1
  20. package/nitrogen/generated/android/BleNitroOnLoad.cpp +2 -0
  21. package/nitrogen/generated/android/c++/JFunc_void_std__vector_BLEDevice_.hpp +102 -0
  22. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +9 -4
  23. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +2 -1
  24. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_BLEDevice_.kt +81 -0
  25. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +11 -2
  26. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +8 -0
  27. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +38 -16
  28. package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +16 -10
  29. package/nitrogen/generated/ios/swift/Func_void_std__vector_BLEDevice_.swift +47 -0
  30. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +2 -1
  31. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +27 -5
  32. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp +1 -0
  33. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +7 -6
  34. package/package.json +9 -1
  35. package/src/__tests__/index.test.ts +75 -15
  36. package/src/index.ts +24 -609
  37. package/src/manager.ts +629 -0
  38. package/src/specs/NativeBleNitro.nitro.ts +6 -1
@@ -1,453 +1,18 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ble = exports.BleNitro = exports.AndroidScanMode = exports.BLEState = void 0;
7
- const NativeBleNitro_1 = __importDefault(require("./specs/NativeBleNitro"));
8
- const NativeBleNitro_2 = require("./specs/NativeBleNitro");
9
- var BLEState;
10
- (function (BLEState) {
11
- BLEState["Unknown"] = "Unknown";
12
- BLEState["Resetting"] = "Resetting";
13
- BLEState["Unsupported"] = "Unsupported";
14
- BLEState["Unauthorized"] = "Unauthorized";
15
- BLEState["PoweredOff"] = "PoweredOff";
16
- BLEState["PoweredOn"] = "PoweredOn";
17
- })(BLEState || (exports.BLEState = BLEState = {}));
18
- ;
19
- var AndroidScanMode;
20
- (function (AndroidScanMode) {
21
- AndroidScanMode["LowLatency"] = "LowLatency";
22
- AndroidScanMode["Balanced"] = "Balanced";
23
- AndroidScanMode["LowPower"] = "LowPower";
24
- AndroidScanMode["Opportunistic"] = "Opportunistic";
25
- })(AndroidScanMode || (exports.AndroidScanMode = AndroidScanMode = {}));
26
- function mapNativeBLEStateToBLEState(nativeState) {
27
- const map = {
28
- 0: BLEState.Unknown,
29
- 1: BLEState.Resetting,
30
- 2: BLEState.Unsupported,
31
- 3: BLEState.Unauthorized,
32
- 4: BLEState.PoweredOff,
33
- 5: BLEState.PoweredOn,
34
- };
35
- return map[nativeState];
36
- }
37
- function mapAndroidScanModeToNativeAndroidScanMode(scanMode) {
38
- const map = {
39
- LowLatency: NativeBleNitro_2.AndroidScanMode.LowLatency,
40
- Balanced: NativeBleNitro_2.AndroidScanMode.Balanced,
41
- LowPower: NativeBleNitro_2.AndroidScanMode.LowPower,
42
- Opportunistic: NativeBleNitro_2.AndroidScanMode.Opportunistic,
43
- };
44
- return map[scanMode];
45
- }
46
- function convertNativeBleDeviceToBleDevice(nativeBleDevice) {
47
- return {
48
- ...nativeBleDevice,
49
- serviceUUIDs: BleNitro.normalizeGattUUIDs(nativeBleDevice.serviceUUIDs),
50
- manufacturerData: {
51
- companyIdentifiers: nativeBleDevice.manufacturerData.companyIdentifiers.map(entry => ({
52
- id: entry.id,
53
- data: arrayBufferToByteArray(entry.data)
54
- }))
55
- }
56
- };
57
- }
58
- function arrayBufferToByteArray(buffer) {
59
- return Array.from(new Uint8Array(buffer));
60
- }
61
- function byteArrayToArrayBuffer(data) {
62
- return new Uint8Array(data).buffer;
63
- }
3
+ exports.BleNitro = exports.AndroidScanMode = exports.BLEState = void 0;
4
+ const manager_1 = require("./manager");
5
+ var manager_2 = require("./manager");
6
+ Object.defineProperty(exports, "BLEState", { enumerable: true, get: function () { return manager_2.BLEState; } });
7
+ Object.defineProperty(exports, "AndroidScanMode", { enumerable: true, get: function () { return manager_2.AndroidScanMode; } });
64
8
  let _instance;
65
- class BleNitro {
66
- constructor() {
67
- this._isScanning = false;
68
- this._connectedDevices = {};
69
- }
9
+ class BleNitro extends manager_1.BleNitroManager {
70
10
  static instance() {
71
11
  if (!_instance) {
72
12
  _instance = new BleNitro();
73
13
  }
74
14
  return _instance;
75
15
  }
76
- /**
77
- * Converts a 16- oder 32-Bit UUID to a 128-Bit UUID
78
- *
79
- * @param uuid 16-, 32- or 128-Bit UUID as string
80
- * @returns Full 128-Bit UUID
81
- */
82
- static normalizeGattUUID(uuid) {
83
- const cleanUuid = uuid.toLowerCase();
84
- // 128-Bit UUID → normalisieren
85
- if (cleanUuid.length === 36 && cleanUuid.includes("-")) {
86
- return cleanUuid;
87
- }
88
- // GATT-Service UUIDs
89
- // 16- oder 32-Bit UUID → 128-Bit UUID
90
- const padded = cleanUuid.padStart(8, "0");
91
- return `${padded}-0000-1000-8000-00805f9b34fb`;
92
- }
93
- static normalizeGattUUIDs(uuids) {
94
- return uuids.map((uuid) => BleNitro.normalizeGattUUID(uuid));
95
- }
96
- /**
97
- * Start scanning for Bluetooth devices
98
- * @param filter Optional scan filter
99
- * @param callback Callback function called when a device is found
100
- * @returns Promise resolving to success state
101
- */
102
- startScan(filter = {}, callback, onError) {
103
- var _a, _b, _c;
104
- if (this._isScanning) {
105
- return;
106
- }
107
- // Create native scan filter with defaults
108
- const nativeFilter = {
109
- serviceUUIDs: filter.serviceUUIDs || [],
110
- rssiThreshold: (_a = filter.rssiThreshold) !== null && _a !== void 0 ? _a : -100,
111
- allowDuplicates: (_b = filter.allowDuplicates) !== null && _b !== void 0 ? _b : false,
112
- androidScanMode: mapAndroidScanModeToNativeAndroidScanMode((_c = filter.androidScanMode) !== null && _c !== void 0 ? _c : AndroidScanMode.Balanced),
113
- };
114
- // Create callback wrapper
115
- const scanCallback = (device, error) => {
116
- if (error && !device) {
117
- this._isScanning = false;
118
- onError === null || onError === void 0 ? void 0 : onError(error);
119
- return;
120
- }
121
- device = device; // eslint-disable-line @typescript-eslint/no-non-null-assertion
122
- // Convert manufacturer data to Uint8Arrays
123
- const convertedDevice = convertNativeBleDeviceToBleDevice(device);
124
- callback(convertedDevice);
125
- };
126
- // Start scan
127
- NativeBleNitro_1.default.startScan(nativeFilter, scanCallback);
128
- this._isScanning = true;
129
- }
130
- /**
131
- * Stop scanning for Bluetooth devices
132
- * @returns Promise resolving to success state
133
- */
134
- stopScan() {
135
- if (!this._isScanning) {
136
- return;
137
- }
138
- NativeBleNitro_1.default.stopScan();
139
- this._isScanning = false;
140
- }
141
- /**
142
- * Check if currently scanning for devices
143
- * @returns Promise resolving to scanning state
144
- */
145
- isScanning() {
146
- this._isScanning = NativeBleNitro_1.default.isScanning();
147
- return this._isScanning;
148
- }
149
- /**
150
- * Get all currently connected devices
151
- * @param services Optional list of service UUIDs to filter by
152
- * @returns Array of connected devices
153
- */
154
- getConnectedDevices(services) {
155
- const devices = NativeBleNitro_1.default.getConnectedDevices(services || []);
156
- // Normalize service UUIDs - manufacturer data already comes as ArrayBuffers
157
- return devices.map(device => convertNativeBleDeviceToBleDevice(device));
158
- }
159
- /**
160
- * Connect to a Bluetooth device
161
- * @param deviceId ID of the device to connect to
162
- * @param onDisconnect Optional callback for disconnect events
163
- * @returns Promise resolving when connected
164
- */
165
- connect(deviceId, onDisconnect) {
166
- return new Promise((resolve, reject) => {
167
- // Check if already connected
168
- if (this._connectedDevices[deviceId]) {
169
- resolve(deviceId);
170
- return;
171
- }
172
- NativeBleNitro_1.default.connect(deviceId, (success, connectedDeviceId, error) => {
173
- if (success) {
174
- this._connectedDevices[deviceId] = true;
175
- resolve(connectedDeviceId);
176
- }
177
- else {
178
- reject(new Error(error));
179
- }
180
- }, onDisconnect ? (deviceId, interrupted, error) => {
181
- // Remove from connected devices when disconnected
182
- delete this._connectedDevices[deviceId];
183
- onDisconnect(deviceId, interrupted, error);
184
- } : undefined);
185
- });
186
- }
187
- /**
188
- * Disconnect from a Bluetooth device
189
- * @param deviceId ID of the device to disconnect from
190
- * @returns Promise resolving when disconnected
191
- */
192
- disconnect(deviceId) {
193
- return new Promise((resolve, reject) => {
194
- // Check if already disconnected
195
- if (!this._connectedDevices[deviceId]) {
196
- resolve();
197
- return;
198
- }
199
- NativeBleNitro_1.default.disconnect(deviceId, (success, error) => {
200
- if (success) {
201
- delete this._connectedDevices[deviceId];
202
- resolve();
203
- }
204
- else {
205
- reject(new Error(error));
206
- }
207
- });
208
- });
209
- }
210
- /**
211
- * Check if connected to a device
212
- * @param deviceId ID of the device to check
213
- * @returns Promise resolving to connection state
214
- */
215
- isConnected(deviceId) {
216
- return NativeBleNitro_1.default.isConnected(deviceId);
217
- }
218
- /**
219
- * Request a new MTU size
220
- * @param deviceId ID of the device
221
- * @param mtu New MTU size, min is 23, max is 517
222
- * @returns On Android: new MTU size; on iOS: current MTU size as it is handled by iOS itself; on error: -1
223
- */
224
- requestMTU(deviceId, mtu) {
225
- mtu = parseInt(mtu.toString(), 10);
226
- const deviceMtu = NativeBleNitro_1.default.requestMTU(deviceId, mtu);
227
- return deviceMtu;
228
- }
229
- /**
230
- * Discover services for a connected device
231
- * @param deviceId ID of the device
232
- * @returns Promise resolving when services are discovered
233
- */
234
- discoverServices(deviceId) {
235
- return new Promise((resolve, reject) => {
236
- // Check if connected first
237
- if (!this._connectedDevices[deviceId]) {
238
- reject(new Error('Device not connected'));
239
- return;
240
- }
241
- NativeBleNitro_1.default.discoverServices(deviceId, (success, error) => {
242
- if (success) {
243
- resolve(true);
244
- }
245
- else {
246
- reject(new Error(error));
247
- }
248
- });
249
- });
250
- }
251
- /**
252
- * Get services for a connected device
253
- * @param deviceId ID of the device
254
- * @returns Promise resolving to array of service UUIDs
255
- */
256
- getServices(deviceId) {
257
- return new Promise(async (resolve, reject) => {
258
- // Check if connected first
259
- if (!this._connectedDevices[deviceId]) {
260
- reject(new Error('Device not connected'));
261
- return;
262
- }
263
- const success = await this.discoverServices(deviceId);
264
- if (!success) {
265
- reject(new Error('Failed to discover services'));
266
- return;
267
- }
268
- const services = NativeBleNitro_1.default.getServices(deviceId);
269
- resolve(BleNitro.normalizeGattUUIDs(services));
270
- });
271
- }
272
- /**
273
- * Get characteristics for a service
274
- * @param deviceId ID of the device
275
- * @param serviceId ID of the service
276
- * @returns Promise resolving to array of characteristic UUIDs
277
- */
278
- getCharacteristics(deviceId, serviceId) {
279
- if (!this._connectedDevices[deviceId]) {
280
- throw new Error('Device not connected');
281
- }
282
- const characteristics = NativeBleNitro_1.default.getCharacteristics(deviceId, BleNitro.normalizeGattUUID(serviceId));
283
- return BleNitro.normalizeGattUUIDs(characteristics);
284
- }
285
- /**
286
- * Read a characteristic value
287
- * @param deviceId ID of the device
288
- * @param serviceId ID of the service
289
- * @param characteristicId ID of the characteristic
290
- * @returns Promise resolving to the characteristic data as ArrayBuffer
291
- */
292
- readCharacteristic(deviceId, serviceId, characteristicId) {
293
- return new Promise((resolve, reject) => {
294
- // Check if connected first
295
- if (!this._connectedDevices[deviceId]) {
296
- reject(new Error('Device not connected'));
297
- return;
298
- }
299
- NativeBleNitro_1.default.readCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), (success, data, error) => {
300
- if (success) {
301
- resolve(arrayBufferToByteArray(data));
302
- }
303
- else {
304
- reject(new Error(error));
305
- }
306
- });
307
- });
308
- }
309
- /**
310
- * Write a value to a characteristic
311
- * @param deviceId ID of the device
312
- * @param serviceId ID of the service
313
- * @param characteristicId ID of the characteristic
314
- * @param data Data to write as ByteArray (number[])
315
- * @param withResponse Whether to wait for response
316
- * @returns Promise resolving when write is complete
317
- */
318
- writeCharacteristic(deviceId, serviceId, characteristicId, data, withResponse = true) {
319
- return new Promise((resolve, reject) => {
320
- // Check if connected first
321
- if (!this._connectedDevices[deviceId]) {
322
- reject(new Error('Device not connected'));
323
- return;
324
- }
325
- NativeBleNitro_1.default.writeCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), byteArrayToArrayBuffer(data), withResponse, (success, error) => {
326
- if (success) {
327
- resolve(true);
328
- }
329
- else {
330
- reject(new Error(error));
331
- }
332
- });
333
- });
334
- }
335
- /**
336
- * Subscribe to characteristic notifications
337
- * @param deviceId ID of the device
338
- * @param serviceId ID of the service
339
- * @param characteristicId ID of the characteristic
340
- * @param callback Callback function called when notification is received
341
- * @returns Promise resolving when subscription is complete
342
- */
343
- subscribeToCharacteristic(deviceId, serviceId, characteristicId, callback) {
344
- // Check if connected first
345
- if (!this._connectedDevices[deviceId]) {
346
- throw new Error('Device not connected');
347
- }
348
- let _success = false;
349
- NativeBleNitro_1.default.subscribeToCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), (charId, data) => {
350
- callback(charId, arrayBufferToByteArray(data));
351
- }, (success, error) => {
352
- _success = success;
353
- if (!success) {
354
- throw new Error(error);
355
- }
356
- });
357
- return {
358
- remove: () => {
359
- if (!_success) {
360
- return;
361
- }
362
- this.unsubscribeFromCharacteristic(deviceId, serviceId, characteristicId).catch(() => { });
363
- }
364
- };
365
- }
366
- /**
367
- * Unsubscribe from characteristic notifications
368
- * @param deviceId ID of the device
369
- * @param serviceId ID of the service
370
- * @param characteristicId ID of the characteristic
371
- * @returns Promise resolving when unsubscription is complete
372
- */
373
- unsubscribeFromCharacteristic(deviceId, serviceId, characteristicId) {
374
- return new Promise((resolve, reject) => {
375
- // Check if connected first
376
- if (!this._connectedDevices[deviceId]) {
377
- reject(new Error('Device not connected'));
378
- return;
379
- }
380
- NativeBleNitro_1.default.unsubscribeFromCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), (success, error) => {
381
- if (success) {
382
- resolve();
383
- }
384
- else {
385
- reject(new Error(error));
386
- }
387
- });
388
- });
389
- }
390
- /**
391
- * Check if Bluetooth is enabled
392
- * @returns Promise resolving to Bluetooth state
393
- */
394
- isBluetoothEnabled() {
395
- return this.state() === BLEState.PoweredOn;
396
- }
397
- /**
398
- * Request to enable Bluetooth (Android only)
399
- * @returns Promise resolving when Bluetooth is enabled
400
- */
401
- requestBluetoothEnable() {
402
- return new Promise((resolve, reject) => {
403
- NativeBleNitro_1.default.requestBluetoothEnable((success, error) => {
404
- if (success) {
405
- resolve(true);
406
- }
407
- else {
408
- reject(new Error(error));
409
- }
410
- });
411
- });
412
- }
413
- /**
414
- * Get the current Bluetooth state
415
- * @returns Promise resolving to Bluetooth state
416
- * @see BLEState
417
- */
418
- state() {
419
- return mapNativeBLEStateToBLEState(NativeBleNitro_1.default.state());
420
- }
421
- /**
422
- * Subscribe to Bluetooth state changes
423
- * @param callback Callback function called when state changes
424
- * @param emitInitial Whether to emit initial state callback
425
- * @returns Promise resolving when subscription is complete
426
- * @see BLEState
427
- */
428
- subscribeToStateChange(callback, emitInitial = false) {
429
- if (emitInitial) {
430
- const state = this.state();
431
- callback(state);
432
- }
433
- NativeBleNitro_1.default.subscribeToStateChange((nativeState) => {
434
- callback(mapNativeBLEStateToBLEState(nativeState));
435
- });
436
- return {
437
- remove: () => {
438
- NativeBleNitro_1.default.unsubscribeFromStateChange();
439
- },
440
- };
441
- }
442
- /**
443
- * Open Bluetooth settings
444
- * @returns Promise resolving when settings are opened
445
- */
446
- openSettings() {
447
- return NativeBleNitro_1.default.openSettings();
448
- }
449
16
  }
450
17
  exports.BleNitro = BleNitro;
451
- // Singleton instance
452
- exports.ble = BleNitro.instance();
453
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAA4C;AAE5C,qCAgBmB;AAFjB,mGAAA,QAAQ,OAAA;AACR,0GAAA,eAAe,OAAA;AAGjB,IAAI,SAA0B,CAAC;AAE/B,MAAa,QAAS,SAAQ,yBAAe;IACpC,MAAM,CAAC,QAAQ;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAPD,4BAOC"}
@@ -0,0 +1,204 @@
1
+ import { BLEDevice as NativeBLEDevice, BLEState as NativeBLEState, AndroidScanMode as NativeAndroidScanMode } from './specs/NativeBleNitro';
2
+ export type ByteArray = number[];
3
+ export interface ScanFilter {
4
+ serviceUUIDs?: string[];
5
+ rssiThreshold?: number;
6
+ allowDuplicates?: boolean;
7
+ androidScanMode?: AndroidScanMode;
8
+ }
9
+ export interface ManufacturerDataEntry {
10
+ id: string;
11
+ data: ByteArray;
12
+ }
13
+ export interface ManufacturerData {
14
+ companyIdentifiers: ManufacturerDataEntry[];
15
+ }
16
+ export interface BLEDevice {
17
+ id: string;
18
+ name: string;
19
+ rssi: number;
20
+ manufacturerData: ManufacturerData;
21
+ serviceUUIDs: string[];
22
+ isConnectable: boolean;
23
+ }
24
+ export type ScanCallback = (device: BLEDevice) => void;
25
+ export type RestoreStateCallback = (connectedPeripherals: BLEDevice[]) => void;
26
+ export type ConnectionCallback = (success: boolean, deviceId: string, error: string) => void;
27
+ export type DisconnectEventCallback = (deviceId: string, interrupted: boolean, error: string) => void;
28
+ export type OperationCallback = (success: boolean, error: string) => void;
29
+ export type CharacteristicUpdateCallback = (characteristicId: string, data: ByteArray) => void;
30
+ export type Subscription = {
31
+ remove: () => void;
32
+ };
33
+ export declare enum BLEState {
34
+ Unknown = "Unknown",
35
+ Resetting = "Resetting",
36
+ Unsupported = "Unsupported",
37
+ Unauthorized = "Unauthorized",
38
+ PoweredOff = "PoweredOff",
39
+ PoweredOn = "PoweredOn"
40
+ }
41
+ export declare enum AndroidScanMode {
42
+ LowLatency = "LowLatency",
43
+ Balanced = "Balanced",
44
+ LowPower = "LowPower",
45
+ Opportunistic = "Opportunistic"
46
+ }
47
+ export type BleNitroManagerOptions = {
48
+ onRestoredState?: RestoreStateCallback;
49
+ };
50
+ export declare function mapNativeBLEStateToBLEState(nativeState: NativeBLEState): BLEState;
51
+ export declare function mapAndroidScanModeToNativeAndroidScanMode(scanMode: AndroidScanMode): NativeAndroidScanMode;
52
+ export declare function convertNativeBleDeviceToBleDevice(nativeBleDevice: NativeBLEDevice): BLEDevice;
53
+ export declare function arrayBufferToByteArray(buffer: ArrayBuffer): ByteArray;
54
+ export declare function byteArrayToArrayBuffer(data: ByteArray): ArrayBuffer;
55
+ export declare class BleNitroManager {
56
+ private _isScanning;
57
+ private _connectedDevices;
58
+ private _restoredStateCallback;
59
+ private _restoredState;
60
+ constructor(options?: BleNitroManagerOptions);
61
+ private onNativeRestoreStateCallback;
62
+ onRestoredState(callback: RestoreStateCallback): void;
63
+ /**
64
+ * Converts a 16- oder 32-Bit UUID to a 128-Bit UUID
65
+ *
66
+ * @param uuid 16-, 32- or 128-Bit UUID as string
67
+ * @returns Full 128-Bit UUID
68
+ */
69
+ static normalizeGattUUID(uuid: string): string;
70
+ static normalizeGattUUIDs(uuids: string[]): string[];
71
+ /**
72
+ * Start scanning for Bluetooth devices
73
+ * @param filter Optional scan filter
74
+ * @param callback Callback function called when a device is found
75
+ * @returns Promise resolving to success state
76
+ */
77
+ startScan(filter: ScanFilter | undefined, callback: ScanCallback, onError?: (error: string) => void): void;
78
+ /**
79
+ * Stop scanning for Bluetooth devices
80
+ * @returns Promise resolving to success state
81
+ */
82
+ stopScan(): void;
83
+ /**
84
+ * Check if currently scanning for devices
85
+ * @returns Promise resolving to scanning state
86
+ */
87
+ isScanning(): boolean;
88
+ /**
89
+ * Get all currently connected devices
90
+ * @param services Optional list of service UUIDs to filter by
91
+ * @returns Array of connected devices
92
+ */
93
+ getConnectedDevices(services?: string[]): BLEDevice[];
94
+ /**
95
+ * Connect to a Bluetooth device
96
+ * @param deviceId ID of the device to connect to
97
+ * @param onDisconnect Optional callback for disconnect events
98
+ * @returns Promise resolving when connected
99
+ */
100
+ connect(deviceId: string, onDisconnect?: DisconnectEventCallback): Promise<string>;
101
+ /**
102
+ * Disconnect from a Bluetooth device
103
+ * @param deviceId ID of the device to disconnect from
104
+ * @returns Promise resolving when disconnected
105
+ */
106
+ disconnect(deviceId: string): Promise<void>;
107
+ /**
108
+ * Check if connected to a device
109
+ * @param deviceId ID of the device to check
110
+ * @returns Promise resolving to connection state
111
+ */
112
+ isConnected(deviceId: string): boolean;
113
+ /**
114
+ * Request a new MTU size
115
+ * @param deviceId ID of the device
116
+ * @param mtu New MTU size, min is 23, max is 517
117
+ * @returns On Android: new MTU size; on iOS: current MTU size as it is handled by iOS itself; on error: -1
118
+ */
119
+ requestMTU(deviceId: string, mtu: number): number;
120
+ /**
121
+ * Discover services for a connected device
122
+ * @param deviceId ID of the device
123
+ * @returns Promise resolving when services are discovered
124
+ */
125
+ discoverServices(deviceId: string): Promise<boolean>;
126
+ /**
127
+ * Get services for a connected device
128
+ * @param deviceId ID of the device
129
+ * @returns Promise resolving to array of service UUIDs
130
+ */
131
+ getServices(deviceId: string): Promise<string[]>;
132
+ /**
133
+ * Get characteristics for a service
134
+ * @param deviceId ID of the device
135
+ * @param serviceId ID of the service
136
+ * @returns Promise resolving to array of characteristic UUIDs
137
+ */
138
+ getCharacteristics(deviceId: string, serviceId: string): string[];
139
+ /**
140
+ * Read a characteristic value
141
+ * @param deviceId ID of the device
142
+ * @param serviceId ID of the service
143
+ * @param characteristicId ID of the characteristic
144
+ * @returns Promise resolving to the characteristic data as ArrayBuffer
145
+ */
146
+ readCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<ByteArray>;
147
+ /**
148
+ * Write a value to a characteristic
149
+ * @param deviceId ID of the device
150
+ * @param serviceId ID of the service
151
+ * @param characteristicId ID of the characteristic
152
+ * @param data Data to write as ByteArray (number[])
153
+ * @param withResponse Whether to wait for response
154
+ * @returns Promise resolving with response data (empty ByteArray when withResponse=false)
155
+ */
156
+ writeCharacteristic(deviceId: string, serviceId: string, characteristicId: string, data: ByteArray, withResponse?: boolean): Promise<ByteArray>;
157
+ /**
158
+ * Subscribe to characteristic notifications
159
+ * @param deviceId ID of the device
160
+ * @param serviceId ID of the service
161
+ * @param characteristicId ID of the characteristic
162
+ * @param callback Callback function called when notification is received
163
+ * @returns Promise resolving when subscription is complete
164
+ */
165
+ subscribeToCharacteristic(deviceId: string, serviceId: string, characteristicId: string, callback: CharacteristicUpdateCallback): Subscription;
166
+ /**
167
+ * Unsubscribe from characteristic notifications
168
+ * @param deviceId ID of the device
169
+ * @param serviceId ID of the service
170
+ * @param characteristicId ID of the characteristic
171
+ * @returns Promise resolving when unsubscription is complete
172
+ */
173
+ unsubscribeFromCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<void>;
174
+ /**
175
+ * Check if Bluetooth is enabled
176
+ * @returns Promise resolving to Bluetooth state
177
+ */
178
+ isBluetoothEnabled(): boolean;
179
+ /**
180
+ * Request to enable Bluetooth (Android only)
181
+ * @returns Promise resolving when Bluetooth is enabled
182
+ */
183
+ requestBluetoothEnable(): Promise<boolean>;
184
+ /**
185
+ * Get the current Bluetooth state
186
+ * @returns Promise resolving to Bluetooth state
187
+ * @see BLEState
188
+ */
189
+ state(): BLEState;
190
+ /**
191
+ * Subscribe to Bluetooth state changes
192
+ * @param callback Callback function called when state changes
193
+ * @param emitInitial Whether to emit initial state callback
194
+ * @returns Promise resolving when subscription is complete
195
+ * @see BLEState
196
+ */
197
+ subscribeToStateChange(callback: (state: BLEState) => void, emitInitial?: boolean): Subscription;
198
+ /**
199
+ * Open Bluetooth settings
200
+ * @returns Promise resolving when settings are opened
201
+ */
202
+ openSettings(): Promise<void>;
203
+ }
204
+ //# sourceMappingURL=manager.d.ts.map