import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _IMAVControlBar } from "./IMAVControlBar.js";
export declare class _IMAVManager extends _NSObject {
    static alloc(): _IMAVManager;
    static new(): _IMAVManager;
    init(): _IMAVManager;
    /**
     * Returns the shared instance of the IMAVManager. The shared manager.
     * @deprecated
     */
    static sharedAVManager(): _IMAVManager;
    /**
     * Returns the current state of the receiver. The current IMAVManagerState, as updated by Messages AV. See "Constants" in this document for possible values.
     * @deprecated
     */
    state(): number;
    /**
     * Returns the URL of the document that has been chosen by the user and should be shared with iChat Theater. The URL of the document to be shared. Returns nil if the receiver's state is IMAVInactive .
     * @deprecated
     */
    URLToShare(): _NSURL;
    /**
     * Sets the object which will provide video data to Messages AV. The delegate must implement appropriate methods described in the IMVideoDataSource informal protocol. Object to receive the callback methods. nil removes the data source. This object is not retained. Any NSView (or subclass) may be used as well, providing basic functionality without the need for clients to implement the frame callbacks.
     * @deprecated
     */
    setVideoDataSource$(dataSource: NobjcObject): void;
    /**
     * Returns the current video data source. The data source, or nil if none is set.
     * @deprecated
     */
    videoDataSource(): NobjcObject;
    /**
     * Describes the video content that will be provided by the data source. The options to use. See "Constants" in this document for possible values.
     * @deprecated
     */
    setVideoOptimizationOptions$(options: number): void;
    /**
     * Returns the current video optimization options. The current options. See "Constants" in this document for possible values.
     * @deprecated
     */
    videoOptimizationOptions(): number;
    /**
     * Sets the number of audio channels that will be configured after calling start . The number of channels. Pass zero to disable sending audio, 1 for mono sound, and 2 for stereo.
     * @deprecated
     */
    setNumberOfAudioChannels$(count: number): void;
    /**
     * Returns the number of audio channels that will be configured by the receiver. The number of channels.
     * @deprecated
     */
    numberOfAudioChannels(): number;
    /**
     * Returns the UID of the device into which audio should be played, valid when the receiver's state is IMAVRunning . The UID of the device. The device is obtained by calling AudioHardwareGetProperty() with this value and the kAudioHardwarePropertyDeviceForUID property ID.
     * @deprecated
     */
    audioDeviceUID(): _NSString;
    /**
     * The channel numbers into which audio should be played on the output device. An array of NSNumbers identifying the channels to use. If two channels were requested, they correspond to the left and right channels, in that order.
     * @deprecated
     */
    audioDeviceChannels(): _NSArray;
    /**
     * The control bar configured for use with an IMAVManager. The control bar.
     * @deprecated
     */
    controlBar(): _IMAVControlBar;
    /**
     * Requests to send audio and/or video Messages AV. Clients must have previously called setVideoDataSource: to send video, and setNumberOfAudioChannels: with a value greater than zero to send audio. The state will change to IMAVStartingUp , and then either to IMAVPending or IMAVRunning , depending on whether or not there is an active conference in Messages AV.
     * @deprecated
     */
    start(): void;
    /**
     * Stops sending audio and/or video to Messages AV.
     * @deprecated
     */
    stop(): void;
}
