import type { TurboModule } from 'react-native'; type DeviceId = string; type Identifier = number; type UUID = string; type Base64 = string; type TransactionId = string; type ConnectionPriority = number; type CharacteristicSubscriptionType = 'notification' | 'indication'; type NativeState = 'Unknown' | 'Resetting' | 'Unsupported' | 'Unauthorized' | 'PoweredOff' | 'PoweredOn'; type NativeLogLevel = 'None' | 'Verbose' | 'Debug' | 'Info' | 'Warning' | 'Error'; type ScanOptions = { allowDuplicates?: boolean; scanMode?: number; callbackType?: number; legacyScan?: boolean; }; type ConnectionOptions = { autoConnect?: boolean; requestMTU?: number; refreshGatt?: 'OnConnected'; timeout?: number; }; type BackgroundModeOptions = { notificationTitle?: string; notificationText?: string; }; type NativeDevice = { id: DeviceId; name: string | null; rssi: number | null; mtu: number; manufacturerData: Base64 | null; rawScanRecord: Base64; serviceData: { [uuid: string]: Base64; } | null; serviceUUIDs: Array | null; localName: string | null; txPowerLevel: number | null; solicitedServiceUUIDs: Array | null; isConnectable: boolean | null; overflowServiceUUIDs: Array | null; }; type NativeService = { id: Identifier; uuid: UUID; deviceID: DeviceId; isPrimary: boolean; }; type NativeCharacteristic = { id: Identifier; uuid: UUID; serviceID: Identifier; serviceUUID: UUID; deviceID: DeviceId; isReadable: boolean; isWritableWithResponse: boolean; isWritableWithoutResponse: boolean; isNotifiable: boolean; isNotifying: boolean; isIndicatable: boolean; value: Base64 | null; }; type NativeDescriptor = { id: Identifier; uuid: UUID; characteristicID: Identifier; characteristicUUID: UUID; serviceID: Identifier; serviceUUID: UUID; deviceID: DeviceId; value: Base64 | null; }; export type NativeBlePlxConstants = { ScanEvent: string; ReadEvent: string; StateChangeEvent: string; RestoreStateEvent: string; DisconnectionEvent: string; }; export type RestorationStatus = { blePlxRestorationAdapterFound: boolean; bleRestorationRegistryFound: boolean; hasRegisterSelector: boolean; initializeWasCalled: boolean; }; export interface Spec extends TurboModule { getConstants(): NativeBlePlxConstants; addListener(eventType: string): void; removeListeners(count: number): void; createClient(restoreIdentifierKey: string | null): void; checkRestorationStatus(): Promise; destroyClient(): Promise; state(): Promise; startDeviceScan(filteredUUIDs: Array | null, options: ScanOptions | null): Promise; stopDeviceScan(): Promise; requestConnectionPriorityForDevice(deviceIdentifier: DeviceId, connectionPriority: ConnectionPriority, transactionId: TransactionId): Promise; readRSSIForDevice(deviceIdentifier: DeviceId, transactionId: TransactionId): Promise; requestMTUForDevice(deviceIdentifier: DeviceId, mtu: number, transactionId: TransactionId): Promise; devices(deviceIdentifiers: Array): Promise>; connectedDevices(serviceUUIDs: Array): Promise>; connectToDevice(deviceIdentifier: DeviceId, options: ConnectionOptions | null): Promise; cancelDeviceConnection(deviceIdentifier: DeviceId): Promise; isDeviceConnected(deviceIdentifier: DeviceId): Promise; discoverAllServicesAndCharacteristicsForDevice(deviceIdentifier: DeviceId, transactionId: TransactionId): Promise; servicesForDevice(deviceIdentifier: DeviceId): Promise>; characteristicsForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID): Promise>; characteristicsForService(serviceIdentifier: Identifier): Promise>; descriptorsForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID): Promise>; descriptorsForService(serviceIdentifier: Identifier, characteristicUUID: UUID): Promise>; descriptorsForCharacteristic(characteristicIdentifier: Identifier): Promise>; readCharacteristicForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, transactionId: TransactionId): Promise; readCharacteristicForService(serviceIdentifier: Identifier, characteristicUUID: UUID, transactionId: TransactionId): Promise; readCharacteristic(characteristicIdentifier: Identifier, transactionId: TransactionId): Promise; writeCharacteristicForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, valueBase64: Base64, withResponse: boolean, transactionId: TransactionId): Promise; writeCharacteristicForService(serviceIdentifier: Identifier, characteristicUUID: UUID, valueBase64: Base64, withResponse: boolean, transactionId: TransactionId): Promise; writeCharacteristic(characteristicIdentifier: Identifier, valueBase64: Base64, withResponse: boolean, transactionId: TransactionId): Promise; monitorCharacteristicForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, transactionId: TransactionId, subscriptionType: CharacteristicSubscriptionType | null): Promise; monitorCharacteristicForService(serviceIdentifier: Identifier, characteristicUUID: UUID, transactionId: TransactionId, subscriptionType: CharacteristicSubscriptionType | null): Promise; monitorCharacteristic(characteristicIdentifier: Identifier, transactionId: TransactionId, subscriptionType: CharacteristicSubscriptionType | null): Promise; readDescriptorForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, descriptorUUID: UUID, transactionId: TransactionId): Promise; readDescriptorForService(serviceIdentifier: Identifier, characteristicUUID: UUID, descriptorUUID: UUID, transactionId: TransactionId): Promise; readDescriptorForCharacteristic(characteristicIdentifier: Identifier, descriptorUUID: UUID, transactionId: TransactionId): Promise; readDescriptor(descriptorIdentifier: Identifier, transactionId: TransactionId): Promise; writeDescriptorForDevice(deviceIdentifier: DeviceId, serviceUUID: UUID, characteristicUUID: UUID, descriptorUUID: UUID, valueBase64: Base64, transactionId: TransactionId): Promise; writeDescriptorForService(serviceIdentifier: Identifier, characteristicUUID: UUID, descriptorUUID: UUID, valueBase64: Base64, transactionId: TransactionId): Promise; writeDescriptorForCharacteristic(characteristicIdentifier: Identifier, descriptorUUID: UUID, valueBase64: Base64, transactionId: TransactionId): Promise; writeDescriptor(descriptorIdentifier: Identifier, valueBase64: Base64, transactionId: TransactionId): Promise; enableBackgroundMode(options: BackgroundModeOptions | null): Promise; disableBackgroundMode(): Promise; updateBackgroundNotification(options: BackgroundModeOptions | null): Promise; isBackgroundModeEnabled(): Promise; cancelTransaction(transactionId: TransactionId): Promise; setLogLevel(logLevel: NativeLogLevel): Promise; logLevel(): Promise; } declare const _default: Spec; export default _default; //# sourceMappingURL=NativeBlePlx.d.ts.map