import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSet } from "../Foundation/NSSet.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _MIDINetworkConnection } from "./MIDINetworkConnection.js";
import type { _MIDINetworkHost } from "./MIDINetworkHost.js";
import type { MIDINetworkConnectionPolicy } from "./MIDINetworkConnectionPolicy.js";
export declare class _MIDINetworkSession extends _NSObject {
    static alloc(): _MIDINetworkSession;
    static new(): _MIDINetworkSession;
    init(): _MIDINetworkSession;
    /** returns the singleton. */
    static defaultSession(): _MIDINetworkSession;
    /**
     * The driver maintains a directory of MIDINetworkHosts, "contacts," for user convenience in initiating connections, and for controlling incoming connection requests.
     */
    contacts(): _NSSet;
    addContact$(contact: _MIDINetworkHost): boolean;
    removeContact$(contact: _MIDINetworkHost): boolean;
    connections(): _NSSet;
    addConnection$(connection: _MIDINetworkConnection): boolean;
    removeConnection$(connection: _MIDINetworkConnection): boolean;
    sourceEndpoint(): number;
    destinationEndpoint(): number;
    /**
     * disabled sessions do not appear on the network and cannot initiate or receive connections. default is NO (disabled).
     */
    enabled(): boolean;
    setEnabled$(value: boolean): void;
    /** UDP port */
    networkPort(): number;
    /** name by which this session is advertised via Bonjour */
    networkName(): _NSString;
    /** name of this session's CoreMIDI entity (inherited by its endpoints) */
    localName(): _NSString;
    /** who can connect to this session? see constants above. */
    connectionPolicy(): MIDINetworkConnectionPolicy;
    setConnectionPolicy$(value: MIDINetworkConnectionPolicy): void;
}
