///
///
import { TransportCommandConstruct, CpOptions, DeviceState, ForwardsObject, IDevice, InputSource, InstallOptions, LogcatOptions, MkDirOptions, MvOptions, ReversesObject, RmOptions, SettingsMode, PrimitiveType, StartActivityOptions, StartServiceOptions, TouchOptions, TransportType, UninstallOptions, PropertyMap, PropertyValue, KeyEventOptions, InputDurationOptions, NonEmptyArray } from './util';
import { Client } from './client';
import { Connection } from './connection';
import { FileStat } from './filestats';
import { KeyCode } from './util/keycode';
import { LogcatReader } from './logcat/reader';
import { Monkey } from './monkey/client';
import { PullTransfer } from './sync/pulltransfer';
import { PushTransfer } from './sync/pushtransfer';
import { Readable } from 'stream';
import SyncEntry from './sync/entry';
import { SyncMode } from './sync';
export declare class Device implements IDevice {
readonly id: string;
readonly state: DeviceState;
readonly path: string | undefined;
readonly device: string | undefined;
readonly model: string | undefined;
readonly product: string | undefined;
readonly transportId: string;
readonly transport: TransportType;
private readonly client;
constructor(client: Client, props: IDevice);
getSerialNo(): Promise;
getDevicePath(): Promise;
listProperties(): Promise;
listFeatures(): Promise;
listPackages(): Promise;
getIpAddress(): Promise;
forward(local: string, remote: string): Promise;
listForwards(): Promise;
reverse(local: string, remote: string): Promise;
listReverses(): Promise;
shell(command: string): Promise;
reboot(): Promise;
shutdown(): Promise;
remount(): Promise;
root(): Promise;
screenshot(): Promise;
openTcp(port: number, host?: string): Promise;
openLogcat(options?: LogcatOptions): Promise;
clear(pkg: string): Promise;
install(apk: string | Readable): Promise;
install(apk: string | Readable, options?: InstallOptions): Promise;
install(apk: string | Readable, options?: InstallOptions, args?: string): Promise;
uninstall(pkg: string, options?: UninstallOptions): Promise;
isInstalled(pkg: string): Promise;
startActivity(pkg: string, activity: string, options?: StartActivityOptions): Promise;
startService(pkg: string, service: string, options?: StartServiceOptions): Promise;
readDir(path: string): Promise;
pushDataToFile(data: string | Buffer | Readable, destPath: string): Promise;
pushFile(srcPath: string, destPath: string): Promise;
pullDataFromFile(srcPath: string): Promise;
pullFile(srcPath: string, destPath: string): Promise;
pull(path: string): Promise;
push(srcPath: string | Readable, destPath: string, mode?: SyncMode): Promise;
tcpip(port?: number): Promise;
usb(): Promise;
waitBootComplete(): Promise;
listSettings(mode: SettingsMode): Promise;
getProp(prop: string): Promise;
setProp(prop: string, value: PrimitiveType): Promise;
getSetting(mode: SettingsMode, name: string): Promise;
putSetting(mode: SettingsMode, name: string, value: PrimitiveType): Promise;
tap(x: number, y: number, source?: InputSource): Promise;
text(text: string, source?: InputSource): Promise;
keyEvent(code: KeyCode | number | NonEmptyArray, options?: KeyEventOptions): Promise;
swipe(x1: number, y1: number, x2: number, y2: number, options?: InputDurationOptions): Promise;
dragAndDrop(x1: number, y1: number, x2: number, y2: number, options?: InputDurationOptions): Promise;
press(source?: InputSource): Promise;
roll(x: number, y: number, source?: InputSource): Promise;
custom(CustomCommand: TransportCommandConstruct, ...args: P): Promise;
openMonkey(): Promise;
killApp(pkg: string): Promise;
/**
* If cmd contains arguments, they need to be passed as and string[], not string. @see https://github.com/Maaaartin/adb-ts/issues/13
*/
exec(cmd: string | string[]): Promise;
execShell(cmd: string | string[]): Promise;
batteryStatus(): Promise;
rm(path: string, options?: RmOptions): Promise;
mkdir(path: string, options?: MkDirOptions): Promise;
touch(path: string, options?: TouchOptions): Promise;
mv(srcPath: string, destPath: string, options?: MvOptions): Promise;
cp(srcPath: string, destPath: string, options?: CpOptions): Promise;
fileStat(path: string): Promise;
}