/// <reference types="node" />
import { ProtoResponse } from "../response";
import { HttpResponse } from "../http/http-response";
import { iValue } from "../interfaces/ivalue";
import { ValuePromise } from "../value-promise";
import { JsonDoc } from "../json/jpath";
import { PointerMove } from "../interfaces/pointer";
import { FindAllOptions, FindOptions } from "../interfaces/find-options";
import { GestureOpts, GestureType } from "../interfaces/gesture";
import { ScreenProperties } from "../interfaces/screen-properties";
import { DeviceProperties } from "../interfaces/device-properties";
import { ScreenshotOpts } from "../interfaces/screenshot";
import { AppiumScenario } from "./appium-scenario";
export declare class AppiumResponse extends ProtoResponse {
    readonly scenario: AppiumScenario;
    protected _sessionId?: string;
    protected _geolocation?: any;
    protected _capabilities?: any;
    constructor(scenario: AppiumScenario);
    init(res: HttpResponse): void;
    get isAndroid(): boolean;
    get isIos(): boolean;
    jsonDoc?: JsonDoc;
    getRoot(): any;
    eval(): Promise<any>;
    get sessionId(): string;
    set sessionId(sessionId: string);
    get capabilities(): any;
    getGeolocation(): Promise<any>;
    find(selector: string, a?: string | RegExp | FindOptions, b?: FindOptions): ValuePromise;
    findAll(selector: string, a?: string | RegExp | FindAllOptions, b?: FindAllOptions): Promise<iValue<any>[]>;
    hideKeyboard(): Promise<void>;
    movePointer(...pointers: PointerMove[]): Promise<AppiumResponse>;
    gesture(type: GestureType, opts: GestureOpts): Promise<AppiumResponse>;
    rotateScreen(rotation: string | number): Promise<string | number>;
    getScreenProperties(): Promise<ScreenProperties>;
    waitForExists(selector: string, timeout?: number): ValuePromise;
    waitForExists(selector: string, contains: string | RegExp, timeout?: number): ValuePromise;
    waitForXPath(xPath: string, timeout?: number): ValuePromise;
    waitForVisible(selector: string, timeout?: number): ValuePromise;
    waitForHidden(selector: string, timeout?: number): ValuePromise;
    isVisible(element: iValue<any>): Promise<boolean>;
    setDeviceProperties(devProperties: DeviceProperties): Promise<void>;
    isAppInstalled(bundleId: string): Promise<boolean>;
    type(selector: string, textToType: string, opts?: any): ValuePromise;
    clear(selector: string): ValuePromise;
    clearThenType(selector: string, textToType: string, opts?: any): ValuePromise;
    getDeviceProperties(): Promise<DeviceProperties>;
    protected _siriQueryAndResponse(setting: string): Promise<boolean>;
    getSource(): ValuePromise;
    get(suffix: string): Promise<any>;
    post(suffix: string, data: any): Promise<any>;
    terminateApp(app: string, timeout?: number): Promise<void | boolean>;
    screenshot(): Promise<Buffer>;
    screenshot(localFilePath: string): Promise<Buffer>;
    screenshot(localFilePath: string, opts: ScreenshotOpts): Promise<Buffer>;
    screenshot(opts: ScreenshotOpts): Promise<Buffer>;
    resetApp(): Promise<void>;
    launchApp(app?: string, args?: string[], environment?: any): Promise<void>;
    getAppiumContexts(): Promise<string[]>;
    setAppiumContext(appiumContext: string): Promise<void>;
    goBack(): Promise<void>;
    backgroundApp(seconds?: number): Promise<void>;
}
