/// <reference types="node" />
/**
 * @desc: Web Element
 * @author: john_chen
 * @date: 2023.03.13
 */
import { ElementHandle } from 'puppeteer-core';
import WebHandler from './Handler';
/**
 * Element Options
 */
export interface ElementOptions {
    /**
     * 设备实例
     */
    device: WebHandler;
    /**
     * 元素对象
     */
    element: ElementHandle;
}
/**
 * web 元素类
 */
export default class Element {
    /**
     * 设备实例
     */
    device: WebHandler;
    /**
     * 元素对象
     */
    element: ElementHandle;
    /**
     * WEB Element Handle
     */
    constructor(options: ElementOptions);
    /**
     * 获取元素位置
     *
     * @return {Promise{Object}} res
     * @return {number} res.x
     * @return {number} res.y
     * @return {number} res.width
     * @return {number} res.height
     */
    boundingBox(): Promise<import("puppeteer-core").BoundingBox | null>;
    /**
     * 截屏
     *
     * @param {string} path 存储路径
     * @return {Promise{Buffer}}
     */
    screenshot(): Promise<string | Buffer>;
    /**
     * 元素点击
     *
     * @return {Promise}
     */
    tap(): Promise<void>;
    /**
     * 回车
     *
     * @return {Promise}
     */
    enter(): Promise<void>;
    /**
     * 对设备元素执行输入操作
     *
     * @param {string} text 要输入的文本
     * @return {Promise}
     */
    input(text: string): Promise<void>;
    /**
     * 获取元素属性值
     *
     * @param {string} name 属性名称
     * @return {string} 属性值
     */
    attribute(name: string): Promise<unknown>;
}
