///
import { promise as wdpromise, WebDriver } from 'selenium-webdriver';
export interface ExtendedWebDriver extends WebDriver {
getNetworkConnection: () => wdpromise.Promise<0 | 1 | 2 | 3 | 4 | 5 | 6 | 7>;
setNetworkConnection: (typeOrAirplaneMode: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | boolean, wifi?: boolean, data?: boolean) => wdpromise.Promise;
toggleAirplaneMode: () => wdpromise.Promise;
toggleWiFi: () => wdpromise.Promise;
toggleData: () => wdpromise.Promise;
toggleLocationServices: () => wdpromise.Promise;
getGeolocation: () => wdpromise.Promise<{
latitude: number;
longitude: number;
altitude: number;
}>;
setGeolocation: (latitude?: number, longitude?: number, altitude?: number) => wdpromise.Promise;
getCurrentDeviceActivity: () => wdpromise.Promise;
startDeviceActivity: (appPackage: string, appActivity: string, appWaitPackage?: string, appWaitActivity?: string) => wdpromise.Promise;
getAppiumSettings: () => wdpromise.Promise<{
[name: string]: any;
}>;
setAppiumSettings: (settings: {
[name: string]: any;
}) => wdpromise.Promise;
getCurrentContext: () => wdpromise.Promise;
selectContext: (name: string) => wdpromise.Promise;
getScreenOrientation: () => wdpromise.Promise<'LANDSCAPE' | 'PORTRAIT'>;
setScreenOrientation: (orientation: string) => wdpromise.Promise;
isDeviceLocked: () => wdpromise.Promise;
lockDevice: (delay?: number) => wdpromise.Promise;
unlockDevice: () => wdpromise.Promise;
installApp: (appPath: string) => wdpromise.Promise;
isAppInstalled: (bundleId: string) => wdpromise.Promise;
removeApp: (appId: string) => wdpromise.Promise;
pullFileFromDevice: (path: string) => wdpromise.Promise;
pullFolderFromDevice: (path: string) => wdpromise.Promise;
pushFileToDevice: (path: string, base64Data: string) => wdpromise.Promise;
listContexts: () => wdpromise.Promise;
uploadFile: (base64Data: string) => wdpromise.Promise;
switchToParentFrame: () => wdpromise.Promise;
fullscreen: () => wdpromise.Promise;
sendAppToBackground: (delay?: number) => wdpromise.Promise;
closeApp: () => wdpromise.Promise;
getAppStrings: (language?: string) => wdpromise.Promise;
launchSession: () => wdpromise.Promise;
resetApp: () => wdpromise.Promise;
hideSoftKeyboard: (strategy?: 'default' | 'tapOutside' | 'tapOut' | 'swipeDown' | 'pressKey' | 'press', key?: string) => wdpromise.Promise;
getDeviceTime: () => wdpromise.Promise;
openDeviceNotifications: () => wdpromise.Promise;
rotationGesture: (x?: number, y?: number, duration?: number, rotation?: number, touchCount?: 1 | 2 | 3 | 4 | 5) => wdpromise.Promise;
shakeDevice: () => wdpromise.Promise;
}
export declare function extend(baseDriver: WebDriver, fallbackGracefully?: boolean): ExtendedWebDriver;
/**
* Patches webdriver so that the extender can defie new commands.
*
* @example
* patch(require('selenium-webdriver/lib/command'),
* require('selenium-webdriver/executors'),
* require('selenium-webdriver/http'));
*
* @param {*} lib_command The object at 'selenium-webdriver/lib/command'
* @param {*} executors The object at 'selenium-webdriver/executors'
* @param {*} http The object at 'selenium-webdriver/http'
*/
export declare function patch(lib_command: any, executors: any, http: any): void;