import type { DriverData, ExternalDriver, InitialOpts, RouteMatcher, StringRecord, SingularSessionData, SessionCapabilities } from '@appium/types';
import type { EspressoConstraints } from './constraints.js';
import * as serverCmds from './commands/server/index.js';
import type { EspressoRunner } from './commands/server/index.js';
import * as appManagementCmds from './commands/app-management.js';
import * as contextCmds from './commands/context.js';
import * as elementCmds from './commands/element.js';
import * as miscCmds from './commands/misc.js';
import * as screenshotCmds from './commands/screenshot.js';
import * as idlingResourcesCmds from './commands/idling-resources.js';
import * as clipboardCmds from './commands/clipboard.js';
import * as appInstallCmds from './commands/app-install.js';
import { AndroidDriver } from 'appium-android-driver';
import type { EspressoDriverCaps, EspressoDriverOpts, W3CEspressoDriverCaps } from './types.js';
export declare class EspressoDriver extends AndroidDriver implements ExternalDriver<EspressoConstraints, string, StringRecord> {
    static newMethodMap: {
        readonly '/session/:sessionId/appium/device/get_clipboard': {
            readonly POST: {
                readonly command: "getClipboard";
                readonly payloadParams: {
                    readonly optional: readonly ["contentType"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/timeouts/implicit_wait': {
            readonly POST: {
                readonly command: "implicitWait";
                readonly payloadParams: {
                    readonly required: readonly ["ms"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/ime/available_engines': {
            readonly GET: {
                readonly command: "availableIMEEngines";
            };
        };
        readonly '/session/:sessionId/ime/active_engine': {
            readonly GET: {
                readonly command: "getActiveIMEEngine";
            };
        };
        readonly '/session/:sessionId/ime/activated': {
            readonly GET: {
                readonly command: "isIMEActivated";
            };
        };
        readonly '/session/:sessionId/ime/deactivate': {
            readonly POST: {
                readonly command: "deactivateIMEEngine";
            };
        };
        readonly '/session/:sessionId/ime/activate': {
            readonly POST: {
                readonly command: "activateIMEEngine";
                readonly payloadParams: {
                    readonly required: readonly ["engine"];
                };
            };
        };
        readonly '/session/:sessionId/window/:windowhandle/size': {
            readonly GET: {
                readonly command: "getWindowSize";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/keys': {
            readonly POST: {
                readonly command: "keys";
                readonly payloadParams: {
                    readonly required: readonly ["value"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/element/:elementId/location': {
            readonly GET: {
                readonly command: "getLocation";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/element/:elementId/location_in_view': {
            readonly GET: {
                readonly command: "getLocationInView";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/element/:elementId/size': {
            readonly GET: {
                readonly command: "getSize";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/lock': {
            readonly POST: {
                readonly command: "lock";
                readonly payloadParams: {
                    readonly optional: readonly ["seconds"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/unlock': {
            readonly POST: {
                readonly command: "unlock";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/is_locked': {
            readonly POST: {
                readonly command: "isLocked";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/start_recording_screen': {
            readonly POST: {
                readonly command: "startRecordingScreen";
                readonly payloadParams: {
                    readonly optional: readonly ["options"];
                };
            };
        };
        readonly '/session/:sessionId/appium/stop_recording_screen': {
            readonly POST: {
                readonly command: "stopRecordingScreen";
                readonly payloadParams: {
                    readonly optional: readonly ["options"];
                };
            };
        };
        readonly '/session/:sessionId/appium/performanceData/types': {
            readonly POST: {
                readonly command: "getPerformanceDataTypes";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/getPerformanceData': {
            readonly POST: {
                readonly command: "getPerformanceData";
                readonly payloadParams: {
                    readonly required: readonly ["packageName", "dataType"];
                    readonly optional: readonly ["dataReadTimeout"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/press_keycode': {
            readonly POST: {
                readonly command: "pressKeyCode";
                readonly payloadParams: {
                    readonly required: readonly ["keycode"];
                    readonly optional: readonly ["metastate", "flags"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/long_press_keycode': {
            readonly POST: {
                readonly command: "longPressKeyCode";
                readonly payloadParams: {
                    readonly required: readonly ["keycode"];
                    readonly optional: readonly ["metastate", "flags"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/finger_print': {
            readonly POST: {
                readonly command: "fingerprint";
                readonly payloadParams: {
                    readonly required: readonly ["fingerprintId"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/send_sms': {
            readonly POST: {
                readonly command: "sendSMS";
                readonly payloadParams: {
                    readonly required: readonly ["phoneNumber", "message"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/gsm_call': {
            readonly POST: {
                readonly command: "gsmCall";
                readonly payloadParams: {
                    readonly required: readonly ["phoneNumber", "action"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/gsm_signal': {
            readonly POST: {
                readonly command: "gsmSignal";
                readonly payloadParams: {
                    readonly required: readonly ["signalStrength"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/gsm_voice': {
            readonly POST: {
                readonly command: "gsmVoice";
                readonly payloadParams: {
                    readonly required: readonly ["state"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/power_capacity': {
            readonly POST: {
                readonly command: "powerCapacity";
                readonly payloadParams: {
                    readonly required: readonly ["percent"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/power_ac': {
            readonly POST: {
                readonly command: "powerAC";
                readonly payloadParams: {
                    readonly required: readonly ["state"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/network_speed': {
            readonly POST: {
                readonly command: "networkSpeed";
                readonly payloadParams: {
                    readonly required: readonly ["netspeed"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/keyevent': {
            readonly POST: {
                readonly command: "keyevent";
                readonly payloadParams: {
                    readonly required: readonly ["keycode"];
                    readonly optional: readonly ["metastate"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/current_activity': {
            readonly GET: {
                readonly command: "getCurrentActivity";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/current_package': {
            readonly GET: {
                readonly command: "getCurrentPackage";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/app_state': {
            readonly POST: {
                readonly command: "queryAppState";
                readonly payloadParams: {
                    readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/toggle_airplane_mode': {
            readonly POST: {
                readonly command: "toggleFlightMode";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/toggle_data': {
            readonly POST: {
                readonly command: "toggleData";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/toggle_wifi': {
            readonly POST: {
                readonly command: "toggleWiFi";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/toggle_location_services': {
            readonly POST: {
                readonly command: "toggleLocationServices";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/open_notifications': {
            readonly POST: {
                readonly command: "openNotifications";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/start_activity': {
            readonly POST: {
                readonly command: "startActivity";
                readonly payloadParams: {
                    readonly required: readonly ["appPackage", "appActivity"];
                    readonly optional: readonly ["appWaitPackage", "appWaitActivity", "intentAction", "intentCategory", "intentFlags", "optionalIntentArguments", "dontStopAppOnReset"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/system_bars': {
            readonly GET: {
                readonly command: "getSystemBars";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/display_density': {
            readonly GET: {
                readonly command: "getDisplayDensity";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/app/background': {
            readonly POST: {
                readonly command: "background";
                readonly payloadParams: {
                    readonly required: readonly ["seconds"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/app/strings': {
            readonly POST: {
                readonly command: "getStrings";
                readonly payloadParams: {
                    readonly optional: readonly ["language", "stringFile"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/element/:elementId/value': {
            readonly POST: {
                readonly command: "setValueImmediate";
                readonly payloadParams: {
                    readonly required: readonly ["text"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/element/:elementId/replace_value': {
            readonly POST: {
                readonly command: "replaceValue";
                readonly payloadParams: {
                    readonly required: readonly ["text"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/network_connection': {
            readonly GET: {
                readonly command: "getNetworkConnection";
                readonly deprecated: true;
            };
            readonly POST: {
                readonly command: "setNetworkConnection";
                readonly payloadParams: {
                    readonly unwrap: "parameters";
                    readonly required: readonly ["type"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/location': {
            readonly GET: {
                readonly command: "getGeoLocation";
                readonly deprecated: true;
            };
            readonly POST: {
                readonly command: "setGeoLocation";
                readonly payloadParams: {
                    readonly required: readonly ["location"];
                };
                readonly deprecated: true;
            };
        };
    };
    static executeMethodMap: typeof AndroidDriver.executeMethodMap;
    _originalIme: string | null;
    espresso: EspressoRunner;
    wasAnimationEnabled?: boolean;
    caps: EspressoDriverCaps;
    opts: EspressoDriverOpts;
    desiredCapConstraints: EspressoConstraints;
    performActions: AndroidDriver["performActions"];
    startActivity: typeof appManagementCmds.startActivity;
    mobileStartActivity: AndroidDriver["mobileStartActivity"];
    mobileWebAtoms: typeof contextCmds.mobileWebAtoms;
    suspendChromedriverProxy: AndroidDriver["suspendChromedriverProxy"];
    mobilePerformEditorAction: AndroidDriver["mobilePerformEditorAction"];
    mobileSwipe: typeof elementCmds.mobileSwipe;
    mobileOpenDrawer: typeof elementCmds.mobileOpenDrawer;
    mobileCloseDrawer: typeof elementCmds.mobileCloseDrawer;
    mobileSetDate: typeof elementCmds.mobileSetDate;
    mobileSetTime: typeof elementCmds.mobileSetTime;
    mobileNavigateTo: typeof elementCmds.mobileNavigateTo;
    mobileScrollToPage: typeof elementCmds.mobileScrollToPage;
    mobileFlashElement: typeof elementCmds.mobileFlashElement;
    mobileClickAction: typeof elementCmds.mobileClickAction;
    mobileDismissAutofill: typeof elementCmds.mobileDismissAutofill;
    mobilePressKey: typeof miscCmds.mobilePressKey;
    mobileGetDeviceInfo: typeof miscCmds.mobileGetDeviceInfo;
    mobileIsToastVisible: typeof miscCmds.mobileIsToastVisible;
    getDisplayDensity: AndroidDriver["getDisplayDensity"];
    mobileBackdoor: typeof miscCmds.mobileBackdoor;
    mobileUiautomator: typeof miscCmds.mobileUiautomator;
    mobileUiautomatorPageSource: typeof miscCmds.mobileUiautomatorPageSource;
    updateSettings: typeof miscCmds.updateSettings;
    getSettings: typeof miscCmds.getSettings;
    getClipboard: typeof clipboardCmds.getClipboard;
    mobileGetClipboard: typeof clipboardCmds.getClipboard;
    mobileSetClipboard: typeof clipboardCmds.mobileSetClipboard;
    mobileStartService: AndroidDriver["mobileStartService"];
    mobileStopService: AndroidDriver["mobileStopService"];
    getScreenshot: typeof screenshotCmds.getScreenshot;
    mobileScreenshots: typeof screenshotCmds.mobileScreenshots;
    mobileRegisterIdlingResources: typeof idlingResourcesCmds.mobileRegisterIdlingResources;
    mobileUnregisterIdlingResources: typeof idlingResourcesCmds.mobileUnregisterIdlingResources;
    mobileListIdlingResources: typeof idlingResourcesCmds.mobileListIdlingResources;
    mobileWaitForUIThread: typeof idlingResourcesCmds.mobileWaitForUIThread;
    startEspressoSession: typeof serverCmds.startSession;
    initEspressoServer: typeof serverCmds.initServer;
    unzipApp: typeof appInstallCmds.unzipApp;
    onPostConfigureApp: typeof appInstallCmds.onPostConfigureApp;
    initAUT: typeof appInstallCmds.initAUT;
    constructor(opts?: InitialOpts, shouldValidateCaps?: boolean);
    get driverData(): {};
    get appOnDevice(): boolean;
    getSession(): Promise<SingularSessionData<EspressoConstraints>>;
    getAppiumSessionCapabilities(): Promise<SessionCapabilities<EspressoConstraints>>;
    createSession(w3cCaps1: W3CEspressoDriverCaps, w3cCaps2?: W3CEspressoDriverCaps, w3cCaps3?: W3CEspressoDriverCaps, driverData?: DriverData[]): Promise<any>;
    deleteSession(): Promise<void>;
    /**
     * Turn on or off animation scale.
     * '--no-window-animation' instrument argument for Espresso disables window animations,
     * but it does not bring the animation scale back to the pre-instrument process start state in Espresso
     * unlike Appium UIA2 driver case. We want to disable/enable the animation scale only in an appium espresso session as possible.
     * @param isEnabled
     */
    setWindowAnimationState(isEnabled: boolean): Promise<void>;
    initWebview(): Promise<void>;
    addDeviceInfoToCaps(): Promise<void>;
    onSettingsUpdate(): Promise<void>;
    proxyActive(sessionId?: string | null): boolean;
    canProxy(sessionId?: string | null): boolean;
    getProxyAvoidList(sessionId?: string | null): RouteMatcher[];
}
export default EspressoDriver;
//# sourceMappingURL=driver.d.ts.map