munim-bluetooth 0.3.27 → 0.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 (116) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/LICENSE +201 -21
  3. package/README.md +480 -75
  4. package/android/gradle.properties +2 -2
  5. package/android/src/main/AndroidManifest.xml +3 -1
  6. package/android/src/main/cpp/cpp-adapter.cpp +4 -1
  7. package/android/src/main/java/com/munimbluetooth/HybridMunimBluetooth.kt +2006 -209
  8. package/android/src/main/java/com/munimbluetooth/MunimBluetoothBackgroundService.kt +561 -53
  9. package/app.plugin.js +155 -0
  10. package/ios/HybridMunimBluetooth.swift +2123 -298
  11. package/ios/MunimBluetoothEventEmitter.swift +68 -8
  12. package/lib/commonjs/index.js +272 -11
  13. package/lib/commonjs/index.js.map +1 -1
  14. package/lib/module/index.js +243 -11
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/typescript/src/index.d.ts +310 -7
  17. package/lib/typescript/src/index.d.ts.map +1 -1
  18. package/lib/typescript/src/specs/munim-bluetooth.nitro.d.ts +219 -5
  19. package/lib/typescript/src/specs/munim-bluetooth.nitro.d.ts.map +1 -1
  20. package/nitro.json +9 -3
  21. package/nitrogen/generated/android/c++/JAdvertisingDataTypes.hpp +96 -96
  22. package/nitrogen/generated/android/c++/JAdvertisingOptions.hpp +8 -8
  23. package/nitrogen/generated/android/c++/JBackgroundSessionOptions.hpp +8 -8
  24. package/nitrogen/generated/android/c++/JBluetoothCapabilities.hpp +105 -0
  25. package/nitrogen/generated/android/c++/JBluetoothPhy.hpp +61 -0
  26. package/nitrogen/generated/android/c++/JBluetoothPhyOption.hpp +61 -0
  27. package/nitrogen/generated/android/c++/JBondState.hpp +64 -0
  28. package/nitrogen/generated/android/c++/JDescriptorValue.hpp +69 -0
  29. package/nitrogen/generated/android/c++/JExtendedAdvertisingOptions.hpp +131 -0
  30. package/nitrogen/generated/android/c++/JGATTCharacteristic.hpp +35 -11
  31. package/nitrogen/generated/android/c++/JGATTDescriptor.hpp +85 -0
  32. package/nitrogen/generated/android/c++/JGATTService.hpp +33 -9
  33. package/nitrogen/generated/android/c++/JHybridMunimBluetoothSpec.cpp +422 -12
  34. package/nitrogen/generated/android/c++/JHybridMunimBluetoothSpec.hpp +29 -0
  35. package/nitrogen/generated/android/c++/JL2CAPChannel.hpp +66 -0
  36. package/nitrogen/generated/android/c++/JMultipeerDiscoveryInfoEntry.hpp +61 -0
  37. package/nitrogen/generated/android/c++/JMultipeerEncryptionPreference.hpp +61 -0
  38. package/nitrogen/generated/android/c++/JMultipeerPeer.hpp +93 -0
  39. package/nitrogen/generated/android/c++/JMultipeerPeerState.hpp +61 -0
  40. package/nitrogen/generated/android/c++/JMultipeerSessionOptions.hpp +105 -0
  41. package/nitrogen/generated/android/c++/JPhyStatus.hpp +62 -0
  42. package/nitrogen/generated/android/c++/JScanOptions.hpp +8 -8
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/AdvertisingDataTypes.kt +47 -0
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/AdvertisingOptions.kt +19 -0
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/BackgroundSessionOptions.kt +27 -0
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/BluetoothCapabilities.kt +111 -0
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/BluetoothPhy.kt +24 -0
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/BluetoothPhyOption.kt +24 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/BondState.kt +25 -0
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/CharacteristicValue.kt +17 -0
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/DescriptorValue.kt +66 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/ExtendedAdvertisingOptions.kt +111 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/GATTCharacteristic.kt +25 -3
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/GATTDescriptor.kt +61 -0
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/GATTService.kt +23 -3
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/HybridMunimBluetoothSpec.kt +138 -22
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/L2CAPChannel.kt +61 -0
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/MultipeerDiscoveryInfoEntry.kt +56 -0
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/MultipeerEncryptionPreference.kt +24 -0
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/MultipeerPeer.kt +66 -0
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/MultipeerPeerState.kt +24 -0
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/MultipeerSessionOptions.kt +81 -0
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/PhyStatus.kt +56 -0
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/ScanOptions.kt +17 -0
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimbluetooth/ServiceDataEntry.kt +15 -0
  66. package/nitrogen/generated/ios/MunimBluetooth+autolinking.rb +2 -0
  67. package/nitrogen/generated/ios/MunimBluetooth-Swift-Cxx-Bridge.cpp +61 -5
  68. package/nitrogen/generated/ios/MunimBluetooth-Swift-Cxx-Bridge.hpp +494 -49
  69. package/nitrogen/generated/ios/MunimBluetooth-Swift-Cxx-Umbrella.hpp +42 -0
  70. package/nitrogen/generated/ios/c++/HybridMunimBluetoothSpecSwift.hpp +254 -0
  71. package/nitrogen/generated/ios/swift/BluetoothCapabilities.swift +89 -0
  72. package/nitrogen/generated/ios/swift/BluetoothPhy.swift +44 -0
  73. package/nitrogen/generated/ios/swift/BluetoothPhyOption.swift +44 -0
  74. package/nitrogen/generated/ios/swift/BondState.swift +48 -0
  75. package/nitrogen/generated/ios/swift/DescriptorValue.swift +44 -0
  76. package/nitrogen/generated/ios/swift/ExtendedAdvertisingOptions.swift +243 -0
  77. package/nitrogen/generated/ios/swift/Func_void_BluetoothCapabilities.swift +46 -0
  78. package/nitrogen/generated/ios/swift/Func_void_BondState.swift +46 -0
  79. package/nitrogen/generated/ios/swift/Func_void_DescriptorValue.swift +46 -0
  80. package/nitrogen/generated/ios/swift/Func_void_L2CAPChannel.swift +46 -0
  81. package/nitrogen/generated/ios/swift/Func_void_PhyStatus.swift +46 -0
  82. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +46 -0
  83. package/nitrogen/generated/ios/swift/Func_void_std__vector_MultipeerPeer_.swift +46 -0
  84. package/nitrogen/generated/ios/swift/GATTCharacteristic.swift +25 -1
  85. package/nitrogen/generated/ios/swift/GATTDescriptor.swift +71 -0
  86. package/nitrogen/generated/ios/swift/GATTService.swift +25 -1
  87. package/nitrogen/generated/ios/swift/HybridMunimBluetoothSpec.swift +29 -0
  88. package/nitrogen/generated/ios/swift/HybridMunimBluetoothSpec_cxx.swift +556 -23
  89. package/nitrogen/generated/ios/swift/L2CAPChannel.swift +52 -0
  90. package/nitrogen/generated/ios/swift/MultipeerDiscoveryInfoEntry.swift +34 -0
  91. package/nitrogen/generated/ios/swift/MultipeerEncryptionPreference.swift +44 -0
  92. package/nitrogen/generated/ios/swift/MultipeerPeer.swift +63 -0
  93. package/nitrogen/generated/ios/swift/MultipeerPeerState.swift +44 -0
  94. package/nitrogen/generated/ios/swift/MultipeerSessionOptions.swift +136 -0
  95. package/nitrogen/generated/ios/swift/PhyStatus.swift +34 -0
  96. package/nitrogen/generated/shared/c++/BluetoothCapabilities.hpp +131 -0
  97. package/nitrogen/generated/shared/c++/BluetoothPhy.hpp +80 -0
  98. package/nitrogen/generated/shared/c++/BluetoothPhyOption.hpp +80 -0
  99. package/nitrogen/generated/shared/c++/BondState.hpp +84 -0
  100. package/nitrogen/generated/shared/c++/DescriptorValue.hpp +95 -0
  101. package/nitrogen/generated/shared/c++/ExtendedAdvertisingOptions.hpp +138 -0
  102. package/nitrogen/generated/shared/c++/GATTCharacteristic.hpp +9 -3
  103. package/nitrogen/generated/shared/c++/GATTDescriptor.hpp +93 -0
  104. package/nitrogen/generated/shared/c++/GATTService.hpp +7 -2
  105. package/nitrogen/generated/shared/c++/HybridMunimBluetoothSpec.cpp +29 -0
  106. package/nitrogen/generated/shared/c++/HybridMunimBluetoothSpec.hpp +61 -2
  107. package/nitrogen/generated/shared/c++/L2CAPChannel.hpp +92 -0
  108. package/nitrogen/generated/shared/c++/MultipeerDiscoveryInfoEntry.hpp +87 -0
  109. package/nitrogen/generated/shared/c++/MultipeerEncryptionPreference.hpp +80 -0
  110. package/nitrogen/generated/shared/c++/MultipeerPeer.hpp +102 -0
  111. package/nitrogen/generated/shared/c++/MultipeerPeerState.hpp +80 -0
  112. package/nitrogen/generated/shared/c++/MultipeerSessionOptions.hpp +114 -0
  113. package/nitrogen/generated/shared/c++/PhyStatus.hpp +88 -0
  114. package/package.json +23 -12
  115. package/src/index.ts +416 -31
  116. package/src/specs/munim-bluetooth.nitro.ts +298 -14
