/// <reference types="node" />
import { Device, GattServer } from "node-ble";
declare class BLE {
    private bluetooth;
    private destroy;
    private adapter;
    private uuidToDeviceAndGatt;
    private callbackToCharacteristic;
    constructor();
    discover(wait?: number): Promise<string[]>;
    connectToDevice(uuid: string): Promise<{
        device: Device;
        gattServer: GattServer;
    }>;
    getServiceAndCharacteristicUUIDs(uuid: string): Promise<{
        serviceUUID: string;
        characteristicUUID: string;
    }>;
    disconnectDevice(uuid: string): Promise<void>;
    writeValue(uuid: string, primaryServiceUUID: string, characteristicUUID: string, value: Buffer): Promise<void>;
    readValue(uuid: string, primaryServiceUUID: string, characteristicUUID: string): Promise<Buffer>;
    subscribe(uuid: string, primaryServiceUUID: string, characteristicUUID: string, callback: (buffer: Buffer) => void): Promise<void>;
    unsubscribe(callback: (buffer: Buffer) => void): Promise<void>;
    destroyBluetooth(): void;
}
declare const ble: BLE;
export { ble };
