react-native-ble-nitro
Version:
High-performance React Native BLE library built on Nitro Modules - drop-in replacement for react-native-ble-plx
27 lines (26 loc) • 1.46 kB
TypeScript
import type { HybridObject } from 'react-native-nitro-modules';
import type { Identifier, UUID, DeviceId, Base64, TransactionId, CharacteristicSubscriptionType, NativeDescriptor, CharacteristicMonitorListener, Subscription } from './types';
export interface Characteristic extends HybridObject<{
ios: 'swift';
android: 'kotlin';
}> {
readonly id: Identifier;
readonly uuid: UUID;
readonly serviceID: Identifier;
readonly serviceUUID: UUID;
readonly deviceID: DeviceId;
readonly isReadable: boolean;
readonly isWritableWithResponse: boolean;
readonly isWritableWithoutResponse: boolean;
readonly isNotifiable: boolean;
readonly isNotifying: boolean;
readonly isIndicatable: boolean;
readonly value: Base64 | null;
read(transactionId?: TransactionId): Promise<Characteristic>;
writeWithResponse(valueBase64: Base64, transactionId?: TransactionId): Promise<Characteristic>;
writeWithoutResponse(valueBase64: Base64, transactionId?: TransactionId): Promise<Characteristic>;
monitor(listener: CharacteristicMonitorListener, transactionId?: TransactionId, subscriptionType?: CharacteristicSubscriptionType): Subscription;
descriptors(): Promise<NativeDescriptor[]>;
readDescriptor(descriptorUUID: UUID, transactionId?: TransactionId): Promise<NativeDescriptor>;
writeDescriptor(descriptorUUID: UUID, valueBase64: Base64, transactionId?: TransactionId): Promise<NativeDescriptor>;
}