import type { HIDDevice } from './hid-device.js';
import { DeviceModelId } from './id.js';
import type { MXCreativeConsole } from './types.js';
import type { OpenMXConsoleOptions } from './models/base.js';
import type { PropertiesService } from './services/properties/interface.js';
export * from './types.js';
export * from './id.js';
export * from './controlDefinition.js';
export type { HIDDevice, HIDDeviceInfo, HIDDeviceEvents } from './hid-device.js';
export type { OpenMXConsoleOptions } from './models/base.js';
export { MXCreativeConsoleProxy } from './proxy.js';
export type { PropertiesService } from './services/properties/interface.js';
export { uint8ArrayToDataView } from './util.js';
/** Logitech vendor id */
export declare const VENDOR_ID = 1133;
export interface DeviceModelSpec {
    id: DeviceModelId;
    productIds: number[];
    productName: string;
    factory: (device: HIDDevice, options: Required<OpenMXConsoleOptions>, propertiesService?: PropertiesService) => MXCreativeConsole;
    /**
     * Some extra writes to do after the device is opened, to initialise it
     */
    initWrites?: Uint8Array[];
}
/** List of all the known models, and the classes to use them */
export declare const DEVICE_MODELS2: {
    [key in DeviceModelId]: Omit<DeviceModelSpec, 'id' | 'productName'>;
};
/** @deprecated maybe? */
export declare const DEVICE_MODELS: DeviceModelSpec[];
//# sourceMappingURL=index.d.ts.map