import type { _NSObject } from "../Foundation/NSObject.js";
import type { MIDI2DeviceManufacturer } from "../structs/MIDI2DeviceManufacturer.js";
import type { MIDI2DeviceRevisionLevel } from "../structs/MIDI2DeviceRevisionLevel.js";
export declare class _MIDI2DeviceInfo extends _NSObject {
    static alloc(): _MIDI2DeviceInfo;
    static new(): _MIDI2DeviceInfo;
    init(): _MIDI2DeviceInfo;
    /**
     * The initializer for constructing the MIDI2DeviceInfo object. The 3-Byte manufacturer System Exclusive ID. The 14-bit device family. The 14-bit model number. The 4-Byte revision level. Provided values for family or modelNumber must be within their expected bit range. For example, if modelNumber is outside of the range of a 14-bit number.
     */
    initWithManufacturerID$family$modelNumber$revisionLevel$(manufacturerID: MIDI2DeviceManufacturer, family: number, modelNumber: number, revisionLevel: MIDI2DeviceRevisionLevel): _MIDI2DeviceInfo;
    /**
     * The MIDI System Exclusive ID of the device manufacturer, up to 3-Bytes. One-byte SysEx IDs use only the least significant byte (e.g., Apple's System Exclusive ID, 0x11).
     */
    manufacturerID(): MIDI2DeviceManufacturer;
    /** The family of models to which the device belongs, up to 14 bits. */
    family(): number;
    /** The specific model from the device manufacturer, up to 14 bits. */
    modelNumber(): number;
    /** The version number of a device model number. */
    revisionLevel(): MIDI2DeviceRevisionLevel;
}
