///
import { Listener } from 'jsignal';
import { PostCubeVersion } from '../constants/bluetooth';
import { PostCube, ScanOptions, ScanResult, Unwatch } from './postcube';
export declare const isEnabled: () => Promise;
export declare const requestPostCube: (namePrefix: string, services?: (string | number)[]) => Promise;
export declare const scanForPostCubes: (options?: ScanOptions, services?: (string | number)[]) => Promise;
export declare class PostCubeWeb extends PostCube {
static PlatformName: string;
private device;
private _version;
private _detectVersionOnConnect;
private _cachedServices;
private _cachedCharacteristics;
private _enabledNotifications;
inactivityDisconnectTimeoutMs: number;
get deviceId(): string;
get isConnected(): boolean;
get version(): PostCubeVersion;
constructor(device: BluetoothDevice);
protected tmpl(string: string): string;
private handleGattServerDisconnected;
private handleAdvertisementReceived;
private getService;
private getCharacteristic;
connect(timeoutMs?: number): Promise;
disconnect(timeoutMs?: number): Promise;
read(serviceUUID: string, characteristicUUID: string, timeoutMs?: number): Promise;
write(serviceUUID: string, characteristicUUID: string, value: DataView, timeoutMs?: number): Promise;
startNotifications(serviceUUID: string, characteristicUUID: string, timeoutMs?: number): Promise;
watchNotifications(serviceUUID: string, characteristicUUID: string, listener: Listener, timeoutMs?: number): Promise;
}