import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _AVAudioSession } from "../AVFAudio/AVAudioSession.js";
import type { _AVAudioSessionPortDescription } from "../AVFAudio/AVAudioSessionPortDescription.js";
export declare class _BEAudioSession extends _NSObject {
    static alloc(): _BEAudioSession;
    static new(): _BEAudioSession;
    init(): _BEAudioSession;
    /**
     * Creates a BE audio session from an AV audio session - Parameters: - session: The AV audio session
     */
    initWithAudioSession$(audioSession: _AVAudioSession): _BEAudioSession;
    /**
     * @brief Select a preferred output port for audio routing. Setting a nil value will clear the preference.
     */
    setPreferredOutput$error$(outPort: _AVAudioSessionPortDescription | null, outError: NobjcObject | null): boolean;
    /** Gets the set of output ports that are available for routing. */
    availableOutputs(): _NSArray | null;
    /** Get the preferred output port. Will be nil if no preference has been set. */
    preferredOutput(): _AVAudioSessionPortDescription | null;
}
