react-native-ble-nitro
Version:
High-performance React Native BLE library built on Nitro Modules - drop-in replacement for react-native-ble-plx
20 lines (19 loc) • 1.53 kB
TypeScript
import type { HybridObject } from 'react-native-nitro-modules';
import type { Identifier, UUID, DeviceId, Base64, TransactionId, CharacteristicSubscriptionType, NativeCharacteristic, NativeDescriptor, CharacteristicMonitorListener, Subscription } from './types';
export interface Service extends HybridObject<{
ios: 'swift';
android: 'kotlin';
}> {
readonly id: Identifier;
readonly uuid: UUID;
readonly deviceID: DeviceId;
readonly isPrimary: boolean;
characteristics(): Promise<NativeCharacteristic[]>;
readCharacteristic(characteristicUUID: UUID, transactionId?: TransactionId): Promise<NativeCharacteristic>;
writeCharacteristicWithResponse(characteristicUUID: UUID, valueBase64: Base64, transactionId?: TransactionId): Promise<NativeCharacteristic>;
writeCharacteristicWithoutResponse(characteristicUUID: UUID, valueBase64: Base64, transactionId?: TransactionId): Promise<NativeCharacteristic>;
monitorCharacteristic(characteristicUUID: UUID, listener: CharacteristicMonitorListener, transactionId?: TransactionId, subscriptionType?: CharacteristicSubscriptionType): Subscription;
descriptorsForCharacteristic(characteristicUUID: UUID): Promise<NativeDescriptor[]>;
readDescriptorForCharacteristic(characteristicUUID: UUID, descriptorUUID: UUID, transactionId?: TransactionId): Promise<NativeDescriptor>;
writeDescriptorForCharacteristic(characteristicUUID: UUID, descriptorUUID: UUID, valueBase64: Base64, transactionId?: TransactionId): Promise<NativeDescriptor>;
}