react-native-ble-nitro
Version:
High-performance React Native BLE library built on Nitro Modules - drop-in replacement for react-native-ble-plx
38 lines (37 loc) • 2.87 kB
TypeScript
import type { HybridObject } from 'react-native-nitro-modules';
import type { DeviceId, UUID, Base64, TransactionId, ConnectionPriority, ConnectionOptions, CharacteristicSubscriptionType, ServiceDataEntry, NativeDevice, NativeService, NativeCharacteristic, NativeDescriptor, DeviceDisconnectedListener, CharacteristicMonitorListener, Subscription } from './types';
export interface Device extends HybridObject<{
ios: 'swift';
android: 'kotlin';
}> {
readonly id: DeviceId;
readonly deviceName?: string | null;
readonly rssi?: number | null;
readonly mtu: number;
readonly manufacturerData?: Base64 | null;
readonly rawScanRecord: Base64;
readonly serviceData?: ServiceDataEntry[] | null;
readonly serviceUUIDs?: UUID[] | null;
readonly localName?: string | null;
readonly txPowerLevel?: number | null;
readonly solicitedServiceUUIDs?: UUID[] | null;
readonly isConnectable?: boolean | null;
readonly overflowServiceUUIDs?: UUID[] | null;
requestConnectionPriority(connectionPriority: ConnectionPriority, transactionId?: TransactionId): Promise<NativeDevice>;
readRSSI(transactionId?: TransactionId): Promise<NativeDevice>;
requestMTU(mtu: number, transactionId?: TransactionId): Promise<NativeDevice>;
connect(options?: ConnectionOptions): Promise<NativeDevice>;
cancelConnection(): Promise<NativeDevice>;
isConnected(): Promise<boolean>;
onDisconnected(listener: DeviceDisconnectedListener): Subscription;
discoverAllServicesAndCharacteristics(transactionId?: TransactionId): Promise<NativeDevice>;
services(): Promise<NativeService[]>;
characteristicsForService(serviceUUID: UUID): Promise<NativeCharacteristic[]>;
readCharacteristicForService(serviceUUID: UUID, characteristicUUID: UUID, transactionId?: TransactionId): Promise<NativeCharacteristic>;
writeCharacteristicWithResponseForService(serviceUUID: UUID, characteristicUUID: UUID, valueBase64: Base64, transactionId?: TransactionId): Promise<NativeCharacteristic>;
writeCharacteristicWithoutResponseForService(serviceUUID: UUID, characteristicUUID: UUID, valueBase64: Base64, transactionId?: TransactionId): Promise<NativeCharacteristic>;
monitorCharacteristicForService(serviceUUID: UUID, characteristicUUID: UUID, listener: CharacteristicMonitorListener, transactionId?: TransactionId, subscriptionType?: CharacteristicSubscriptionType): Subscription;
descriptorsForService(serviceUUID: UUID, characteristicUUID: UUID): Promise<NativeDescriptor[]>;
readDescriptorForService(serviceUUID: UUID, characteristicUUID: UUID, descriptorUUID: UUID, transactionId?: TransactionId): Promise<NativeDescriptor>;
writeDescriptorForService(serviceUUID: UUID, characteristicUUID: UUID, descriptorUUID: UUID, valueBase64: Base64, transactionId?: TransactionId): Promise<NativeDescriptor>;
}