import { MinimalDeviceInfo, UsbTransport } from './usb-transport';
import type { Device as LibUsbDevice } from 'usb';
/**
 * @summary UsbTransport implementation using the 'usb' (libusb) library.
 * @category Adapters
 */
export declare class LibUsbTransport extends UsbTransport {
    device: LibUsbDevice;
    protected readonly minimalDeviceInfo: MinimalDeviceInfo;
    protected readonly wIndex = 0;
    constructor(device: LibUsbDevice, minimalDeviceInfo: MinimalDeviceInfo);
    /**
     * Creates a new instance of LibUsbTransport from a USB device.
     */
    static buildFromDevice(device: LibUsbDevice): Promise<LibUsbTransport>;
    /**
     * Calculates minimal device information from a USB device.
     * This includes vendorId, productId, release, manufacturer, product, and serialNumber.
     */
    static calculateMinimalDeviceInfo(device: LibUsbDevice): Promise<MinimalDeviceInfo>;
    sendFeatureReport(data: Buffer | number[]): Promise<number>;
    getFeatureReport(reportId: number, reportLength: number): Promise<Buffer>;
    getDeviceInfo(): MinimalDeviceInfo;
    close(): Promise<void>;
}
//# sourceMappingURL=lib-usb-transport.d.ts.map