///
import { EventEmitter } from "eventemitter3";
export declare const VENDOR_ID = "0403";
export declare const PRODUCT_ID = "6001";
interface Events {
ready: [];
error: [Error];
}
export declare class EnttecOpenDMXUSBDevice extends EventEmitter {
private shouldBeSending;
private sendTimeout;
private buffer;
private readonly port;
/**
* @param {string} path A path returned by {@link EnttecOpenDMXUSBDevice.listDevices} or
* {@link EnttecOpenDMXUSBDevice.getFirstAvailableDevice}.
* @param {boolean} [startSending=true] If the device should start sending as soon as it is ready.
*/
constructor(path: string, startSending?: boolean);
/**
* Starts sending.
* @param {number} [interval=0] The time between each attempt to send.
* @throws Error If the device is not ready yet.
*/
startSending(interval?: number): void;
/**
* Stops sending.
*/
stopSending(): void;
/**
* Sets the channel values.
* If channels is an Object, the keys are the channel numbers.
*
* @param {Buffer|Object|Array} channels
* @param {boolean} [clear=false] Whether all previously assigned channels should be set to 0
*/
setChannels(channels: Buffer | number[] | Record, clear?: boolean): void;
/**
* @returns {Promise} Resolves when the whole universe was send.
* @private
*/
private sendUniverse;
/**
* Lists the paths of all available devices.
* @returns {Promise}
*/
static listDevices(): Promise;
/**
* Gets the path of the first available device found.
* @throws Error when no device is found.
* @returns {Promise}
*/
static getFirstAvailableDevice(): Promise;
}
export {};