import { EventEmitter } from 'eventemitter3'; import type { HIDDevice, HIDDeviceInfo } from '../hid-device.js'; import type { BlackmagicControllerModelId, Dimension, KeyId } from '../info.js'; import type { BlackmagicControllerModelInfo } from '../modelInfo.js'; import type { BlackmagicController, BlackmagicControllerEvents, BlackmagicControllerSetButtonSomeValue } from '../types.js'; import type { BlackmagicControllerButtonControlDefinition, BlackmagicControllerControlDefinition, BlackmagicControllerTBarControlDefinition } from '../controlDefinition.js'; import type { PropertiesService } from '../services/properties/interface.js'; import type { CallbackHook } from '../services/callback-hook.js'; import type { BlackmagicControllerInputService } from '../services/input/interface.js'; import type { BlackmagicControllerLedService } from '../services/led/interface.js'; export type EncodeJPEGHelper = (buffer: Uint8Array, width: number, height: number) => Promise; export type OpenBlackmagicControllerOptions = Record; export interface OpenBlackmagicControllerOptionsInternal { nextAuthMaxDelay: number | null; authenticate: ((device: HIDDevice) => Promise) | null; } export type BlackmagicControllerProperties = Readonly<{ model: BlackmagicControllerModelId; productName: string; controls: Readonly; /** The extent of the face, which every control's `bounds` is within */ faceSize: Dimension; hasBattery: boolean; }>; /** * The properties of a model which are known without a device present. * The identity of the model is applied when its `BlackmagicControllerModelDefinition` is built */ export type BlackmagicControllerStaticProperties = Omit; export interface BlackmagicControllerServicesDefinition { modelInfo: BlackmagicControllerModelInfo; deviceProperties: BlackmagicControllerProperties; events: CallbackHook; properties: PropertiesService; inputService: BlackmagicControllerInputService; led: BlackmagicControllerLedService; } export declare class BlackmagicControllerBase extends EventEmitter implements BlackmagicController { #private; get modelInfo(): BlackmagicControllerModelInfo; /** @deprecated Use `modelInfo.controls` instead */ get CONTROLS(): Readonly; /** @deprecated Use `modelInfo.id` instead */ get MODEL(): BlackmagicControllerModelId; /** @deprecated Use `modelInfo.name` instead */ get PRODUCT_NAME(): string; protected readonly device: HIDDevice; protected readonly deviceProperties: Readonly; constructor(device: HIDDevice, options: OpenBlackmagicControllerOptionsInternal, services: BlackmagicControllerServicesDefinition); protected checkValidKeyId(keyId: KeyId, feedbackType: BlackmagicControllerButtonControlDefinition['feedbackType'] | null): BlackmagicControllerButtonControlDefinition; protected checkValidTbarIndex(id: number): BlackmagicControllerTBarControlDefinition; close(): Promise; getHidDeviceInfo(): Promise; getBatteryLevel(): Promise; getFirmwareVersion(): Promise; getSerialNumber(): Promise; setButtonColor(keyId: KeyId, red: boolean, green: boolean, blue: boolean): Promise; setButtonOnOff(keyId: KeyId, on: boolean): Promise; setButtonStates(values: BlackmagicControllerSetButtonSomeValue[]): Promise; setTbarLeds(leds: boolean[]): Promise; clearKey(keyId: KeyId): Promise; clearPanel(): Promise; } //# sourceMappingURL=base.d.ts.map