/** * @brief Enum to describe status codes returned from APIs. */ export declare enum Status { /** Operation completed successfully. */ SUCCESS = 0, /** Parameter value is bad. */ BAD_PARAM = 1, /** Internal error occured handling request. */ GENERAL_ERROR = 2, /** Operation timed out. */ TIMEOUT = 3, /** The caller does not have the required permission to call this API. */ PERMISSION_DENIED = 4, /** Not supported. */ NOT_SUPPORTED = 5 } /** * @brief Enum to maintain the types of network interface. */ export declare enum NetworkInterfaceType { /** Unknown or wildcard. */ NONE = 0, /** Wi-Fi. */ WIFI = 1, /** Ethernet. */ ETHERNET = 2, /** Wi-Fi Mesh. */ WIFI_MESH = 3, /** Wi-Fi Hostap. */ WIFI_HOSTAP = 4 } /** * @brief Enum to maintain the Internet Protocol versions. */ export declare enum IpType { /** IP Version 4. */ IPV4 = 0, /** IP Version 6. */ IPV6 = 1, /** Unspecified. */ UNSPECIFIED = 2 } /** * @brief Enum to maintain Internet Protocol provision methods. */ export declare enum IpProvision { /** Static IP Provision method. */ STATIC = 0, /** Dynamic IP Provision method. */ DYNAMIC = 1, /** Auto Config IP Provision method. */ AUTO_CONFIG = 2 } /** * @brief Enum to maintain all unified network status code. */ export declare enum UnifiedNetworkState { /** Unknown unified network event code. */ UNKNOWN = 0, /** Device is connected, and assigned IP address. */ CONNECTED = 1, /** Wi-Fi has failed to connect due to bad password. */ BAD_PASSWORD = 2, /** Wi-Fi was unable to immediately reconnect. */ SHORT_DISCONNECT = 3, /** Wi-Fi has been disconnected for an extended period. */ LONG_DISCONNECT = 4, /** L2 connected, but unable to send or receive data packets from the router. */ ROUTER_UNREACHABLE = 5, /** Connected to AP, but we have no internet access for an extended period. */ INET_LONG_UNREACHABLE = 6, /** Internet is reachable, normal operation. */ INET_REACHABLE = 7, /** Wi-Fi is disconnected */ DISCONNECTED = 8 } /** * @brief Enum to maintain Captive portal states. */ export declare enum CaptivePortalState { /** Authenticated. */ AUTHENTICATED = 0, /** Connected. */ CONNECTED = 1, /** Failed. */ FAILED = 2, /** Unknown. */ UNKNOWN = 3 } /** * @brief Enum to describe the network state. */ export declare enum NetworkState { /** Connecting. */ CONNECTING = 0, /** Connected. */ CONNECTED = 1, /** Disconnecting. */ DISCONNECTING = 2, /** Disconnected. */ DISCONNECTED = 3, /** L2 Connected. */ L2CONNECTED = 4, /** Unknown. */ UNKNOWN = 5 } /** * @brief Enum to describe network capabilities. */ export declare enum NetworkCapability { /** Unknown. */ UNKNOWN = 0, /** Captive Portal. */ CAPTIVE_PORTAL = 1, /** Metered. */ METERED = 2, /** Internet is validated. */ INTERNET_VALIDATED = 3 } /** * @brief Enum to describe Proxy type. */ export declare enum ProxyMode { /** Undefined. */ NONE = 0, /** Manual. */ MANUAL = 1, /** Auto. */ AUTO = 2 } /** * @brief Represents a network interface. */ export interface NetworkInterface { /** @ref NetworkInterfaceType of the network interface. */ type: NetworkInterfaceType; /** the name of the network interface. */ name: string; /** the identifier of the network interface. */ id: number; /** Get the priority of the network interface among other network interfaces*/ priority: number; } /** * @brief Represents IP configuration. */ export interface IpConfiguration { /** @ref IpType of this IpConfiguration. */ type: IpType; /** @ref IpProvision of this IpConfiguration. */ provision: IpProvision; /** the maximum allowed number of IP addresses. */ maxIpAddresses?: number; /** IP addresses. */ ipAddresses?: Array; /** netmask */ netmask?: string; /** Gateway */ gateway?: string; /** DNS servers. */ dnsservers?: Array; } /** * @brief Represents Proxy information. */ export interface NetworkProxyInfo { /** @ref ProxyMode. */ proxyMode: ProxyMode; /** Proxy URL. */ proxyUrl: string; /** the maximum allowed number of IP addresses. */ proxyPort: number; /** Network Proxy Hostname. */ proxyHostname: string; /** Network Proxy BypassList. */ ProxyBypassList: string; } /** @hidden */ export interface RetIpConfiguration { status: Status; configuration: IpConfiguration; } /** @hidden */ export interface RetNetworkInterfaces { status: Status; interfaces?: Array; } /** @hidden */ export interface UnifiedNetworkEvent { networkInterfaceId: number; eventCode: UnifiedNetworkState; data?: UnifiedNetworkEventData; } /** @hidden */ export interface CaptivePortalEvent { networkInterfaceId: number; state: CaptivePortalState; } /** @hidden */ export interface NetworkStateEvent { networkInterfaceId: number; type: IpType; oldState: NetworkState; newState: NetworkState; } /** * @brief Provide extra data for unified network event. */ export interface UnifiedNetworkEventData { }