import ByteBuffer from 'bytebuffer';
import eventemitter2 from 'eventemitter2';
import Device from './device';
export interface WebUSBDeviceConfig {
    usbDevice: USBDevice;
    events?: eventemitter2.EventEmitter2;
}
export default class WebUSBDevice extends Device {
    private queue;
    usbDevice: USBDevice;
    events: eventemitter2.EventEmitter2;
    protected interface: Interface;
    static requestPair(): Promise<USBDevice>;
    constructor(config: WebUSBDeviceConfig);
    readonly isInitialized: boolean;
    initialize(): Promise<void>;
    disconnect(): Promise<void>;
    getEntropy(length?: number): Uint8Array;
    sendRaw(buffer: ByteBuffer): Promise<ByteBuffer>;
    protected write(buff: ByteBuffer): Promise<void>;
    protected read(): Promise<ByteBuffer>;
    private writeChunk;
    private readChunk;
}
