import { Element } from "../../../../@types/wdio";
/**
 * @class userInteraction
 * @memberof mobile
 */
export declare class UserInteraction {
    private vlf;
    private ErrorHandler;
    /**
     * @function tap
     * @memberof mobile.userInteraction
     * @description Tap's on the mobile element.
     * @param {Element | string} elementOrSelector - The element (e.g., accessibility ID, XPath) selectors describing the element.
     * @param {Number} [timeout = 30000] - The timeout to wait(ms)
     * @example
     * await mobile.userInteraction.tap(elem);
     * await mobile.userInteraction.tap(elem, 20000);
     */
    tap(elementOrSelector: Element | string, timeout?: number): Promise<void>;
    /**
     * @function check
     * @memberof mobile.userInteraction
     * @description Checks the given checkbox.
     * @param {Element | string} elementOrSelector - The element (e.g., accessibility ID, XPath) selectors describing the element.
     * @param {number} [timeout = 30000] - The timeout to wait(ms)
     * @example
     * await mobile.userInteraction.check(element);
     * await mobile.userInteraction.check(element, 20000);
     */
    check(elementOrSelector: Element | string, timeout?: number): Promise<void>;
    /**
     * @function uncheck
     * @memberOf mobile.userInteraction
     * @description Unchecks the given checkbox.
     * @param {Element | string} elementOrSelector - The element (e.g., accessibility ID, XPath) selectors describing the element.
     * @param {number} [timeout = 30000] - The timeout to wait(ms)
     * @example
     * await mobile.userInteraction.uncheck(elementOrSelector);
     * await mobile.userInteraction.uncheck(elementOrSelector, 20000);
     */
    uncheck(elementOrSelector: Element | string, timeout?: number): Promise<void>;
    /**
     * @function doubleTap
     * @memberof mobile.userInteraction
     * @description Double Tap's on the mobile element.
     * @param {Element | string} elementOrSelector - The element (e.g., accessibility ID, XPath) selectors describing the element.
     * @param {number} [timeout = 30000] - The timeout to wait(ms)
     * @returns {Promise<void>}
     * @example
     * await mobile.userInteraction.doubleTap(elem);
     * await mobile.userInteraction.doubleTap(elem, 2000);
     */
    doubleTap(elementOrSelector: Element | string, timeout?: number): Promise<void>;
    /**
     * @function fill
     * @memberof mobile.userInteraction
     * @description Enter a string value into a mobile input field.
     * @param {Element | string} elementOrSelector - The element (e.g., accessibility ID, XPath) selectors describing the element.
     * @param {string} value - The string value to be entered.
     * @param {number} [timeout = 30000] - The timeout to wait (ms).
     * @returns {Promise<void>}
     * @example
     * await mobile.userInteraction.fill(element);
     * await mobile.userInteraction.fill(element, 2000);
     */
    fill(elementOrSelector: Element | string, value: string, timeout?: number): Promise<void>;
    /**
     * @function clearAndFill
     * @memberof mobile.userInteraction
     * @description Enter a string into the mobile input field; it will clear the box before submission.
     * @param {Element | string} elementOrSelector - The element (e.g., accessibility ID, XPath) selectors describing the element.
     * @param {string} value - The string value to be entered.
     * @param {number} [timeout = 30000] - The timeout to wait (ms).
     * @returns {Promise<void>}
     * @example
     * await mobile.userInteraction.clearAndFill(element);
     * await mobile.userInteraction.clearAndFill(element, 2000);
     */
    clearAndFill(elementOrSelector: Element | string, value: string, timeout?: number): Promise<void>;
    /**
     * @function clear
     * @memberof mobile.userInteraction
     * @description Clear a string value into a mobile input field.
     * @param {Element | string} elementOrSelector - The element (e.g., accessibility ID, XPath) selectors describing the element.
     * @param {number} [timeout = 30000] - The timeout to wait (ms).
     * @returns {Promise<void>}
     * @example
     * await mobile.userInteraction.clear(element);
     * await mobile.userInteraction.clear(element, 2000);
     */
    clear(elementOrSelector: Element | string, timeout?: number): Promise<void>;
}
declare const _default: UserInteraction;
export default _default;
