/// <reference types="node" />
import { AppInfo } from '../types';
interface AtxOptions {
    deviceId: string;
    connectType: 'usb' | 'wifi';
    timeout?: number;
}
export default class Atx {
    private readonly id;
    private readonly connectType;
    private readonly timeout;
    private ip;
    private port;
    private atxIsRunning;
    private uiautomatorIsRunning;
    constructor({ deviceId, connectType, timeout }: AtxOptions);
    init(): Promise<void>;
    close(): Promise<void>;
    info(): Promise<any>;
    packages(): Promise<AppInfo[]>;
    packageInfo(packageName: string): Promise<AppInfo>;
    source(timeout?: number): Promise<string>;
    deviceInfo(timeout?: number): Promise<any>;
    screenshot(timeout?: number): Promise<Buffer>;
    private get;
    private post;
    jsonrpc(method: string, params?: any[], options?: {
        timeout?: number;
    }): Promise<any>;
    private handleJsonRpcError;
    private setupConnection;
    private restartAtxServer;
    private startAtxServer;
    private stopAtxServer;
    private startUiautomator;
    checkUiautomator(timeout?: number): Promise<void>;
    private startUiautomatorServer;
    private stopUiautomatorServer;
    private setTimeoutUiautomator;
    private getUiautomatorState;
}
export {};
