import type { HIDDevice } from './hid-device.js'; import { BlackmagicControllerModelId } from './info.js'; import type { BlackmagicController } from './types.js'; import type { OpenBlackmagicControllerOptions, OpenBlackmagicControllerOptionsInternal } from './models/base.js'; /** * Opens a device of a known model, performing any authentication the model requires. * Already bound to the model it was looked up by */ export type BlackmagicControllerDriver = (device: HIDDevice, options?: OpenBlackmagicControllerOptions) => Promise; export interface DeviceModelSpec { id: BlackmagicControllerModelId; productIds: number[]; factory: (device: HIDDevice, options: Required) => BlackmagicController; authenticate?: (device: HIDDevice) => Promise; } /** * Get the driver to open a device of a model. * * This is the integration point for libraries which provide their own HID implementation, and is not intended for * end users. The driver performs any authentication the model requires before resolving. */ export declare function getDriver(id: BlackmagicControllerModelId): BlackmagicControllerDriver | undefined; /** * List of all the known models, and the classes to use them * @deprecated Use `DEVICE_MODEL_INFO` and {@link getDriver} instead */ export declare const DEVICE_MODELS2: { [key in BlackmagicControllerModelId]: Omit; }; /** @deprecated Use `DEVICE_MODEL_INFO` and {@link getDriver} instead */ export declare const DEVICE_MODELS: DeviceModelSpec[]; //# sourceMappingURL=registry.d.ts.map