import type { NotifyError, ThetaDevice } from '../theta-device';
import { ThetaService } from './theta-service';
import { BleServiceEnum, NetworkTypeEnum, WifiSecurityModeEnum, WlanPasswordStateEnum } from './values';
import type { ConnectedWifiInfo, Proxy } from './data';
/**
 * WLAN Control Command V2 Service
 *
 * Service: 3C6FEEB6-F335-4F93-A4BB-495F926DB409
 */
export declare class WlanControlCommandV2 extends ThetaService {
    readonly service: BleServiceEnum;
    readonly device: ThetaDevice;
    constructor(device: ThetaDevice);
    private setNotifyScan;
    /**
     * Set the network type
     *
     * Characteristic: 4B181146-EF3B-4619-8C82-1BA4A743ACFE
     *
     * @param networkType Network type
     */
    setNetworkType(networkType: NetworkTypeEnum): Promise<any>;
    /**
     * Set network type notification.
     *
     * Characteristic: 4B181146-EF3B-4619-8C82-1BA4A743ACFE
     *
     * @param callback Notification function
     */
    setNetworkTypeNotify(callback?: (value?: NetworkTypeEnum, error?: NotifyError) => void): Promise<void>;
    /**
     * Acquires the Wi-Fi/LAN/LTE connection status
     *
     * Characteristic: 01DFF9FF-00FA-44DD-AA6A-71D5E537ABCF
     *
     * @return Wi-Fi/LAN/LTE connection status
     */
    getConnectedWifiInfo(): Promise<ConnectedWifiInfo>;
    /**
     * Set Wi-Fi/LAN/LTE connection status notification
     *
     * Characteristic: A90381FC-2DDA-4EED-B24B-60F3E6651134
     *
     * @param callback Notification function
     */
    setConnectedWifiInfoNotify(callback?: (value?: ConnectedWifiInfo, error?: NotifyError) => void): Promise<void>;
    /**
     * Start scanning for SSID
     *
     * Change the network type to SCAN and start scanning for SSID
     *
     * Notify characteristic: 60EEDCCC-426A-49CF-9AE1-F602284703D7
     *
     * @param timeout Timeout of scanning
     * @param callback Notification function
     */
    scanSsidStart(timeout: number, onNotify: (ssid: string) => void, onCompleted?: (ssidList: string[]) => void): Promise<void>;
    /**
     * Scanning stop for SSID
     *
     * Notify characteristic: 60EEDCCC-426A-49CF-9AE1-F602284703D7
     */
    scanSsidStop(): Promise<void>;
    /**
     * Set access point. IP address is set dynamically.
     *
     * Characteristic: 4980ACBA-E2A5-460B-998B-9AD4C49FBE39
     *
     * @param ssid SSID of the access point.
     * @param ssidStealth True if SSID stealth is enabled.
     * @param security Authentication mode.
     * @param password Password. If [security] is "NONE", pass empty String.
     * @param connectionPriority Connection priority 1 to 5.
     * @param proxy Proxy information to be used for the access point.
     */
    setAccessPointDynamically(ssid: string, ssidStealth?: boolean, security?: WifiSecurityModeEnum, password?: string, connectionPriority?: number, proxy?: Proxy): Promise<void>;
    /**
     * Set access point. IP address is set statically.
     *
     * Characteristic: 4980ACBA-E2A5-460B-998B-9AD4C49FBE39
     *
     * @param ssid SSID of the access point.
     * @param ssidStealth True if SSID stealth is enabled.
     * @param security Authentication mode.
     * @param password Password. If [security] is "NONE", pass empty String.
     * @param connectionPriority Connection priority 1 to 5.
     * @param ipAddress IP address assigns to Theta.
     * @param subnetMask Subnet mask.
     * @param defaultGateway Default gateway.
     * @param proxy Proxy information to be used for the access point.
     */
    setAccessPointStatically(ssid: string, ssidStealth: boolean | undefined, security: WifiSecurityModeEnum | undefined, password: string | undefined, connectionPriority: number | undefined, ipAddress: string, subnetMask: string, defaultGateway: string, proxy?: Proxy): Promise<void>;
    /**
     * Read WLAN password state.
     *
     * Service: 3C6FEEB6-F335-4F93-A4BB-495F926DB409
     * Characteristic: E522112A-5689-4901-0803-0520637DC895
     *
     * @returns start-up status
     */
    getWlanPasswordState(): Promise<WlanPasswordStateEnum>;
}
//# sourceMappingURL=wlan-control-command-v2.d.ts.map