declare namespace _default {
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function setFrame(this: import("../driver").XCUITestDriver, frame: any): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function getCssProperty(this: import("../driver").XCUITestDriver, propertyName: any, el: any): Promise<any>;
    /**
     * Submit the form an element is in
     *
     * @param {string|Element} el - the element ID
     * @group Mobile Web Only
     * @this {XCUITestDriver}
     */
    function submit(this: import("../driver").XCUITestDriver, el: string | Element): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function refresh(this: import("../driver").XCUITestDriver): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function getUrl(this: import("../driver").XCUITestDriver): Promise<any>;
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function title(this: import("../driver").XCUITestDriver): Promise<any>;
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function getCookies(this: import("../driver").XCUITestDriver): Promise<any>;
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function setCookie(this: import("../driver").XCUITestDriver, cookie: any): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function deleteCookie(this: import("../driver").XCUITestDriver, cookieName: any): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @group Mobile Web Only
     */
    function deleteCookies(this: import("../driver").XCUITestDriver): Promise<void>;
    /**
     * @this {XCUITestDriver}
     */
    function findWebElementOrElements(this: import("../driver").XCUITestDriver, strategy: any, selector: any, many: any, ctx: any): Promise<any>;
    /**
     * @this {XCUITestDriver}
     * @param {number} x
     * @param {number} y
     */
    function clickWebCoords(this: import("../driver").XCUITestDriver, x: number, y: number): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @returns {Promise<boolean>}
     */
    function getSafariIsIphone(this: import("../driver").XCUITestDriver): Promise<boolean>;
    /**
     * @this {XCUITestDriver}
     * @returns {Promise<import('@appium/types').Size>}
     */
    function getSafariDeviceSize(this: import("../driver").XCUITestDriver): Promise<import("@appium/types").Size>;
    /**
     * @this {XCUITestDriver}
     * @returns {Promise<boolean>}
     */
    function getSafariIsNotched(this: import("../driver").XCUITestDriver): Promise<boolean>;
    /**
     * @this {XCUITestDriver}
     */
    function getExtraTranslateWebCoordsOffset(this: import("../driver").XCUITestDriver, wvPos: any, realDims: any): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @param {boolean} isIphone
     * @param {string} bannerVisibility
     * @returns {Promise<number>}
     */
    function getExtraNativeWebTapOffset(this: import("../driver").XCUITestDriver, isIphone: boolean, bannerVisibility: string): Promise<number>;
    /**
     * @this {XCUITestDriver}
     * @param {any} el
     * @returns {Promise<void>}
     */
    function nativeWebTap(this: import("../driver").XCUITestDriver, el: any): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @param {number} x
     * @param {number} y
     * @returns {Promise<import('@appium/types').Position>}
     */
    function translateWebCoords(this: import("../driver").XCUITestDriver, x: number, y: number): Promise<import("@appium/types").Position>;
    /**
     * @this {XCUITestDriver}
     * @returns {Promise<boolean>}
     */
    function checkForAlert(this: import("../driver").XCUITestDriver): Promise<boolean>;
    /**
     * @param {Promise<any>} promise
     * @this {XCUITestDriver}
     */
    function waitForAtom(this: import("../driver").XCUITestDriver, promise: Promise<any>): Promise<any>;
    /**
     * @param {string} navType
     * @this {XCUITestDriver}
     */
    function mobileWebNav(this: import("../driver").XCUITestDriver, navType: string): Promise<void>;
    /**
     * @this {XCUITestDriver}
     * @returns {string} The base url which could be used to access WDA HTTP endpoints
     * FROM THE SAME DEVICE where WDA is running
     */
    function getWdaLocalhostRoot(this: import("../driver").XCUITestDriver): string;
    /**
     * Calibrates web to real coordinates translation.
     * This API can only be called from Safari web context.
     * It must load a custom page to the browser, and then restore
     * the original one, so don't call it if you can potentially
     * lose the current web app state.
     * The outcome of this API is then used in nativeWebTap mode.
     * The returned value could also be used to manually transform web coordinates
     * to real devices ones in client scripts.
     *
     * @this {XCUITestDriver}
     * @returns {Promise<import('../types').CalibrationData>}
     */
    function mobileCalibrateWebToRealCoordinatesTranslation(this: import("../driver").XCUITestDriver): Promise<import("../types").CalibrationData>;
    /**
     * @typedef {Object} SafariOpts
     * @property {object} preferences An object containing Safari settings to be updated.
     * The list of available setting names and their values could be retrieved by
     * changing the corresponding Safari settings in the UI and then inspecting
     * 'Library/Preferences/com.apple.mobilesafari.plist' file inside of
     * com.apple.mobilesafari app container.
     * The full path to the Mobile Safari's container could be retrieved from
     * `xcrun simctl get_app_container <sim_udid> com.apple.mobilesafari data`
     * command output.
     * Use the `xcrun simctl spawn <sim_udid> defaults read <path_to_plist>` command
     * to print the plist content to the Terminal.
     */
    /**
     * Updates Mobile Safari preferences on an iOS Simulator
     *
     * @param {import('@appium/types').StringRecord} preferences - An object containing Safari settings to be updated.
     * The list of available setting names and their values can be retrieved by changing the
     * corresponding Safari settings in the UI and then inspecting
     * `Library/Preferences/com.apple.mobilesafari.plist` file inside of the `com.apple.mobilesafari`
     * app container within the simulator filesystem. The full path to Mobile Safari's container can
     * be retrieved by running `xcrun simctl get_app_container <sim_udid> com.apple.mobilesafari
     * data`. Use the `xcrun simctl spawn <sim_udid> defaults read <path_to_plist>` command to print
     * the plist content to the Terminal.
     *
     * @group Simulator Only
     * @returns {Promise<void>}
     * @throws {Error} if run on a real device or if the preferences argument is invalid
     * @this {XCUITestDriver}
     */
    function mobileUpdateSafariPreferences(this: import("../driver").XCUITestDriver, preferences: import("@appium/types").StringRecord): Promise<void>;
    /**
     * @this {XCUITestDriver}
     */
    function _deleteCookie(this: import("../driver").XCUITestDriver, cookie: any): Promise<any>;
    /**
     * @this {XCUITestDriver}
     */
    function cacheWebElement(this: import("../driver").XCUITestDriver, el: any): any;
    /**
     * @this {XCUITestDriver}
     */
    function cacheWebElements(this: import("../driver").XCUITestDriver, response: any): any;
    /**
     * @param {string} atom
     * @param {unknown[]} args
     * @returns {Promise<any>}
     * @privateRemarks This should return `Promise<T>` where `T` extends `unknown`, but that's going to cause a lot of things to break.
     * @this {XCUITestDriver}
     */
    function executeAtom(this: import("../driver").XCUITestDriver, atom: string, args: unknown[], alwaysDefaultFrame?: boolean): Promise<any>;
    /**
     * @this {XCUITestDriver}
     * @param {string} atom
     * @param {any[]} args
     */
    function executeAtomAsync(this: import("../driver").XCUITestDriver, atom: string, args: any[]): Promise<any>;
    /**
     * @template {string} S
     * @param {S|Element<S>} elOrId
     * @returns {import('./types').AtomsElement<S>}
     * @this {XCUITestDriver}
     */
    function getAtomsElement<S extends string>(this: import("../driver").XCUITestDriver, elOrId: S | Element<S>): import("./types").AtomsElement<S>;
    /**
     * @param {readonly any[]} [args]
     * @this {XCUITestDriver}
     */
    function convertElementsForAtoms(this: import("../driver").XCUITestDriver, args?: readonly any[]): any;
    function getElementId(element: any): any;
    /**
     * @param {any} element
     * @returns {element is Element}
     */
    function hasElementId(element: any): element is Element;
}
export default _default;
export type XCUITestDriver = import("../driver").XCUITestDriver;
export type Rect = import("@appium/types").Rect;
export type Element<S extends string = string> = import("@appium/types").Element<S>;
export type RemoteDebugger = import("appium-remote-debugger").RemoteDebugger;
//# sourceMappingURL=web.d.ts.map