export type MicroBitSensors = {
    tiltX: number;
    tiltY: number;
    buttonA: number;
    buttonB: number;
    touchPins: [number, number, number];
    gestureState: number;
};
export type MicroBitSensorListener = (current: MicroBitSensors, previous: MicroBitSensors) => void;
export declare const isMicroBitWebBluetoothSupported: () => boolean;
export declare const isMicroBitDevice: (device: unknown) => device is MicroBitWebBluetooth;
export default class MicroBitWebBluetooth {
    id: string;
    name: string;
    readonly deviceType = "micro:bit";
    readonly isMicroBitWebBluetooth = true;
    sensors: MicroBitSensors;
    private device;
    private server;
    private sensorCharacteristic;
    private sensorListeners;
    private disconnectListeners;
    private receiveTimeoutId;
    private didEmitDisconnect;
    static defaultSensors(): MicroBitSensors;
    connect(): Promise<this>;
    disconnect(): void;
    isConnected(): boolean;
    getFriendlyName(): string;
    addSensorListener(callback: MicroBitSensorListener): () => void;
    addDisconnectListener(callback: (microBit: MicroBitWebBluetooth) => void): () => void;
    handleSensorData(value: DataView | null | undefined): void;
    private handleCharacteristicValueChanged;
    private handleGattServerDisconnected;
    private releaseConnection;
    private resetReceiveTimeout;
    private clearReceiveTimeout;
    private emitDisconnect;
}
