/// <reference types="node" />
import * as adb from './adb';
import Atx from './Atx';
import { AppInfo, ScreenSize } from '../types';
import Element from './Element';
export default class AndroidHandler {
    /**
     * 设备ID
     */
    id: string;
    /**
     * 连接类型：USB、WIFI
     */
    connectType: string;
    /**
     * ATX 实例
     */
    atx: Atx | null;
    /**
     * adb 实例
     */
    adb: typeof adb;
    constructor(deviceId: string, connectType: 'usb' | 'wifi');
    /**
     * 初始化
     */
    init(): Promise<void>;
    /**
     * 关闭
     */
    close(): Promise<void>;
    /**
     * 返回主页
     */
    home(): Promise<void>;
    /**
     * 打开网页
     */
    goto(url: string): Promise<void>;
    /**
     * 安装 APP
     */
    installApp(appPath: string): Promise<void>;
    /**
     * 卸载 APP
     */
    uninstallApp(appId: string): Promise<void>;
    /**
     * 检查 APP 是否安装
     */
    isInstalled(packageName: string): Promise<boolean>;
    /**
     * 启动 APP
     */
    launchApp(packageName: string, activity: string): Promise<void>;
    terminateApp(packageName: string): Promise<void>;
    /**
     * 获取 APP 列表
     */
    appList(): Promise<AppInfo[]>;
    /**
     * 获取 APP 信息
     */
    appInfo(packageName: string): Promise<AppInfo>;
    /**
     * 获取设备信息
     */
    info(): Promise<any>;
    /**
     * 获取当前设备页面 dom 树
     */
    source(timeout?: number): Promise<string>;
    /**
     * 截图
     */
    screenshot(path?: string): Promise<Buffer>;
    /**
     * 获取屏幕尺寸
     */
    getScreenSize(): Promise<ScreenSize>;
    /**
     * 点击操作
     */
    tap(x: number, y: number): Promise<boolean>;
    /**
     * 滑动操作
     */
    swipe(fx: number, fy: number, tx: number, ty: number, { duration }?: {
        duration: number;
    }): Promise<string>;
    /**
     * 长按操作
     */
    longpress(x: number, y: number, duration?: number): Promise<string>;
    /**
     * 输入文本
     */
    input(text: string): Promise<string>;
    $x(expression: string): Promise<Element[]>;
    /**
     * 回车
     */
    enter(): Promise<boolean>;
    /**
     * 返回
     */
    back(): Promise<boolean>;
    private parseBounds;
}
