/// /// import { EventEmitter } from "events"; import { USBDevice } from "./device"; /** * @hidden */ export interface Adapter { getConnected(handle: string): boolean; getOpened(handle: string): boolean; listUSBDevices(preFilters?: Array): Promise>; open(handle: string): Promise; close(handle: string): Promise; selectConfiguration(handle: string, id: number): Promise; claimInterface(handle: string, address: number): Promise; releaseInterface(handle: string, address: number): Promise; selectAlternateInterface(handle: string, interfaceNumber: number, alternateSetting: number): Promise; controlTransferIn(handle: string, setup: USBControlTransferParameters, length: number): Promise; controlTransferOut(handle: string, setup: USBControlTransferParameters, data: ArrayBuffer | ArrayBufferView): Promise; clearHalt(handle: string, direction: USBDirection, endpointNumber: number): Promise; transferIn(handle: string, endpointNumber: number, length: number): Promise; transferOut(handle: string, endpointNumber: number, data: BufferSource): Promise; isochronousTransferIn(_handle: string, _endpointNumber: number, _packetLengths: Array): Promise; isochronousTransferOut(_handle: string, _endpointNumber: number, _data: BufferSource, _packetLengths: Array): Promise; reset(handle: string): Promise; } /** * @hidden */ export declare class USBAdapter extends EventEmitter implements Adapter { static EVENT_DEVICE_CONNECT: string; static EVENT_DEVICE_DISCONNECT: string; private devices; constructor(); private getDeviceHandle; private serialPromises; private serialDevicePromises; private delay; private retryPromise; private loadDevices; private preFilterDevices; private loadDevice; private getCapabilities; private getWebCapability; private decodeUUID; private getWebUrl; private devicetoUSBDevice; private decodeVersion; private getStringDescriptor; private bufferToDataView; private bufferSourceToBuffer; private getEndpoint; private getInEndpoint; private getOutEndpoint; private endpointToUSBEndpoint; private interfaceToUSBAlternateInterface; private interfacesToUSBInterface; private configToUSBConfiguration; private getDevice; private controlTransferParamsToType; private openDevice; getConnected(handle: string): boolean; getOpened(handle: string): boolean; listUSBDevices(preFilters?: Array): Promise>; open(handle: string): Promise; close(handle: string): Promise; selectConfiguration(handle: string, id: number): Promise; claimInterface(handle: string, address: number): Promise; releaseInterface(handle: string, address: number): Promise; selectAlternateInterface(handle: string, interfaceNumber: number, alternateSetting: number): Promise; controlTransferIn(handle: string, setup: USBControlTransferParameters, length: number): Promise; controlTransferOut(handle: string, setup: USBControlTransferParameters, data?: ArrayBuffer | ArrayBufferView): Promise; clearHalt(handle: string, direction: USBDirection, endpointNumber: number): Promise; transferIn(handle: string, endpointNumber: number, length: number): Promise; transferOut(handle: string, endpointNumber: number, data: BufferSource): Promise; isochronousTransferIn(_handle: string, _endpointNumber: number, _packetLengths: Array): Promise; isochronousTransferOut(_handle: string, _endpointNumber: number, _data: BufferSource, _packetLengths: Array): Promise; reset(handle: string): Promise; } /** * @hidden */ export declare const adapter: USBAdapter;