/** * Tauri-backed Opossum vibrate-controller client. Mirrors * `@dg-kit/transport-webbluetooth`'s `WebBluetoothOpossumClient` — same * wrapping of `@dg-kit/protocol`'s `OpossumVibrateAdapter`, same * `execute(OpossumCommand)` delegation straight to the adapter (both * `OpossumCommand` and `OpossumState` are plain `@dg-kit/*` types, not * consumer-specific, so this class can implement the full surface here * rather than leaving `execute()` to a downstream composition layer) — only * the connection mechanism differs: `connectTauriAuxDevice()` (scan + host * picker + plugin-blec) instead of `navigator.bluetooth.requestDevice()`. */ import type { OpossumCommand } from '@dg-kit/core'; import { type OpossumButtonEvent, type OpossumCommandResult, type OpossumState } from '@dg-kit/protocol'; import type { BluetoothDeviceLike, BluetoothRemoteGATTServerLike } from '@dg-kit/protocol'; import type { GattReadyRetryOptions } from './gatt-ready.js'; import type { DeviceSelectionController } from './scan.js'; export type { OpossumCommandResult } from '@dg-kit/protocol'; export interface TauriBlecOpossumClientOptions extends GattReadyRetryOptions { selectDevice: (controller: DeviceSelectionController) => Promise; /** Overrides the default Opossum-only scan filter — mainly for tests. */ namePrefixes?: string[]; scanDurationMs?: number; } export declare class TauriBlecOpossumClient { private readonly options; private readonly adapter; private readonly listeners; private device; constructor(options: TauriBlecOpossumClientOptions); /** The BLE address of the currently-connected device, or `null` if disconnected. */ get address(): string | null; connect(): Promise; /** * Attach to an already-obtained `(device, server)` pair instead of * running this client's own scan + picker — see `aux-connect.ts`'s * `attachTauriAuxDevice()` doc comment. Lets a unified cross-kind picker * (`requestDgLabDeviceTauri()`) hand a picked+connected Opossum straight * to this client once `detectDeviceKind()` identifies it. */ connectDevice(device: BluetoothDeviceLike, server: BluetoothRemoteGATTServerLike): Promise; disconnect(): Promise; getState(): Promise; execute(command: OpossumCommand): Promise; emergencyStop(): Promise; setIndicatorColor(color: number): Promise; subscribeButtons(listener: (event: OpossumButtonEvent) => void): () => void; onStateChanged(listener: (state: OpossumState) => void): () => void; private readonly handleGattDisconnected; private emit; } //# sourceMappingURL=opossum-client.d.ts.map