import type { NobjcObject } from "objc-js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _MIDICIDevice } from "./MIDICIDevice.js";
import type { _MIDIUMPEndpoint } from "./MIDIUMPEndpoint.js";
export declare class _MIDIUMPFunctionBlock extends _NSObject {
    static alloc(): _MIDIUMPFunctionBlock;
    static new(): _MIDIUMPFunctionBlock;
    init(): _MIDIUMPFunctionBlock;
    /** @property name @brief A string containing the Function Block's name. */
    name(): _NSString;
    /** @property functionBlockID @brief The device-unique ID for this Function Block. */
    functionBlockID(): NobjcObject;
    /**
     * @property direction @brief The direction of the Function Block: input, output, or bidirectional.
     */
    direction(): NobjcObject;
    /** @property firstGroup @brief The first Group spanned by this Function Block. */
    firstGroup(): NobjcObject;
    /**
     * @property totalGroupsSpanned @brief The total number of groups spanned by this Function Block.
     */
    totalGroupsSpanned(): NobjcObject;
    /**
     * @property maxSysEx8Streams @brief The maximum number of simultaneous Sysex8 streams.
     */
    maxSysEx8Streams(): NobjcObject;
    /** @property MIDI1Info @brief MIDI 1.0 speed information. */
    MIDI1Info(): NobjcObject;
    /**
     * @property UIHint @brief A hint for UI about the primary usage of this Function Block.
     */
    UIHint(): NobjcObject;
    /**
     * @property UMPEndpoint @brief The UMP Endpoint to which this Function Block is registered. @discussion If the function block does not belong to an endpoint this property will be nil.
     */
    UMPEndpoint(): _MIDIUMPEndpoint | null;
    /**
     * @property MIDICIDevice @brief Retrieve the MIDICIDevice class interface if the Function Block supports MIDI-CI. @discussion If a Function Block was created as a MIDICIDevice object, this property will provide an in-place MIDICIDevice interface that may be used with MIDI-CI API. If the device was not created as a MIDICIDevice, this method returns nil.
     */
    midiCIDevice(): _MIDICIDevice | null;
    /** @property isEnabled @brief The enable state of this Function Block. */
    isEnabled(): boolean;
}