@@ -1,8 +1,160 @@
1
- import type { AdvertisingDataTypes, BLEDevice, BackgroundSessionOptions, ScanOptions, GATTService, CharacteristicValue } from './specs/munim-bluetooth.nitro';
1
+ import type { AdvertisingDataTypes, BLEDevice, BackgroundSessionOptions, MultipeerSessionOptions, MultipeerPeer, MultipeerDiscoveryInfoEntry, MultipeerEncryptionPreference, MultipeerPeerState, ScanOptions, GATTService, GATTDescriptor, CharacteristicValue, DescriptorValue, BluetoothCapabilities, BluetoothPhy, BluetoothPhyOption, BondState, PhyStatus, ExtendedAdvertisingOptions, L2CAPChannel } from './specs/munim-bluetooth.nitro';
2
+ export type BluetoothEventMap = {
3
+ deviceFound: BLEDevice;
4
+ onDeviceFound: BLEDevice;
5
+ scanResult: BLEDevice;
6
+ scanFailed: {
7
+ errorCode: number;
8
+ message: string;
9
+ };
10
+ advertisingStarted: Record<string, never>;
11
+ advertisingStartFailed: {
12
+ error?: string;
13
+ errorCode?: number;
14
+ message?: string;
15
+ };
16
+ classicDeviceFound: BLEDevice & {
17
+ bondState?: string;
18
+ };
19
+ classicScanFailed: {
20
+ message: string;
21
+ };
22
+ classicScanFinished: Record<string, never>;
23
+ classicConnected: {
24
+ deviceId: string;
25
+ };
26
+ classicDisconnected: {
27
+ deviceId: string;
28
+ };
29
+ classicConnectionReceived: {
30
+ deviceId: string;
31
+ };
32
+ classicServerStarted: {
33
+ serviceUUID: string;
34
+ serviceName: string;
35
+ };
36
+ classicServerStopped: {
37
+ serviceUUID: string;
38
+ };
39
+ classicDataReceived: {
40
+ deviceId: string;
41
+ value: string;
42
+ };
43
+ deviceConnected: {
44
+ deviceId: string;
45
+ };
46
+ deviceDisconnected: {
47
+ deviceId: string;
48
+ };
49
+ servicesDiscovered: {
50
+ deviceId: string;
51
+ services: GATTService[];
52
+ };
53
+ characteristicValueChanged: CharacteristicValue & {
54
+ deviceId: string;
55
+ };
56
+ l2capChannelPublished: {
57
+ channelId: string;
58
+ psm: number;
59
+ };
60
+ l2capChannelPublishFailed: {
61
+ psm?: number;
62
+ error: string;
63
+ };
64
+ l2capChannelUnpublished: {
65
+ psm: number;
66
+ error?: string;
67
+ };
68
+ l2capChannelOpened: {
69
+ channelId: string;
70
+ psm: number;
71
+ deviceId?: string;
72
+ };
73
+ l2capChannelOpenFailed: {
74
+ deviceId?: string;
75
+ error: string;
76
+ };
77
+ l2capChannelClosed: {
78
+ channelId: string;
79
+ psm?: number;
80
+ deviceId?: string;
81
+ };
82
+ l2capDataReceived: {
83
+ channelId: string;
84
+ psm?: number;
85
+ deviceId?: string;
86
+ value: string;
87
+ };
88
+ peripheralReadRequest: CharacteristicValue & {
89
+ centralId: string;
90
+ };
91
+ peripheralWriteRequest: CharacteristicValue & {
92
+ centralId: string;
93
+ };
94
+ peripheralSubscribed: {
95
+ centralId: string;
96
+ serviceUUID: string;
97
+ characteristicUUID: string;
98
+ };
99
+ peripheralUnsubscribed: {
100
+ centralId: string;
101
+ serviceUUID: string;
102
+ characteristicUUID: string;
103
+ };
104
+ rssiUpdated: {
105
+ deviceId: string;
106
+ rssi: number;
107
+ };
108
+ backgroundSessionStarted: {
109
+ platform: string;
110
+ serviceUUIDs?: string[];
111
+ localName?: string | null;
112
+ };
113
+ backgroundSessionStopped: {
114
+ platform: string;
115
+ };
116
+ backgroundSessionRestored: {
117
+ platform: string;
118
+ role?: 'central' | 'peripheral';
119
+ isScanning?: boolean;
120
+ isAdvertising?: boolean;
121
+ serviceUUIDs?: string[];
122
+ deviceIds?: string[];
123
+ };
124
+ backgroundSessionStartFailed: {
125
+ platform: string;
126
+ error: string;
127
+ };
128
+ multipeerStarted: {
129
+ platform: string;
130
+ serviceType: string;
131
+ peerId: string;
132
+ displayName: string;
133
+ };
134
+ multipeerStopped: {
135
+ platform: string;
136
+ };
137
+ multipeerStartFailed: {
138
+ platform: string;
139
+ error: string;
140
+ };
141
+ multipeerPeerFound: MultipeerPeer;
142
+ multipeerPeerLost: {
143
+ peerId: string;
144
+ };
145
+ multipeerPeerStateChanged: MultipeerPeer;
146
+ multipeerMessageReceived: {
147
+ peerId: string;
148
+ displayName: string;
149
+ value: string;
150
+ };
151
+ };
152
+ export type BluetoothEventName = keyof BluetoothEventMap;
2
153
  /**
3
- * Start advertising as a Bluetooth peripheral with supported advertising data.
154
+ * Start advertising as a Bluetooth peripheral with platform-aware advertising data.
4
155
  *
5
- * @param options - An object with serviceUUIDs (string[]) and supported advertising data types.
156
+ * @param options - An object with serviceUUIDs (string[]) and advertising data types.
157
+ * iOS only advertises local name and service UUIDs.
6
158
  */
