import type { NobjcObject } from "objc-js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSet } from "../Foundation/NSSet.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _CWChannel } from "./CWChannel.js";
import type { _CWConfiguration } from "./CWConfiguration.js";
import type { _CWNetwork } from "./CWNetwork.js";
import type { _SFAuthorization } from "../SecurityFoundation/SFAuthorization.js";
import type { CWCipherKeyFlags } from "./CWCipherKeyFlags.js";
import type { CWIBSSModeSecurity } from "./CWIBSSModeSecurity.js";
import type { CWInterfaceMode } from "./CWInterfaceMode.js";
import type { CWPHYMode } from "./CWPHYMode.js";
import type { CWSecurity } from "./CWSecurity.js";
export declare class _CWInterface extends _NSObject {
    static alloc(): _CWInterface;
    static new(): _CWInterface;
    init(): _CWInterface;
    /**
     * An NSSet of NSString objects. Returns the list of available Wi-Fi interface names (e.g. "en0"). Returns an empty NSArray object if no Wi-Fi interfaces exist. Returns nil if an error occurs.
     * @deprecated
     */
    static interfaceNames(): _NSSet | null;
    /**
     * Convenience method for getting a CWInterface object for the default Wi-Fi interface.
     * @deprecated
     */
    static interface(): _CWInterface;
    /**
     * The name of an available Wi-Fi interface. Convenience method for getting a CWInterface object bound to the Wi-Fi interface with a specific interface name. Use +[CWInterface interfaceNames] to get a list of available Wi-Fi interface names. Returns a CWInterface object for the default Wi-Fi interface if no interface name is specified.
     * @deprecated
     */
    static interfaceWithName$(name: _NSString | null): _CWInterface;
    /**
     * YES if the Wi-Fi interface is on, NO otherwise. Indicates the Wi-Fi interface power state. Returns NO if an error occurs.
     */
    powerOn(): boolean;
    /**
     * An NSSet of CWChannel objects. Returns the set of channels supported by the Wi-Fi interface for the currently adopted country code. Returns nil if an error occurs.
     */
    supportedWLANChannels(): _NSSet | null;
    /**
     * Returns the current channel of the Wi-Fi interface. Returns nil if an error occurs.
     */
    wlanChannel(): _CWChannel | null;
    /**
     * Returns the currently active physical layer (PHY) mode of the Wi-Fi interface. Returns kCWPHYModeNone if an error occurs.
     */
    activePHYMode(): CWPHYMode;
    /**
     * Returns the current service set identifier (SSID) of the Wi-Fi interface, encoded as a string. Returns nil if an error occurs, or if the interface is not participating in a Wi-Fi network, or if the SSID can not be encoded as a valid UTF-8 or WinLatin1 string. SSID information is not available unless Location Services is enabled and the user has authorized the calling app to use location services. CLLocationManager
     */
    ssid(): _NSString | null;
    /**
     * Returns the current service set identifier (SSID) for the interface, encapsulated in an NSData object. Returns nil if an error occurs, or if the interface is not participating in a Wi-Fi network. SSID information is not available unless Location Services is enabled and the user has authorized the calling app to use location services. CLLocationManager
     */
    ssidData(): _NSData | null;
    /**
     * Returns the current basic service set identifier (BSSID) of the Wi-Fi interface, returned as an UTF-8 string. Returns a UTF-8 string using hexadecimal characters formatted as XX:XX:XX:XX:XX:XX. Returns nil if an error occurred, or if the interface is not participating in a Wi-Fi network. BSSID information is not available unless Location Services is enabled and the user has authorized the calling app to use location services. CLLocationManager
     */
    bssid(): _NSString | null;
    /**
     * Returns the current received signal strength indication (RSSI) measurement (dBm) for the Wi-Fi interface. Returns 0 if an error occurs, or if the interface is not participating in a Wi-Fi network.
     */
    rssiValue(): number;
    /**
     * Returns the current noise measurement (dBm) for the Wi-Fi interface. Returns 0 if an error occurs, or if the interface is not participating in a Wi-Fi network.
     */
    noiseMeasurement(): number;
    /**
     * Returns the current security type of the Wi-Fi interface. Returns kCWSecurityUnknown if an error occurs, or if the interface is not participating in a Wi-Fi network.
     */
    security(): CWSecurity;
    /**
     * Returns the current transmit rate (Mbps) for the Wi-Fi interface. Returns 0 if an error occurs, or if the interface is not participating in a Wi-Fi network.
     */
    transmitRate(): number;
    /**
     * Returns the currently adopted country code (ISO/IEC 3166-1:1997) for the Wi-Fi interface. Returns nil if an error occurs, or if the Wi-Fi interface is off. Country code information is not available unless Location Services is enabled and the user has authorized the calling app to use location services. CLLocationManager
     */
    countryCode(): _NSString | null;
    /**
     * Returns the current operating mode for the Wi-Fi interface. Returns kCWInterfaceModeNone if an error occurs, or if the interface is not participating in a Wi-Fi network.
     */
    interfaceMode(): CWInterfaceMode;
    /**
     * Returns the current transmit power (mW) for the Wi-Fi interface. Returns 0 if an error occurs.
     */
    transmitPower(): number;
    /**
     * Returns the hardware media access control (MAC) address for the Wi-Fi interface, returned as an UTF-8 string. The standard format for printing a MAC-48 address XX:XX:XX:XX:XX:XX is used to represent the MAC address as a string. Returns nil if an error occurs.
     */
    hardwareAddress(): _NSString | null;
    /**
     * YES if the corresponding network service is active, NO otherwise. Indicates the network service state of the Wi-Fi interface. Returns NO if an error occurs.
     */
    serviceActive(): boolean;
    /**
     * An NSSet of CWNetwork objects. Returns the scan results currently in the scan cache for the Wi-Fi interface. Returns nil if an error occurs.
     */
    cachedScanResults(): _NSSet | null;
    /**
     * Returns the current configuration for the Wi-Fi interface. Returns nil if an error occurs.
     */
    configuration(): _CWConfiguration | null;
    /**
     * The name of an available Wi-Fi interface. Initializes a CWInterface object, binding to the Wi-Fi interface with a specific interface name. Use +[CWInterface interfaceNames] to get a list of available Wi-Fi interface names. Returns a CWInterface object for the default Wi-Fi interface if no interface name is specified.
     * @deprecated
     */
    initWithInterfaceName$(name: _NSString | null): _CWInterface;
    /**
     * A BOOL value indicating Wi-Fi power state. Specify YES to turn on the Wi-Fi interface. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. Returns YES upon success, or NO if an error occurred. Sets the Wi-Fi interface power state.
     */
    setPower$error$(power: boolean, error: NobjcObject | null): boolean;
    /**
     * A CWChannel object. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. Returns YES upon success, or NO if an error occurred. Sets the Wi-Fi interface channel. Setting the channel while the interface is associated to a Wi-Fi network is not permitted.
     */
    setWLANChannel$error$(channel: _CWChannel, error: NobjcObject | null): boolean;
    /**
     * An NSData object containing the pairwise master key (PMK). Passing nil clear the PMK for the Wi-Fi interface. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. Returns YES upon success, or NO if an error occurred. Sets the Wi-Fi interface pairwise master key (PMK). The specified key must be exactly 32 octets.
     */
    setPairwiseMasterKey$error$(key: _NSData | null, error: NobjcObject | null): boolean;
    /**
     * An NSData object containing the WEP key. Passing nil clears the WEP key for the Wi-Fi interface. A bitmask indicating which CWCipherKeyFlags to use for the specified WEP key. An NSInteger indicating which default key index (1-4) to use for the specified key. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. Returns YES upon success, or NO if an error occurred. Sets the Wi-Fi interface WEP key.
     */
    setWEPKey$flags$index$error$(key: _NSData | null, flags: CWCipherKeyFlags, index: number, error: NobjcObject | null): boolean;
    /**
     * Probe request SSID. Pass an SSID to perform a directed scan for hidden Wi-Fi networks. This parameter is optional. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. An NSSet of CWNetwork objects, or nil if an error occurs. Performs a scan for Wi-Fi networks and returns scan results to the caller. This method will block for the duration of the scan. Returned networks will not contain BSSID information unless Location Services is enabled and the user has authorized the calling app to use location services. CLLocationManager
     */
    scanForNetworksWithSSID$error$(ssid: _NSData | null, error: NobjcObject | null): _NSSet | null;
    /**
     * Probe request SSID. Pass an SSID to perform a directed scan for hidden Wi-Fi networks. This parameter is optional. Indicate whether or not hidden networks should not be filtered from the returned scan results. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. An NSSet of CWNetwork objects, or nil if an error occurs. Performs a scan for Wi-Fi networks and returns scan results to the caller. This method will block for the duration of the scan. Returned networks will not contain BSSID information unless Location Services is enabled and the user has authorized the calling app to use location services. CLLocationManager
     */
    scanForNetworksWithSSID$includeHidden$error$(ssid: _NSData | null, includeHidden: boolean, error: NobjcObject | null): _NSSet | null;
    /**
     * Probe request SSID, encoded as an UTF-8 string. Pass a networkName to perform a directed scan for hidden Wi-Fi networks. This parameter is optional. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. An NSSet of CWNetwork objects, or nil if an error occurs. Performs a scan for Wi-Fi networks and returns scan results to the caller. This method will block for the duration of the scan. Returned networks will not contain BSSID information unless Location Services is enabled and the user has authorized the calling app to use location services. CLLocationManager
     */
    scanForNetworksWithName$error$(networkName: _NSString | null, error: NobjcObject | null): _NSSet | null;
    /**
     * Probe request SSID, encoded as an UTF-8 string. Pass a networkName to perform a directed scan for hidden Wi-Fi networks. This parameter is optional. Indicate whether or not hidden networks should not be filtered from the returned scan results. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. An NSSet of CWNetwork objects, or nil if an error occurs. Performs a scan for Wi-Fi networks and returns scan results to the caller. This method will block for the duration of the scan. Returned networks will not contain BSSID information unless Location Services is enabled and the user has authorized the calling app to use location services. CLLocationManager
     */
    scanForNetworksWithName$includeHidden$error$(networkName: _NSString | null, includeHidden: boolean, error: NobjcObject | null): _NSSet | null;
    /**
     * The network to which the Wi-Fi interface will associate. The network passphrase or key. Required for association to WEP, WPA Personal, and WPA2 Personal networks. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. Returns YES upon success, or NO if an error occurred. Associates to a W-Fi network using the specified passphrase. This method will block for the duration of the association.
     */
    associateToNetwork$password$error$(network: _CWNetwork, password: _NSString | null, error: NobjcObject | null): boolean;
    /** Disassociates from the current Wi-Fi network. */
    disassociate(): void;
    /**
     * The network to which the Wi-Fi interface will associate. The username to use for 802.1X authentication. The password to use for 802.1X authentication. The identity to use for IEEE 802.1X authentication. Holds the corresponding client certificate. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. Returns YES upon success, or NO if an error occurred. Associates to an enterprise W-Fi network using the specified 802.1X credentials. This method will block for the duration of the association.
     */
    associateToEnterpriseNetwork$identity$username$password$error$(network: _CWNetwork, identity: Uint8Array | null, username: _NSString | null, password: _NSString | null, error: NobjcObject | null): boolean;
    /**
     * The SSID to use for the IBSS network. Pass nil to use the machine name as the IBSS network name. The CWIBSSModeSecurity type. The channel on which the IBSS network will be created. The password to be used. This paramter is required for kCWIBSSModeSecurityWEP40 or kCWIBSSModeSecurityWEP104 security types. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. Returns YES upon success, or NO if an error occurred. Creates a computer-to-computer (IBSS) network.
     * @deprecated
     */
    startIBSSModeWithSSID$security$channel$password$error$(ssidData: _NSData, security: CWIBSSModeSecurity, channel: number, password: _NSString | null, error: NobjcObject | null): boolean;
    /**
     * The Wi-Fi configuration to commit to disk. An SFAuthorization object to use for authorizing the commit. This parameter is optional. An NSError object passed by reference, which upon return will contain the error if an error occurs. This parameter is optional. Returns YES upon success, or NO if an error occurred. Commits a CWConfiguration for the given Wi-Fi interface. This method requires the caller have root privileges or obtain administrator privileges using the SFAuthorization API.
     */
    commitConfiguration$authorization$error$(configuration: _CWConfiguration, authorization: _SFAuthorization | null, error: NobjcObject | null): boolean;
    /** Returns the BSD name of the Wi-Fi interface (e.g. "en0"). */
    interfaceName(): _NSString;
}
