import { type NavigatorBluetoothLike, type RequestDeviceOptionsLike, type RequestedDevice } from '@dg-kit/protocol'; export interface RequestDgLabDeviceOptions { navigatorRef?: NavigatorBluetoothLike; requestDeviceOptions?: RequestDeviceOptionsLike; } /** @see RequestedDevice — the shared shape every cross-kind picker returns. */ export type RequestedDgLabDevice = RequestedDevice; /** * Open ONE shared Web Bluetooth chooser scoped to every known DG-Lab device * kind (Coyote V2/V3, paw-prints, civet-edging, Opossum — see * `DG_LAB_REQUEST_DEVICE_OPTIONS`), connect its GATT server, and identify * which kind was picked via `detectDeviceKind()`. * * This is the shared foundation for a single "连接设备" entry point that can * pick up any of the four device kinds, auto-detected by name, instead of a * separate chooser per kind. Callers route the returned `(kind, device, * server)` to the right adapter/client themselves — e.g. a Coyote pick goes * to `WebBluetoothDeviceClient.connectDevice()`, a sensor/Opossum pick goes * straight to that device's own protocol adapter's `onConnected()`. * * Rejects (and disconnects) on an unrecognized device name — the chooser's * `filters` already scope results to DG-Lab prefixes, so this should only * trigger if a device happens to advertise a matching prefix without * actually being a DG-Lab device. */ export declare function requestDgLabDevice(options?: RequestDgLabDeviceOptions): Promise; //# sourceMappingURL=picker.d.ts.map