import { WebDriverAgent } from 'appium-webdriveragent';
import { BaseDriver } from 'appium/driver';
import { mjpeg } from 'appium/support';
import type { RouteMatcher, DefaultCreateSessionResult, DriverData, StringRecord, ExternalDriver, W3CDriverCaps, DriverCaps, DriverOpts } from '@appium/types';
import { LRUCache } from 'lru-cache';
import * as activeAppInfoCommands from './commands/active-app-info';
import * as alertCommands from './commands/alert';
import * as appManagementCommands from './commands/app-management';
import * as appearanceCommands from './commands/appearance';
import * as appStringsCommands from './commands/app-strings';
import * as auditCommands from './commands/audit';
import * as batteryCommands from './commands/battery';
import * as biometricCommands from './commands/biometric';
import * as certificateCommands from './commands/certificate';
import * as clipboardCommands from './commands/clipboard';
import * as conditionCommands from './commands/condition';
import * as contentSizeCommands from './commands/content-size';
import * as contextCommands from './commands/context';
import * as deviceInfoCommands from './commands/device-info';
import * as elementCommands from './commands/element';
import * as executeCommands from './commands/execute';
import * as fileMovementCommands from './commands/file-movement';
import * as findCommands from './commands/find';
import * as generalCommands from './commands/general';
import * as geolocationCommands from './commands/geolocation';
import * as gestureCommands from './commands/gesture';
import * as iohidCommands from './commands/iohid';
import * as keychainsCommands from './commands/keychains';
import * as keyboardCommands from './commands/keyboard';
import * as localizationCommands from './commands/localization';
import * as locationCommands from './commands/location';
import * as lockCommands from './commands/lock';
import * as logCommands from './commands/log';
import * as memoryCommands from './commands/memory';
import * as navigationCommands from './commands/navigation';
import * as notificationsCommands from './commands/notifications';
import * as pasteboardCommands from './commands/pasteboard';
import * as pcapCommands from './commands/pcap';
import * as performanceCommands from './commands/performance';
import * as permissionsCommands from './commands/permissions';
import * as proxyHelperCommands from './commands/proxy-helper';
import * as recordAudioCommands from './commands/record-audio';
import * as recordScreenCommands from './commands/recordscreen';
import * as screenshotCommands from './commands/screenshots';
import * as sourceCommands from './commands/source';
import * as simctlCommands from './commands/simctl';
import * as timeoutCommands from './commands/timeouts';
import * as webCommands from './commands/web';
import * as xctestCommands from './commands/xctest';
import * as xctestRecordScreenCommands from './commands/xctest-record-screen';
import * as increaseContrastCommands from './commands/increase-contrast';
import { type XCUITestDriverConstraints } from './desired-caps';
import { RealDevice } from './device/real-device-management';
import { AppInfosCache } from './app-infos-cache';
import type { CalibrationData, AsyncPromise, LifecycleData } from './types';
import type { WaitingAtoms, LogListener, FullContext } from './commands/types';
import type { PerfRecorder } from './commands/performance';
import type { AudioRecorder } from './commands/record-audio';
import type { TrafficCapture } from './commands/pcap';
import type { ScreenRecorder } from './commands/recordscreen';
import type { DVTServiceWithConnection } from 'appium-ios-remotexpc';
import type { IOSDeviceLog } from './device/log/ios-device-log';
import type { IOSSimulatorLog } from './device/log/ios-simulator-log';
import type { IOSCrashLog } from './device/log/ios-crash-log';
import type { SafariConsoleLog } from './device/log/safari-console-log';
import type { SafariNetworkLog } from './device/log/safari-network-log';
import type { IOSPerformanceLog } from './device/log/ios-performance-log';
import type { RemoteDebugger } from 'appium-remote-debugger';
import type { XcodeVersion } from 'appium-xcode';
import type { Simulator } from 'appium-ios-simulator';
export declare class XCUITestDriver extends BaseDriver<XCUITestDriverConstraints, StringRecord> implements ExternalDriver<XCUITestDriverConstraints, FullContext | string, StringRecord> {
    static newMethodMap: {
        readonly '/session/:sessionId/timeouts/async_script': {
            readonly POST: {
                readonly command: "asyncScriptTimeout";
                readonly payloadParams: {
                    readonly required: readonly ["ms"];
                };
                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/window/:windowhandle/size': {
            readonly GET: {
                readonly command: "getWindowSize";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/element/:elementId/submit': {
            readonly POST: {
                readonly command: "submit";
                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/shake': {
            readonly POST: {
                readonly command: "mobileShake";
                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/device/app_state': {
            readonly POST: {
                readonly command: "queryAppState";
                readonly payloadParams: {
                    readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/simulator/touch_id': {
            readonly POST: {
                readonly command: "touchId";
                readonly payloadParams: {
                    readonly required: readonly ["match"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/simulator/toggle_touch_id_enrollment': {
            readonly POST: {
                readonly command: "toggleEnrollTouchId";
                readonly payloadParams: {
                    readonly optional: readonly ["enabled"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/app/launch': {
            readonly POST: {
                readonly command: "launchApp";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/app/close': {
            readonly POST: {
                readonly command: "closeApp";
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/app/reset': {
            readonly POST: {
                readonly command: "reset";
                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/receive_async_response': {
            readonly POST: {
                readonly command: "receiveAsyncResponse";
                readonly payloadParams: {
                    readonly required: readonly ["response"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/get_clipboard': {
            readonly POST: {
                readonly command: "getClipboard";
                readonly payloadParams: {
                    readonly optional: readonly ["contentType"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/appium/device/set_clipboard': {
            readonly POST: {
                readonly command: "setClipboard";
                readonly payloadParams: {
                    readonly required: readonly ["content"];
                    readonly optional: readonly ["contentType", "label"];
                };
                readonly deprecated: true;
            };
        };
        readonly '/session/:sessionId/log': {
            readonly POST: {
                readonly command: "getLog";
                readonly payloadParams: {
                    readonly required: readonly ["type"];
                };
            };
        };
        readonly '/session/:sessionId/log/types': {
            readonly GET: {
                readonly command: "getLogTypes";
            };
        };
        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: {
        readonly 'mobile: tap': {
            readonly command: "mobileTap";
            readonly params: {
                readonly required: readonly ["x", "y"];
                readonly optional: readonly ["elementId"];
            };
        };
        readonly 'mobile: scroll': {
            readonly command: "mobileScroll";
            readonly params: {
                readonly optional: readonly ["name", "direction", "predicateString", "toVisible", "distance", "elementId"];
            };
        };
        readonly 'mobile: selectPickerWheelValue': {
            readonly command: "mobileSelectPickerWheelValue";
            readonly params: {
                readonly required: readonly ["elementId", "order"];
                readonly optional: readonly ["offset"];
            };
        };
        readonly 'mobile: sendMemoryWarning': {
            readonly command: "mobileSendMemoryWarning";
            readonly params: {
                readonly required: readonly ["bundleId"];
            };
        };
        readonly 'mobile: swipe': {
            readonly command: "mobileSwipe";
            readonly params: {
                readonly required: readonly ["direction"];
                readonly optional: readonly ["velocity", "elementId"];
            };
        };
        readonly 'mobile: pinch': {
            readonly command: "mobilePinch";
            readonly params: {
                readonly required: readonly ["scale", "velocity"];
                readonly optional: readonly ["elementId"];
            };
        };
        readonly 'mobile: doubleTap': {
            readonly command: "mobileDoubleTap";
            readonly params: {
                readonly optional: readonly ["elementId", "x", "y"];
            };
        };
        readonly 'mobile: twoFingerTap': {
            readonly command: "mobileTwoFingerTap";
            readonly params: {
                readonly optional: readonly ["elementId"];
            };
        };
        readonly 'mobile: tapWithNumberOfTaps': {
            readonly command: "mobileTapWithNumberOfTaps";
            readonly params: {
                readonly optional: readonly ["numberOfTouches", "numberOfTaps", "elementId"];
            };
        };
        readonly 'mobile: touchAndHold': {
            readonly command: "mobileTouchAndHold";
            readonly params: {
                readonly required: readonly ["duration"];
                readonly optional: readonly ["x", "y", "elementId"];
            };
        };
        readonly 'mobile: dragFromToForDuration': {
            readonly command: "mobileDragFromToForDuration";
            readonly params: {
                readonly required: readonly ["duration", "fromX", "fromY", "toX", "toY"];
                readonly optional: readonly ["elementId"];
            };
        };
        readonly 'mobile: rotateElement': {
            readonly command: "mobileRotateElement";
            readonly params: {
                readonly required: readonly ["rotation", "velocity"];
                readonly optional: readonly ["elementId"];
            };
        };
        readonly 'mobile: dragFromToWithVelocity': {
            readonly command: "mobileDragFromToWithVelocity";
            readonly params: {
                readonly required: readonly ["pressDuration", "holdDuration", "velocity"];
                readonly optional: readonly ["fromElementId", "toElementId", "fromX", "fromY", "toX", "toY"];
            };
        };
        readonly 'mobile: forcePress': {
            readonly command: "mobileForcePress";
            readonly params: {
                readonly optional: readonly ["x", "y", "duration", "pressure", "elementId"];
            };
        };
        readonly 'mobile: scrollToElement': {
            readonly command: "mobileScrollToElement";
            readonly params: {
                readonly required: readonly ["elementId"];
            };
        };
        readonly 'mobile: alert': {
            readonly command: "mobileHandleAlert";
            readonly params: {
                readonly required: readonly ["action"];
                readonly optional: readonly ["buttonLabel"];
            };
        };
        readonly 'mobile: setPasteboard': {
            readonly command: "mobileSetPasteboard";
            readonly params: {
                readonly required: readonly ["content"];
                readonly optional: readonly ["encoding"];
            };
        };
        readonly 'mobile: getPasteboard': {
            readonly command: "mobileGetPasteboard";
            readonly params: {
                readonly optional: readonly ["encoding"];
            };
        };
        readonly 'mobile: source': {
            readonly command: "mobileGetSource";
            readonly params: {
                readonly optional: readonly ["format", "excludedAttributes"];
            };
        };
        readonly 'mobile: getAppStrings': {
            readonly command: "getStrings";
            readonly params: {
                readonly optional: readonly ["language", "stringFile"];
            };
        };
        readonly 'mobile: getContexts': {
            readonly command: "mobileGetContexts";
            readonly params: {
                readonly optional: readonly ["waitForWebviewMs"];
            };
        };
        readonly 'mobile: installApp': {
            readonly command: "mobileInstallApp";
            readonly params: {
                readonly required: readonly ["app"];
                readonly optional: readonly ["timeoutMs", "checkVersion"];
            };
        };
        readonly 'mobile: isAppInstalled': {
            readonly command: "mobileIsAppInstalled";
            readonly params: {
                readonly required: readonly ["bundleId"];
            };
        };
        readonly 'mobile: removeApp': {
            readonly command: "mobileRemoveApp";
            readonly params: {
                readonly required: readonly ["bundleId"];
            };
        };
        readonly 'mobile: launchApp': {
            readonly command: "mobileLaunchApp";
            readonly params: {
                readonly required: readonly ["bundleId"];
                readonly optional: readonly ["arguments", "environment"];
            };
        };
        readonly 'mobile: terminateApp': {
            readonly command: "mobileTerminateApp";
            readonly params: {
                readonly required: readonly ["bundleId"];
            };
        };
        readonly 'mobile: killApp': {
            readonly command: "mobileKillApp";
            readonly params: {
                readonly required: readonly ["bundleId"];
            };
        };
        readonly 'mobile: queryAppState': {
            readonly command: "mobileQueryAppState";
            readonly params: {
                readonly required: readonly ["bundleId"];
            };
        };
        readonly 'mobile: activateApp': {
            readonly command: "mobileActivateApp";
            readonly params: {
                readonly required: readonly ["bundleId"];
            };
        };
        readonly 'mobile: listApps': {
            readonly command: "mobileListApps";
            readonly params: {
                readonly optional: readonly ["applicationType"];
            };
        };
        readonly 'mobile: clearApp': {
            readonly command: "mobileClearApp";
            readonly params: {
                readonly required: readonly ["bundleId"];
            };
        };
        readonly 'mobile: viewportScreenshot': {
            readonly command: "getViewportScreenshot";
        };
        readonly 'mobile: viewportRect': {
            readonly command: "getViewportRect";
        };
        readonly 'mobile: startPerfRecord': {
            readonly command: "mobileStartPerfRecord";
            readonly params: {
                readonly optional: readonly ["timeout", "profileName", "pid"];
            };
        };
        readonly 'mobile: stopPerfRecord': {
            readonly command: "mobileStopPerfRecord";
            readonly params: {
                readonly optional: readonly ["remotePath", "user", "pass", "method", "profileName", "headers", "fileFieldName", "formFields"];
            };
        };
        readonly 'mobile: installCertificate': {
            readonly command: "mobileInstallCertificate";
            readonly params: {
                readonly required: readonly ["content"];
                readonly optional: readonly ["commonName", "isRoot"];
            };
        };
        readonly 'mobile: removeCertificate': {
            readonly command: "mobileRemoveCertificate";
            readonly params: {
                readonly required: readonly ["name"];
            };
        };
        readonly 'mobile: listCertificates': {
            readonly command: "mobileListCertificates";
        };
        readonly 'mobile: startLogsBroadcast': {
            readonly command: "mobileStartLogsBroadcast";
        };
        readonly 'mobile: stopLogsBroadcast': {
            readonly command: "mobileStopLogsBroadcast";
        };
        readonly 'mobile: batteryInfo': {
            readonly command: "mobileGetBatteryInfo";
        };
        readonly 'mobile: performAccessibilityAudit': {
            readonly command: "mobilePerformAccessibilityAudit";
            readonly params: {
                readonly optional: readonly ["auditTypes"];
            };
        };
        readonly 'mobile: deviceInfo': {
            readonly command: "mobileGetDeviceInfo";
        };
        readonly 'mobile: getDeviceTime': {
            readonly command: "mobileGetDeviceTime";
            readonly params: {
                readonly optional: readonly ["format"];
            };
        };
        readonly 'mobile: activeAppInfo': {
            readonly command: "mobileGetActiveAppInfo";
        };
        readonly 'mobile: deviceScreenInfo': {
            readonly command: "getScreenInfo";
        };
        readonly 'mobile: pressButton': {
            readonly command: "mobilePressButton";
            readonly params: {
                readonly required: readonly ["name"];
                readonly optional: readonly ["durationSeconds"];
            };
        };
        readonly 'mobile: enrollBiometric': {
            readonly command: "mobileEnrollBiometric";
            readonly params: {
                readonly optional: readonly ["isEnabled"];
            };
        };
        readonly 'mobile: sendBiometricMatch': {
            readonly command: "mobileSendBiometricMatch";
            readonly params: {
                readonly optional: readonly ["type", "match"];
            };
        };
        readonly 'mobile: isBiometricEnrolled': {
            readonly command: "mobileIsBiometricEnrolled";
        };
        readonly 'mobile: clearKeychains': {
            readonly command: "mobileClearKeychains";
        };
        readonly 'mobile: getPermission': {
            readonly command: "mobileGetPermission";
            readonly params: {
                readonly required: readonly ["bundleId", "service"];
            };
        };
        readonly 'mobile: setPermission': {
            readonly command: "mobileSetPermissions";
            readonly params: {
                readonly required: readonly ["access", "bundleId"];
            };
        };
        readonly 'mobile: resetPermission': {
            readonly command: "mobileResetPermission";
            readonly params: {
                readonly required: readonly ["service"];
            };
        };
        readonly 'mobile: getAppearance': {
            readonly command: "mobileGetAppearance";
        };
        readonly 'mobile: setAppearance': {
            readonly command: "mobileSetAppearance";
            readonly params: {
                readonly required: readonly ["style"];
            };
        };
        readonly 'mobile: getIncreaseContrast': {
            readonly command: "mobileGetIncreaseContrast";
        };
        readonly 'mobile: setIncreaseContrast': {
            readonly command: "mobileSetIncreaseContrast";
            readonly params: {
                readonly required: readonly ["increaseContrast"];
            };
        };
        readonly 'mobile: contentSize': {
            readonly command: "mobileGetContentSize";
        };
        readonly 'mobile: setContentSize': {
            readonly command: "mobileSetContentSize";
            readonly params: {
                readonly required: readonly ["size"];
            };
        };
        readonly 'mobile: getClipboard': {
            readonly command: "getClipboard";
            readonly params: {
                readonly optional: readonly ["contentType"];
            };
        };
        readonly 'mobile: setClipboard': {
            readonly command: "setClipboard";
            readonly params: {
                readonly required: readonly ["content"];
                readonly optional: readonly ["contentType"];
            };
        };
        readonly 'mobile: siriCommand': {
            readonly command: "mobileSiriCommand";
            readonly params: {
                readonly required: readonly ["text"];
            };
        };
        readonly 'mobile: pushFile': {
            readonly command: "mobilePushFile";
            readonly params: {
                readonly required: readonly ["remotePath", "payload"];
            };
        };
        readonly 'mobile: pullFile': {
            readonly command: "mobilePullFile";
            readonly params: {
                readonly required: readonly ["remotePath"];
            };
        };
        readonly 'mobile: pullFolder': {
            readonly command: "mobilePullFolder";
            readonly params: {
                readonly required: readonly ["remotePath"];
            };
        };
        readonly 'mobile: deleteFile': {
            readonly command: "mobileDeleteFile";
            readonly params: {
                readonly required: readonly ["remotePath"];
            };
        };
        readonly 'mobile: deleteFolder': {
            readonly command: "mobileDeleteFolder";
            readonly params: {
                readonly required: readonly ["remotePath"];
            };
        };
        readonly 'mobile: runXCTest': {
            readonly command: "mobileRunXCTest";
            readonly params: {
                readonly required: readonly ["testRunnerBundleId", "appUnderTestBundleId", "xctestBundleId"];
                readonly optional: readonly ["args", "testType", "env", "timeout"];
            };
        };
        readonly 'mobile: installXCTestBundle': {
            readonly command: "mobileInstallXCTestBundle";
            readonly params: {
                readonly required: readonly ["xctestApp"];
            };
        };
        readonly 'mobile: listXCTestBundles': {
            readonly command: "mobileListXCTestBundles";
        };
        readonly 'mobile: listXCTestsInTestBundle': {
            readonly command: "mobileListXCTestsInTestBundle";
            readonly params: {
                readonly required: readonly ["bundle"];
            };
        };
        readonly 'mobile: startXCTestScreenRecording': {
            readonly command: "mobileStartXctestScreenRecording";
            readonly params: {
                readonly optional: readonly ["fps", "codec"];
            };
        };
        readonly 'mobile: getXCTestScreenRecordingInfo': {
            readonly command: "mobileGetXctestScreenRecordingInfo";
        };
        readonly 'mobile: stopXCTestScreenRecording': {
            readonly command: "mobileStopXctestScreenRecording";
            readonly params: {
                readonly optional: readonly ["remotePath", "user", "pass", "headers", "fileFieldName", "formFields", "method"];
            };
        };
        readonly 'mobile: pushNotification': {
            readonly command: "mobilePushNotification";
            readonly params: {
                readonly required: readonly ["bundleId", "payload"];
            };
        };
        readonly 'mobile: expectNotification': {
            readonly command: "mobileExpectNotification";
            readonly params: {
                readonly required: readonly ["name"];
                readonly optional: readonly ["type", "timeoutSeconds"];
            };
        };
        readonly 'mobile: performIoHidEvent': {
            readonly command: "mobilePerformIoHidEvent";
            readonly params: {
                readonly required: readonly ["page", "usage", "durationSeconds"];
            };
        };
        readonly 'mobile: configureLocalization': {
            readonly command: "mobileConfigureLocalization";
            readonly params: {
                readonly optional: readonly ["keyboard", "language", "locale"];
            };
        };
        readonly 'mobile: resetLocationService': {
            readonly command: "mobileResetLocationService";
        };
        readonly 'mobile: startPcap': {
            readonly command: "mobileStartPcap";
            readonly params: {
                readonly optional: readonly ["timeLimitSec", "forceRestart"];
            };
        };
        readonly 'mobile: stopPcap': {
            readonly command: "mobileStopPcap";
        };
        readonly 'mobile: listConditionInducers': {
            readonly command: "listConditionInducers";
        };
        readonly 'mobile: enableConditionInducer': {
            readonly command: "enableConditionInducer";
            readonly params: {
                readonly required: readonly ["conditionID", "profileID"];
            };
        };
        readonly 'mobile: disableConditionInducer': {
            readonly command: "disableConditionInducer";
        };
        readonly 'mobile: updateSafariPreferences': {
            readonly command: "mobileUpdateSafariPreferences";
            readonly params: {
                readonly required: readonly ["preferences"];
            };
        };
        readonly 'mobile: calibrateWebToRealCoordinatesTranslation': {
            readonly command: "mobileCalibrateWebToRealCoordinatesTranslation";
        };
        readonly 'mobile: keys': {
            readonly command: "mobileKeys";
            readonly params: {
                readonly required: readonly ["keys"];
                readonly optional: readonly ["elementId"];
            };
        };
        readonly 'mobile: deepLink': {
            readonly command: "mobileDeepLink";
            readonly params: {
                readonly required: readonly ["url"];
                readonly optional: readonly ["bundleId"];
            };
        };
        readonly 'mobile: setSimulatedLocation': {
            readonly command: "mobileSetSimulatedLocation";
            readonly params: {
                readonly required: readonly ["latitude", "longitude"];
            };
        };
        readonly 'mobile: getSimulatedLocation': {
            readonly command: "mobileGetSimulatedLocation";
        };
        readonly 'mobile: resetSimulatedLocation': {
            readonly command: "mobileResetSimulatedLocation";
        };
        readonly 'mobile: shake': {
            readonly command: "mobileShake";
        };
        readonly 'mobile: startAudioRecording': {
            readonly command: "startAudioRecording";
            readonly params: {
                readonly required: readonly ["audioInput"];
                readonly optional: readonly ["timeLimit", "audioCodec", "audioBitrate", "audioChannels", "audioRate", "forceRestart"];
            };
        };
        readonly 'mobile: stopAudioRecording': {
            readonly command: "stopAudioRecording";
        };
        readonly 'mobile: hideKeyboard': {
            readonly command: "mobileHideKeyboard";
            readonly params: {
                readonly optional: readonly ["keys"];
            };
        };
        readonly 'mobile: isKeyboardShown': {
            readonly command: "isKeyboardShown";
        };
        readonly 'mobile: lock': {
            readonly command: "lock";
            readonly params: {
                readonly optional: readonly ["seconds"];
            };
        };
        readonly 'mobile: unlock': {
            readonly command: "unlock";
        };
        readonly 'mobile: isLocked': {
            readonly command: "isLocked";
        };
        readonly 'mobile: backgroundApp': {
            readonly command: "background";
            readonly params: {
                readonly optional: readonly ["seconds"];
            };
        };
        readonly 'mobile: simctl': {
            readonly command: "mobileSimctl";
            readonly params: {
                readonly required: readonly ["command"];
                readonly optional: readonly ["args", "timeout"];
            };
        };
    };
    curWindowHandle: string | null | undefined;
    selectingNewPage: boolean | undefined;
    contexts: string[];
    curContext: string | null;
    curWebFrames: string[];
    webviewCalibrationResult: CalibrationData | null;
    asyncPromise: AsyncPromise | undefined;
    asyncWaitMs: number | undefined;
    _syslogWebsocketListener: ((logRecord: {
        message: string;
    }) => void) | null;
    _perfRecorders: PerfRecorder[];
    webElementsCache: LRUCache<any, any>;
    _conditionInducerService: any | null;
    _remoteXPCConditionInducerConnection: DVTServiceWithConnection | null;
    _isSafariIphone: boolean | undefined;
    _isSafariNotched: boolean | undefined;
    _waitingAtoms: WaitingAtoms;
    lifecycleData: LifecycleData;
    _audioRecorder: AudioRecorder | null;
    xcodeVersion: XcodeVersion | undefined;
    _trafficCapture: TrafficCapture | null;
    _recentScreenRecorder: ScreenRecorder | null;
    _device: Simulator | RealDevice;
    _iosSdkVersion: string | null;
    _wda: WebDriverAgent | null;
    _remote: RemoteDebugger | null;
    logs: DriverLogs;
    _bidiServerLogListener: LogListener | undefined;
    appInfosCache: AppInfosCache;
    doesSupportBidi: boolean;
    jwpProxyActive: boolean;
    proxyReqRes: ((...args: any[]) => any) | null;
    safari: boolean;
    cachedWdaStatus: any;
    _currentUrl: string | null;
    pageLoadMs: number;
    landscapeWebCoordsOffset: number;
    mjpegStream?: mjpeg.MJpegStream;
    constructor(opts: XCUITestDriverOpts, shouldValidateCaps?: boolean);
    createSession(w3cCaps1: W3CXCUITestDriverCaps, w3cCaps2?: W3CXCUITestDriverCaps, w3cCaps3?: W3CXCUITestDriverCaps, driverData?: DriverData[]): Promise<DefaultCreateSessionResult<XCUITestDriverConstraints>>;
    deleteSession(sessionId?: string): Promise<void>;
    executeCommand(cmd: string, ...args: any[]): Promise<any>;
    proxyActive(): boolean;
    getProxyAvoidList(): RouteMatcher[];
    canProxy(): boolean;
    validateLocatorStrategy(strategy: string): void;
    validateDesiredCaps(caps: any): caps is DriverCaps<XCUITestDriverConstraints>;
    get wda(): WebDriverAgent;
    get remote(): RemoteDebugger;
    get driverData(): Record<string, any>;
    get device(): Simulator | RealDevice;
    isSafari(): boolean;
    isRealDevice(): boolean;
    isSimulator(): boolean;
    isXcodebuildNeeded(): boolean;
    onSettingsUpdate(key: string, value: any): Promise<any>;
    getStatus(): Promise<Record<string, any>>;
    mergeCliArgsToOpts(): boolean;
    handleMjpegOptions(): Promise<void>;
    allocateMjpegServerPort(): Promise<void>;
    getDefaultUrl(): string;
    start(): Promise<void>;
    runReset(enforceSimulatorShutdown?: boolean): Promise<void>;
    stop(): Promise<void>;
    initSimulator(): Promise<void>;
    startWda(): Promise<void>;
    configureApp(): Promise<void>;
    determineDevice(): Promise<{
        device: Simulator | RealDevice;
        realDevice: boolean;
        udid: string;
    }>;
    startSim(): Promise<void>;
    createSim(): Promise<Simulator>;
    startWdaSession(bundleId?: string, processArguments?: any): Promise<void>;
    checkAutInstallationState(opts?: AutInstallationStateOptions): Promise<AutInstallationState>;
    installAUT(): Promise<void>;
    installOtherApps(otherApps: string | string[]): Promise<void>;
    setInitialOrientation(orientation: string): Promise<void>;
    reset(): Promise<never>;
    preparePreinstalledWda(): Promise<void>;
    resetIos(): void;
    _getCommandTimeout(cmdName?: string): number | undefined;
    mobileGetActiveAppInfo: typeof activeAppInfoCommands.mobileGetActiveAppInfo;
    getAlertText: typeof alertCommands.getAlertText;
    setAlertText: typeof alertCommands.setAlertText;
    postAcceptAlert: typeof alertCommands.postAcceptAlert;
    postDismissAlert: typeof alertCommands.postDismissAlert;
    getAlertButtons: typeof alertCommands.getAlertButtons;
    mobileHandleAlert: typeof alertCommands.mobileHandleAlert;
    mobileInstallApp: typeof appManagementCommands.mobileInstallApp;
    mobileIsAppInstalled: typeof appManagementCommands.mobileIsAppInstalled;
    mobileRemoveApp: typeof appManagementCommands.mobileRemoveApp;
    mobileLaunchApp: typeof appManagementCommands.mobileLaunchApp;
    mobileTerminateApp: typeof appManagementCommands.mobileTerminateApp;
    mobileActivateApp: typeof appManagementCommands.mobileActivateApp;
    mobileKillApp: typeof appManagementCommands.mobileKillApp;
    mobileQueryAppState: typeof appManagementCommands.mobileQueryAppState;
    installApp: typeof appManagementCommands.installApp;
    activateApp: typeof appManagementCommands.activateApp;
    isAppInstalled: typeof appManagementCommands.isAppInstalled;
    terminateApp: typeof appManagementCommands.terminateApp;
    queryAppState: typeof appManagementCommands.queryAppState;
    mobileListApps: typeof appManagementCommands.mobileListApps;
    mobileClearApp: typeof appManagementCommands.mobileClearApp;
    mobileSetAppearance: typeof appearanceCommands.mobileSetAppearance;
    mobileGetAppearance: typeof appearanceCommands.mobileGetAppearance;
    mobileSetIncreaseContrast: typeof increaseContrastCommands.mobileSetIncreaseContrast;
    mobileGetIncreaseContrast: typeof increaseContrastCommands.mobileGetIncreaseContrast;
    mobileSetContentSize: typeof contentSizeCommands.mobileSetContentSize;
    mobileGetContentSize: typeof contentSizeCommands.mobileGetContentSize;
    mobilePerformAccessibilityAudit: typeof auditCommands.mobilePerformAccessibilityAudit;
    mobileGetBatteryInfo: typeof batteryCommands.mobileGetBatteryInfo;
    mobileEnrollBiometric: typeof biometricCommands.mobileEnrollBiometric;
    mobileSendBiometricMatch: typeof biometricCommands.mobileSendBiometricMatch;
    mobileIsBiometricEnrolled: typeof biometricCommands.mobileIsBiometricEnrolled;
    mobileInstallCertificate: typeof certificateCommands.mobileInstallCertificate;
    mobileListCertificates: typeof certificateCommands.mobileListCertificates;
    mobileRemoveCertificate: typeof certificateCommands.mobileRemoveCertificate;
    setClipboard: typeof clipboardCommands.setClipboard;
    getClipboard: typeof clipboardCommands.getClipboard;
    listConditionInducers: typeof conditionCommands.listConditionInducers;
    enableConditionInducer: typeof conditionCommands.enableConditionInducer;
    disableConditionInducer: typeof conditionCommands.disableConditionInducer;
    getContexts: typeof contextCommands.getContexts;
    getCurrentContext: typeof contextCommands.getCurrentContext;
    getWindowHandle: typeof contextCommands.getWindowHandle;
    getWindowHandles: typeof contextCommands.getWindowHandles;
    setContext: typeof contextCommands.setContext;
    setWindow: typeof contextCommands.setWindow;
    activateRecentWebview: typeof contextCommands.activateRecentWebview;
    connectToRemoteDebugger: typeof contextCommands.connectToRemoteDebugger;
    getContextsAndViews: typeof contextCommands.getContextsAndViews;
    listWebFrames: typeof contextCommands.listWebFrames;
    mobileGetContexts: typeof contextCommands.mobileGetContexts;
    onPageChange: typeof contextCommands.onPageChange;
    useNewSafari: typeof contextCommands.useNewSafari;
    getCurrentUrl: typeof contextCommands.getCurrentUrl;
    getNewRemoteDebugger: typeof contextCommands.getNewRemoteDebugger;
    getRecentWebviewContextId: typeof contextCommands.getRecentWebviewContextId;
    isWebContext: typeof contextCommands.isWebContext;
    isWebview: typeof contextCommands.isWebview;
    setCurrentUrl: typeof contextCommands.setCurrentUrl;
    stopRemote: typeof contextCommands.stopRemote;
    mobileGetDeviceInfo: typeof deviceInfoCommands.mobileGetDeviceInfo;
    elementDisplayed: typeof elementCommands.elementDisplayed;
    elementEnabled: typeof elementCommands.elementEnabled;
    elementSelected: typeof elementCommands.elementSelected;
    getName: typeof elementCommands.getName;
    getNativeAttribute: typeof elementCommands.getNativeAttribute;
    getAttribute: typeof elementCommands.getAttribute;
    getProperty: typeof elementCommands.getProperty;
    getText: typeof elementCommands.getText;
    getElementRect: typeof elementCommands.getElementRect;
    getLocation: typeof elementCommands.getLocation;
    getLocationInView: typeof elementCommands.getLocationInView;
    getSize: typeof elementCommands.getSize;
    /** @deprecated */
    setValueImmediate: typeof elementCommands.setValueImmediate;
    setValue: typeof elementCommands.setValue;
    setValueWithWebAtom: typeof elementCommands.setValueWithWebAtom;
    keys: typeof elementCommands.keys;
    clear: typeof elementCommands.clear;
    getContentSize: typeof elementCommands.getContentSize;
    getNativeRect: typeof elementCommands.getNativeRect;
    receiveAsyncResponse: typeof executeCommands.receiveAsyncResponse;
    execute: typeof executeCommands.execute;
    executeAsync: typeof executeCommands.executeAsync;
    mobileSimctl: typeof simctlCommands.mobileSimctl;
    pushFile: typeof fileMovementCommands.pushFile;
    mobilePushFile: typeof fileMovementCommands.mobilePushFile;
    pullFile: typeof fileMovementCommands.pullFile;
    mobilePullFile: typeof fileMovementCommands.mobilePullFile;
    mobileDeleteFolder: typeof fileMovementCommands.mobileDeleteFolder;
    mobileDeleteFile: typeof fileMovementCommands.mobileDeleteFile;
    pullFolder: typeof fileMovementCommands.pullFolder;
    mobilePullFolder: typeof fileMovementCommands.mobilePullFolder;
    mobileSendMemoryWarning: typeof memoryCommands.mobileSendMemoryWarning;
    findElOrEls: typeof findCommands.findElOrEls;
    findNativeElementOrElements: typeof findCommands.findNativeElementOrElements;
    doNativeFind: typeof findCommands.doNativeFind;
    getFirstVisibleChild: typeof findCommands.getFirstVisibleChild;
    active: typeof generalCommands.active;
    background: typeof appManagementCommands.background;
    touchId: typeof generalCommands.touchId;
    toggleEnrollTouchId: typeof generalCommands.toggleEnrollTouchId;
    getWindowSize: typeof generalCommands.getWindowSize;
    getDeviceTime: typeof generalCommands.getDeviceTime;
    mobileGetDeviceTime: typeof generalCommands.mobileGetDeviceTime;
    getWindowRect: typeof generalCommands.getWindowRect;
    getStrings: typeof appStringsCommands.getStrings;
    removeApp: typeof generalCommands.removeApp;
    launchApp: typeof generalCommands.launchApp;
    closeApp: typeof generalCommands.closeApp;
    setUrl: typeof generalCommands.setUrl;
    getViewportRect: typeof generalCommands.getViewportRect;
    getScreenInfo: typeof generalCommands.getScreenInfo;
    getStatusBarHeight: typeof generalCommands.getStatusBarHeight;
    getDevicePixelRatio: typeof generalCommands.getDevicePixelRatio;
    mobilePressButton: typeof generalCommands.mobilePressButton;
    mobileSiriCommand: typeof generalCommands.mobileSiriCommand;
    mobileGetSimulatedLocation: typeof geolocationCommands.mobileGetSimulatedLocation;
    mobileSetSimulatedLocation: typeof geolocationCommands.mobileSetSimulatedLocation;
    mobileResetSimulatedLocation: typeof geolocationCommands.mobileResetSimulatedLocation;
    mobileShake: typeof gestureCommands.mobileShake;
    click: typeof gestureCommands.click;
    releaseActions: typeof gestureCommands.releaseActions;
    performActions: typeof gestureCommands.performActions;
    nativeClick: typeof gestureCommands.nativeClick;
    mobileScrollToElement: typeof gestureCommands.mobileScrollToElement;
    mobileScroll: typeof gestureCommands.mobileScroll;
    mobileSwipe: typeof gestureCommands.mobileSwipe;
    mobilePinch: typeof gestureCommands.mobilePinch;
    mobileDoubleTap: typeof gestureCommands.mobileDoubleTap;
    mobileTwoFingerTap: typeof gestureCommands.mobileTwoFingerTap;
    mobileTouchAndHold: typeof gestureCommands.mobileTouchAndHold;
    mobileTap: typeof gestureCommands.mobileTap;
    mobileDragFromToForDuration: typeof gestureCommands.mobileDragFromToForDuration;
    mobileDragFromToWithVelocity: typeof gestureCommands.mobileDragFromToWithVelocity;
    mobileTapWithNumberOfTaps: typeof gestureCommands.mobileTapWithNumberOfTaps;
    mobileForcePress: typeof gestureCommands.mobileForcePress;
    mobileSelectPickerWheelValue: typeof gestureCommands.mobileSelectPickerWheelValue;
    mobileRotateElement: typeof gestureCommands.mobileRotateElement;
    mobilePerformIoHidEvent: typeof iohidCommands.mobilePerformIoHidEvent;
    mobileClearKeychains: typeof keychainsCommands.mobileClearKeychains;
    hideKeyboard: typeof keyboardCommands.hideKeyboard;
    mobileHideKeyboard: typeof keyboardCommands.mobileHideKeyboard;
    isKeyboardShown: typeof keyboardCommands.isKeyboardShown;
    mobileKeys: typeof keyboardCommands.mobileKeys;
    mobileConfigureLocalization: typeof localizationCommands.mobileConfigureLocalization;
    getGeoLocation: typeof locationCommands.getGeoLocation;
    setGeoLocation: typeof locationCommands.setGeoLocation;
    mobileResetLocationService: typeof locationCommands.mobileResetLocationService;
    lock: typeof lockCommands.lock;
    unlock: typeof lockCommands.unlock;
    isLocked: typeof lockCommands.isLocked;
    extractLogs: typeof logCommands.extractLogs;
    supportedLogTypes: import("@appium/types").LogDefRecord;
    startLogCapture: typeof logCommands.startLogCapture;
    mobileStartLogsBroadcast: typeof logCommands.mobileStartLogsBroadcast;
    mobileStopLogsBroadcast: typeof logCommands.mobileStopLogsBroadcast;
    back: typeof navigationCommands.back;
    forward: typeof navigationCommands.forward;
    closeWindow: typeof navigationCommands.closeWindow;
    nativeBack: typeof navigationCommands.nativeBack;
    mobileDeepLink: typeof navigationCommands.mobileDeepLink;
    mobilePushNotification: typeof notificationsCommands.mobilePushNotification;
    mobileExpectNotification: typeof notificationsCommands.mobileExpectNotification;
    mobileSetPasteboard: typeof pasteboardCommands.mobileSetPasteboard;
    mobileGetPasteboard: typeof pasteboardCommands.mobileGetPasteboard;
    mobileStartPcap: typeof pcapCommands.mobileStartPcap;
    mobileStopPcap: typeof pcapCommands.mobileStopPcap;
    mobileStartPerfRecord: typeof performanceCommands.mobileStartPerfRecord;
    mobileStopPerfRecord: typeof performanceCommands.mobileStopPerfRecord;
    mobileResetPermission: typeof permissionsCommands.mobileResetPermission;
    mobileGetPermission: typeof permissionsCommands.mobileGetPermission;
    mobileSetPermissions: typeof permissionsCommands.mobileSetPermissions;
    proxyCommand: typeof proxyHelperCommands.proxyCommand;
    startAudioRecording: typeof recordAudioCommands.startAudioRecording;
    stopAudioRecording: typeof recordAudioCommands.stopAudioRecording;
    startRecordingScreen: typeof recordScreenCommands.startRecordingScreen;
    stopRecordingScreen: typeof recordScreenCommands.stopRecordingScreen;
    getScreenshot: typeof screenshotCommands.getScreenshot;
    getElementScreenshot: typeof screenshotCommands.getElementScreenshot;
    getViewportScreenshot: typeof screenshotCommands.getViewportScreenshot;
    getPageSource: typeof sourceCommands.getPageSource;
    mobileGetSource: typeof sourceCommands.mobileGetSource;
    pageLoadTimeoutW3C: typeof timeoutCommands.pageLoadTimeoutW3C;
    pageLoadTimeoutMJSONWP: typeof timeoutCommands.pageLoadTimeoutMJSONWP;
    scriptTimeoutW3C: typeof timeoutCommands.scriptTimeoutW3C;
    scriptTimeoutMJSONWP: typeof timeoutCommands.scriptTimeoutMJSONWP;
    asyncScriptTimeout: typeof timeoutCommands.asyncScriptTimeout;
    setPageLoadTimeout: typeof timeoutCommands.setPageLoadTimeout;
    setAsyncScriptTimeout: typeof timeoutCommands.setAsyncScriptTimeout;
    setFrame: typeof webCommands.setFrame;
    getCssProperty: typeof webCommands.getCssProperty;
    submit: typeof webCommands.submit;
    refresh: typeof webCommands.refresh;
    getUrl: typeof webCommands.getUrl;
    title: typeof webCommands.title;
    getCookies: typeof webCommands.getCookies;
    setCookie: typeof webCommands.setCookie;
    deleteCookie: typeof webCommands.deleteCookie;
    deleteCookies: typeof webCommands.deleteCookies;
    cacheWebElement: typeof webCommands.cacheWebElement;
    cacheWebElements: typeof webCommands.cacheWebElements;
    executeAtom: typeof webCommands.executeAtom;
    executeAtomAsync: typeof webCommands.executeAtomAsync;
    getAtomsElement: typeof webCommands.getAtomsElement;
    convertElementsForAtoms: typeof webCommands.convertElementsForAtoms;
    getElementId: typeof webCommands.getElementId;
    hasElementId: typeof webCommands.hasElementId;
    findWebElementOrElements: typeof webCommands.findWebElementOrElements;
    clickWebCoords: typeof webCommands.clickWebCoords;
    getSafariIsIphone: typeof webCommands.getSafariIsIphone;
    getSafariDeviceSize: typeof webCommands.getSafariDeviceSize;
    getSafariIsNotched: typeof webCommands.getSafariIsNotched;
    getExtraTranslateWebCoordsOffset: typeof webCommands.getExtraTranslateWebCoordsOffset;
    getExtraNativeWebTapOffset: typeof webCommands.getExtraNativeWebTapOffset;
    nativeWebTap: typeof webCommands.nativeWebTap;
    translateWebCoords: typeof webCommands.translateWebCoords;
    checkForAlert: typeof webCommands.checkForAlert;
    waitForAtom: typeof webCommands.waitForAtom;
    mobileWebNav: typeof webCommands.mobileWebNav;
    getWdaLocalhostRoot: typeof webCommands.getWdaLocalhostRoot;
    mobileCalibrateWebToRealCoordinatesTranslation: typeof webCommands.mobileCalibrateWebToRealCoordinatesTranslation;
    mobileUpdateSafariPreferences: typeof webCommands.mobileUpdateSafariPreferences;
    mobileRunXCTest: typeof xctestCommands.mobileRunXCTest;
    mobileInstallXCTestBundle: typeof xctestCommands.mobileInstallXCTestBundle;
    mobileListXCTestBundles: typeof xctestCommands.mobileListXCTestBundles;
    mobileListXCTestsInTestBundle: typeof xctestCommands.mobileListXCTestsInTestBundle;
    mobileStartXctestScreenRecording: typeof xctestRecordScreenCommands.mobileStartXctestScreenRecording;
    mobileGetXctestScreenRecordingInfo: typeof xctestRecordScreenCommands.mobileGetXctestScreenRecordingInfo;
    mobileStopXctestScreenRecording: typeof xctestRecordScreenCommands.mobileStopXctestScreenRecording;
}
export default XCUITestDriver;
export type AutInstallationStateOptions = Pick<XCUITestDriverOpts, 'enforceAppInstall' | 'fullReset' | 'noReset' | 'bundleId' | 'app'>;
export interface AutInstallationState {
    install: boolean;
    skipUninstall: boolean;
}
export type XCUITestDriverOpts = DriverOpts<XCUITestDriverConstraints>;
export type W3CXCUITestDriverCaps = W3CDriverCaps<XCUITestDriverConstraints>;
export interface DriverLogs {
    syslog?: IOSDeviceLog | IOSSimulatorLog;
    crashlog?: IOSCrashLog;
    safariConsole?: SafariConsoleLog;
    safariNetwork?: SafariNetworkLog;
    performance?: IOSPerformanceLog;
}
//# sourceMappingURL=driver.d.ts.map