import { AccessHIDProvider, AccessHIDState } from "./access_hid_provider"; export interface AccessWebHIDProviderOptions { /** Attach to this specific HIDDevice instead of discovering one */ device?: HIDDevice; } /** Callback invoked for each device selected via the WebHID permission dialog */ export type AccessWebHIDDeviceCallback = (device: HIDDevice) => void; export declare class AccessWebHIDProvider extends AccessHIDProvider { device?: HIDDevice; wireless?: boolean; buffer?: DataView; private readonly targetDevice?; constructor(options?: AccessWebHIDProviderOptions); /** * Detect USB vs BT by checking for Feature Report 0x63 in the HID descriptor. * Present in BT descriptor, absent in USB. */ detectConnectionType(): void; /** Derive a stable identity string for a WebHID device */ private static deviceKey; attach(device: HIDDevice): void; /** * Detach the current HIDDevice and attach a different one in place. * Used by the manager to transplant a freshly-discovered device. */ replaceDevice(device: HIDDevice): void; /** * Returns a callback for triggering the WebHID permissions request * filtered to Access controllers. */ getRequest(): () => Promise; /** Request permission for multiple Access devices at once */ static getMultiRequest(onDevice: AccessWebHIDDeviceCallback, onError?: (error: Error) => void): () => Promise; /** List already-permitted Access devices */ static enumerate(): Promise; connect(): void; get connected(): boolean; disconnect(): void; readFeatureReport(reportId: number): Promise; sendFeatureReport(reportId: number, data: Uint8Array): Promise; /** Query the HID descriptor for the expected payload length of a feature report */ private getFeatureReportLength; write(data: Uint8Array): Promise; process({ reportId, buffer, }: { reportId: number; buffer: DataView; }): AccessHIDState; } //# sourceMappingURL=access_web_hid_provider.d.ts.map