import type { OpenMXConsoleOptions, MXCreativeConsole } from '@logitech-mx-creative-console/core';
import * as HID from 'node-hid';
import { MXCreativeConsoleDeviceInfo } from './hid-device.js';
import { JPEGEncodeOptions } from './jpeg.js';
export { VENDOR_ID, DeviceModelId, KeyIndex, MXCreativeConsole, LcdPosition, Dimension, MXConsoleControlDefinitionBase, MXConsoleButtonControlDefinition, MXConsoleButtonControlDefinitionNoFeedback, MXConsoleEncoderControlDefinition, MXConsoleControlDefinition, OpenMXConsoleOptions, } from '@logitech-mx-creative-console/core';
export { MXCreativeConsoleDeviceInfo, JPEGEncodeOptions };
export interface OpenMXCreativeConsoleOptionsNode extends OpenMXConsoleOptions {
    jpegOptions?: JPEGEncodeOptions;
    resetToLogoOnClose?: boolean;
}
/**
 * Scan for and list detected devices
 */
export declare function listMXCreativeConsoleDevices(): Promise<MXCreativeConsoleDeviceInfo[]>;
/**
 * If the provided device is a mx creative console, get the info about it
 */
export declare function getMXCreativeConsoleDeviceInfo(dev: HID.Device): MXCreativeConsoleDeviceInfo | null;
/**
 * Get the info of a device if the given path is a mx creative console
 */
export declare function getMXCreativeConsoleInfo(path: string): Promise<MXCreativeConsoleDeviceInfo | undefined>;
/**
 * Open a mx creative console
 * @param devicePath The path of the device to open.
 * @param userOptions Options to customise the device behvaiour
 */
export declare function openMxCreativeConsole(devicePath: string, userOptions?: OpenMXCreativeConsoleOptionsNode): Promise<MXCreativeConsole>;
//# sourceMappingURL=index.d.ts.map