/// <reference types="w3c-web-hid" />
import { HIDProvider, DualsenseHIDState } from "./hid_provider";
export declare class WebHIDProvider extends HIDProvider {
    device?: HIDDevice;
    wireless?: boolean;
    buffer?: DataView;
    constructor();
    /**
     * WebHID API doesn't indicate whether we are connected through the controller's
     * USB or Bluetooth interface. The protocol is different depending on the connection
     * type so we will try to detect it based on the collection information.
     */
    detectConnectionType(): void;
    attach(device: HIDDevice): void;
    /**
     * You need to get HID device permissions from an interactive
     * component, like a button. This returns a callback for triggering
     * the permissions request.
     */
    getRequest(): () => Promise<unknown>;
    connect(): void;
    get connected(): boolean;
    disconnect(): void;
    write(data: Uint8Array): Promise<void>;
    process({ reportId, buffer, }: {
        reportId: number;
        buffer: DataView;
    }): DualsenseHIDState;
}
//# sourceMappingURL=web_hid_provider.d.ts.map