7
159
  export declare function startAdvertising(options: {
8
160
  serviceUUIDs: string[];
@@ -32,6 +184,11 @@ export declare function stopAdvertising(): void;
32
184
  * @param services - An array of service objects, each with a uuid and an array of characteristics.
33
185
  */
34
186
  export declare function setServices(services: GATTService[]): void;
187
+ /**
188
+ * Update a local peripheral characteristic value and optionally notify/indicate
189
+ * subscribed centrals.
190
+ */
191
+ export declare function updateCharacteristicValue(serviceUUID: string, characteristicUUID: string, value: string, notify?: boolean): Promise<void>;
35
192
  /**
36
193
  * Check if Bluetooth is enabled on the device.
37
194
  *
@@ -44,6 +201,10 @@ export declare function isBluetoothEnabled(): Promise<boolean>;
44
201
  * @returns Promise resolving to true if permissions are granted, false otherwise.
45
202
  */
46
203
  export declare function requestBluetoothPermission(): Promise<boolean>;
204
+ /**
205
+ * Return the Bluetooth feature set supported by the current platform/device.
206
+ */
207
+ export declare function getCapabilities(): Promise<BluetoothCapabilities>;
47
208
  /**
48
209
  * Start scanning for BLE devices.
49
210
  *
@@ -83,6 +244,10 @@ export declare function discoverServices(deviceId: string): Promise<GATTService[
83
244
  * @returns Promise resolving to the characteristic value.
84
245
  */
85
246
  export declare function readCharacteristic(deviceId: string, serviceUUID: string, characteristicUUID: string): Promise<CharacteristicValue>;
247
+ /**
248
+ * Read a descriptor value from a connected device.
249
+ */
250
+ export declare function readDescriptor(deviceId: string, serviceUUID: string, characteristicUUID: string, descriptorUUID: string): Promise<DescriptorValue>;
86
251
  /**
87
252
  * Write a value to a characteristic on a connected device.
88
253
  *
@@ -94,6 +259,10 @@ export declare function readCharacteristic(deviceId: string, serviceUUID: string
94
259
  * @returns Promise resolving when write is complete.
95
260
  */
96
261
  export declare function writeCharacteristic(deviceId: string, serviceUUID: string, characteristicUUID: string, value: string, writeType?: 'write' | 'writeWithoutResponse'): Promise<void>;
262
+ /**
263
+ * Write a descriptor value to a connected device.
264
+ */
265
+ export declare function writeDescriptor(deviceId: string, serviceUUID: string, characteristicUUID: string, descriptorUUID: string, value: string): Promise<void>;
97
266
  /**
98
267
  * Subscribe to notifications/indications from a characteristic.
99
268
  *
@@ -123,17 +292,122 @@ export declare function getConnectedDevices(): Promise<string[]>;
123
292
  * @returns Promise resolving to RSSI value in dBm.
124
293
  */
125
294
  export declare function readRSSI(deviceId: string): Promise<number>;
295
+ /**
296
+ * Request an ATT MTU. Android supports this directly; iOS rejects with unsupported.
297
+ */
298
+ export declare function requestMTU(deviceId: string, mtu: number): Promise<number>;
299
+ /**
300
+ * Set preferred BLE PHY. Android 8+ supports this when hardware allows it.
301
+ */
302
+ export declare function setPreferredPhy(deviceId: string, txPhy: BluetoothPhy, rxPhy: BluetoothPhy, phyOption?: BluetoothPhyOption): Promise<void>;
303
+ /**
304
+ * Read current BLE PHY. Android 8+ supports this when hardware allows it.
305
+ */
306
+ export declare function readPhy(deviceId: string): Promise<PhyStatus>;
307
+ /**
308
+ * Return current platform bond state for a device.
309
+ */
310
+ export declare function getBondState(deviceId: string): Promise<BondState>;
311
+ /**
312
+ * Start platform pairing/bonding for a device.
313
+ */
314
+ export declare function createBond(deviceId: string): Promise<BondState>;
315
+ /**
316
+ * Remove a platform bond where supported.
317
+ */
318
+ export declare function removeBond(deviceId: string): Promise<BondState>;
319
+ /**
320
+ * Start BLE extended advertising where supported.
321
+ */
322
+ export declare function startExtendedAdvertising(options: ExtendedAdvertisingOptions): Promise<string>;
323
+ /**
324
+ * Stop a BLE extended advertising set.
325
+ */
326
+ export declare function stopExtendedAdvertising(advertisingId: string): void;
327
+ /**
328
+ * Publish a local BLE L2CAP channel where supported.
329
+ */
330
+ export declare function publishL2CAPChannel(encryptionRequired?: boolean): Promise<L2CAPChannel>;
331
+ /**
332
+ * Stop a local BLE L2CAP channel.
333
+ */
334
+ export declare function unpublishL2CAPChannel(psm: number): void;
335
+ /**
336
+ * Open an outbound BLE L2CAP channel.
337
+ */
338
+ export declare function openL2CAPChannel(deviceId: string, psm: number): Promise<L2CAPChannel>;
339
+ /**
340
+ * Close an L2CAP channel.
341
+ */
342
+ export declare function closeL2CAPChannel(channelId: string): void;
343
+ /**
344
+ * Send hex data over an open L2CAP channel.
345
+ */
346
+ export declare function sendL2CAPData(channelId: string, value: string): Promise<void>;
347
+ /**
348
+ * Start Classic Bluetooth discovery where supported.
349
+ */
350
+ export declare function startClassicScan(): void;
351
+ /**
352
+ * Stop Classic Bluetooth discovery.
353
+ */
354
+ export declare function stopClassicScan(): void;
355
+ /**
356
+ * Connect to a Classic Bluetooth RFCOMM service where supported.
357
+ */
358
+ export declare function connectClassic(deviceId: string, serviceUUID?: string): Promise<void>;
359
+ /**
360
+ * Listen for incoming Classic Bluetooth RFCOMM connections on Android.
361
+ */
362
+ export declare function startClassicServer(serviceUUID?: string, serviceName?: string): Promise<void>;
363
+ /**
364
+ * Stop a Classic Bluetooth RFCOMM listener on Android.
365
+ */
366
+ export declare function stopClassicServer(serviceUUID?: string): void;
367
+ /**
368
+ * Disconnect a Classic Bluetooth device.
369
+ */
370
+ export declare function disconnectClassic(deviceId: string): void;
371
+ /**
372
+ * Write hex data to a Classic Bluetooth RFCOMM connection.
373
+ */
374
+ export declare function writeClassic(deviceId: string, value: string): Promise<void>;
126
375
  /**
127
376
  * Start a best-effort background BLE session.
128
377
  *
129
- * Android uses a foreground service. iOS relies on the host app's Bluetooth
130
- * background modes and state restoration.
378
+ * Android uses a foreground service and restores scan/advertising/configured
379
+ * GATT services after normal service process recreation. iOS relies on the host
380
+ * app's Bluetooth background modes and CoreBluetooth state restoration, with
381
+ * terminated-state relaunch still limited by Apple's current relaunch rules.
382
+ * User force-quit/force-stop is controlled by the OS and cannot be bypassed.
131
383
  */
132
384
  export declare function startBackgroundSession(options: BackgroundSessionOptions): void;
133
385
  /**
134
386
  * Stop the active background BLE session.
135
387
  */
136
388
  export declare function stopBackgroundSession(): void;
389
+ /**
390
+ * Start Apple Multipeer Connectivity transport. This is iOS/iPadOS/macOS/tvOS
391
+ * only; Android cannot join Apple Multipeer sessions.
392
+ */
393
+ export declare function startMultipeerSession(options: MultipeerSessionOptions): void;
394
+ /**
395
+ * Stop the active Apple Multipeer Connectivity session.
396
+ */
397
+ export declare function stopMultipeerSession(): void;
398
+ /**
399
+ * Invite a discovered Multipeer peer by runtime peer id.
400
+ */
401
+ export declare function inviteMultipeerPeer(peerId: string): void;
402
+ /**
403
+ * Return discovered/connected Apple Multipeer peers.
404
+ */
405
+ export declare function getMultipeerPeers(): Promise<MultipeerPeer[]>;
406
+ /**
407
+ * Send hex data over Apple Multipeer Connectivity. Omit peerIds to broadcast
408
+ * to all connected peers.
409
+ */
410
+ export declare function sendMultipeerMessage(value: string, peerIds?: string[], reliable?: boolean): Promise<void>;
137
411
  /**
138
412
  * Add a device found event listener (for scanning).
139
413
  *
@@ -148,7 +422,7 @@ export declare function addDeviceFoundListener(callback: (device: BLEDevice) =>
148
422
  * @param callback - The callback to invoke when the event occurs.
149
423
  * @returns A function to remove the listener
150
424
  */
151
- export declare function addEventListener(eventName: string, callback: (data: any) => void): () => void;
425
+ export declare function addEventListener<EventName extends BluetoothEventName>(eventName: EventName, callback: (data: BluetoothEventMap[EventName]) => void): () => void;
152
426
  /**
153
427
  * Add an event listener (legacy method).
154
428
  *
@@ -161,28 +435,57 @@ export declare function addListener(eventName: string): void;
161
435
  * @param count - Number of listeners to remove.
162
436
  */
163
437
  export declare function removeListeners(count: number): void;
164
- export type { AdvertisingDataTypes, BLEDevice, BackgroundSessionOptions, ScanOptions, GATTService, CharacteristicValue, };
438
+ export type { AdvertisingDataTypes, BLEDevice, BackgroundSessionOptions, MultipeerSessionOptions, MultipeerPeer, MultipeerDiscoveryInfoEntry, MultipeerEncryptionPreference, MultipeerPeerState, ScanOptions, GATTService, GATTDescriptor, CharacteristicValue, DescriptorValue, BluetoothCapabilities, BluetoothPhy, BluetoothPhyOption, BondState, PhyStatus, ExtendedAdvertisingOptions, L2CAPChannel, };
165
439
  declare const _default: {
166
440
  startAdvertising: typeof startAdvertising;
167
441
  stopAdvertising: typeof stopAdvertising;
168
442
  updateAdvertisingData: typeof updateAdvertisingData;
169
443
  getAdvertisingData: typeof getAdvertisingData;
170
444
  setServices: typeof setServices;
445
+ updateCharacteristicValue: typeof updateCharacteristicValue;
171
446
  isBluetoothEnabled: typeof isBluetoothEnabled;
172
447
  requestBluetoothPermission: typeof requestBluetoothPermission;
448
+ getCapabilities: typeof getCapabilities;
173
449
  startScan: typeof startScan;
174
450
  stopScan: typeof stopScan;
175
451
  connect: typeof connect;
176
452
  disconnect: typeof disconnect;
177
453
  discoverServices: typeof discoverServices;
178
454
  readCharacteristic: typeof readCharacteristic;
455
+ readDescriptor: typeof readDescriptor;
179
456
  writeCharacteristic: typeof writeCharacteristic;
457
+ writeDescriptor: typeof writeDescriptor;
180
458
  subscribeToCharacteristic: typeof subscribeToCharacteristic;
181
459
  unsubscribeFromCharacteristic: typeof unsubscribeFromCharacteristic;
182
460
  getConnectedDevices: typeof getConnectedDevices;
183
461
  readRSSI: typeof readRSSI;
462
+ requestMTU: typeof requestMTU;
463
+ setPreferredPhy: typeof setPreferredPhy;
464
+ readPhy: typeof readPhy;
465
+ getBondState: typeof getBondState;
466
+ createBond: typeof createBond;
467
+ removeBond: typeof removeBond;
468
+ startExtendedAdvertising: typeof startExtendedAdvertising;
469
+ stopExtendedAdvertising: typeof stopExtendedAdvertising;
470
+ publishL2CAPChannel: typeof publishL2CAPChannel;
471
+ unpublishL2CAPChannel: typeof unpublishL2CAPChannel;
472
+ openL2CAPChannel: typeof openL2CAPChannel;
473
+ closeL2CAPChannel: typeof closeL2CAPChannel;
474
+ sendL2CAPData: typeof sendL2CAPData;
475
+ startClassicScan: typeof startClassicScan;
476
+ stopClassicScan: typeof stopClassicScan;
477
+ connectClassic: typeof connectClassic;
478
+ startClassicServer: typeof startClassicServer;
479
+ stopClassicServer: typeof stopClassicServer;
480
+ disconnectClassic: typeof disconnectClassic;
481
+ writeClassic: typeof writeClassic;
184
482
  startBackgroundSession: typeof startBackgroundSession;
185
483
  stopBackgroundSession: typeof stopBackgroundSession;
484
+ startMultipeerSession: typeof startMultipeerSession;
485
+ stopMultipeerSession: typeof stopMultipeerSession;
486
+ inviteMultipeerPeer: typeof inviteMultipeerPeer;
487
+ getMultipeerPeers: typeof getMultipeerPeers;
488
+ sendMultipeerMessage: typeof sendMultipeerMessage;
186
489
  addDeviceFoundListener: typeof addDeviceFoundListener;
187
490
  addEventListener: typeof addEventListener;
188
491
  addListener: typeof addListener;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}