/** * Web Bluetooth-backed `OpossumClient`. Wraps `OpossumVibrateAdapter` the * same way `WebBluetoothDeviceClient` wraps `CoyoteProtocolAdapter` for * Coyote, minus the auto-reconnect option (see `aux-device-connect.ts`'s * doc comment for why that's intentionally out of scope here). */ import type { OpossumCommand } from '@dg-kit/core'; import { type OpossumClient, type OpossumCommandResult, type OpossumState, type OpossumButtonEvent } from '@dg-kit/protocol'; import type { BluetoothDeviceLike, BluetoothRemoteGATTServerLike, NavigatorBluetoothLike, RequestDeviceOptionsLike } from '@dg-kit/protocol'; export interface WebBluetoothOpossumClientOptions { navigatorRef?: NavigatorBluetoothLike; /** Overrides the default opossum-only scan filter — mainly for tests. */ requestDeviceOptions?: RequestDeviceOptionsLike; } export declare class WebBluetoothOpossumClient implements OpossumClient { private readonly options; private readonly adapter; private readonly listeners; private device; constructor(options?: WebBluetoothOpossumClientOptions); connect(): Promise; /** * Attach to an already-obtained `(device, server)` pair instead of * running this client's own chooser prompt — see * `aux-device-connect.ts`'s `attachAuxDevice()` doc comment. */ connectDevice(device: BluetoothDeviceLike, server: BluetoothRemoteGATTServerLike): Promise; disconnect(): Promise; getState(): Promise; execute(command: OpossumCommand): Promise; emergencyStop(): Promise; setIndicatorColor(color: number): Promise; onStateChanged(listener: (state: OpossumState) => void): () => void; subscribeButtons(listener: (event: OpossumButtonEvent) => void): () => void; private readonly handleGattDisconnected; private emit; } //# sourceMappingURL=opossum-client.d.ts.map