UNPKG

react-native-ble-nitro

Version:

High-performance React Native BLE library built on Nitro Modules - drop-in replacement for react-native-ble-plx

37 lines (36 loc) 3.62 kB
import type { HybridObject } from 'react-native-nitro-modules'; import type { State, LogLevel, UUID, DeviceId, TransactionId, ConnectionPriority, ScanOptions, ConnectionOptions, StateListener, DeviceScanListener, DeviceDisconnectedListener, CharacteristicMonitorListener, CharacteristicSubscriptionType, NativeDevice, NativeService, NativeCharacteristic, NativeDescriptor, Base64, Subscription } from './types'; export interface BleManager extends HybridObject<{ ios: 'swift'; android: 'kotlin'; }> { destroy(): Promise<void>; setLogLevel(logLevel: LogLevel): Promise<LogLevel>; logLevel(): Promise<LogLevel>; cancelTransaction(transactionId: TransactionId): Promise<void>; enable(transactionId?: TransactionId): Promise<void>; disable(transactionId?: TransactionId): Promise<void>; state(): Promise<State>; onStateChange(listener: StateListener, emitCurrentState?: boolean): Subscription; startDeviceScan(uuids: UUID[] | null, options: ScanOptions | null, listener: DeviceScanListener): Promise<void>; stopDeviceScan(): Promise<void>; requestConnectionPriorityForDevice(deviceIdentifier: DeviceId, connectionPriority: ConnectionPriority, transactionId?: TransactionId): Promise<NativeDevice>; readRSSIForDevice(deviceIdentifier: DeviceId, transactionId?: TransactionId): Promise<NativeDevice>; requestMTUForDevice(deviceIdentifier: DeviceId, mtu: number, transactionId?: TransactionId): Promise<NativeDevice>; devices(deviceIdentifiers: DeviceId[]): Promise<NativeDevice[]>; connectedDevices(serviceUUIDs: UUID[]): Promise<NativeDevice[]>; connectToDevice(deviceIdentifier: DeviceId, options?: ConnectionOptions): Promise<NativeDevice>; cancelDeviceConnection(deviceIdentifier: DeviceId): Promise<NativeDevice>; onDeviceDisconnected(deviceIdentifier: DeviceId, listener: DeviceDisconnectedListener): Subscription; isDeviceConnected(deviceIdentifier: DeviceId): Promise<boolean>; discoverAllServicesAndCharacteristicsForDevice(deviceIdentifier: DeviceId, transactionId?: TransactionId): Promise<NativeDevice>; servicesForDevice(deviceIdentifier: DeviceId): Promise<NativeService[]>; characteristicsForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID): Promise<NativeCharacteristic[]>; readCharacteristicForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, transactionId?: TransactionId): Promise<NativeCharacteristic>; writeCharacteristicWithResponseForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, base64Value: Base64, transactionId?: TransactionId): Promise<NativeCharacteristic>; writeCharacteristicWithoutResponseForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, base64Value: Base64, transactionId?: TransactionId): Promise<NativeCharacteristic>; monitorCharacteristicForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, listener: CharacteristicMonitorListener, transactionId?: TransactionId, subscriptionType?: CharacteristicSubscriptionType): Subscription; descriptorsForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID): Promise<NativeDescriptor[]>; readDescriptorForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, descriptorUUID: UUID, transactionId?: TransactionId): Promise<NativeDescriptor>; writeDescriptorForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, descriptorUUID: UUID, valueBase64: Base64, transactionId?: TransactionId): Promise<NativeDescriptor>; }