/**
 * Android executor — ADB-based counterpart to the desktop executor.
 *
 * All interactions go through `adb shell` commands.
 * Screenshot pipeline mirrors the desktop implementation:
 *   capture → resize for vision → compress if needed → persist to ~/screenshots/
 */
import { type ScreenshotResult } from "./screenshot.js";
/** Clear the cached device serial (useful when device reconnects). */
export declare function resetDevice(): void;
export declare function initDisplaySize(): Promise<void>;
export declare function getDisplaySize(): {
    width: number;
    height: number;
};
/** Returns true if display size has been detected from the device. */
export declare function isDisplaySizeInitialized(): boolean;
/**
 * Capture the Android screen via ADB, resize for Claude's vision, compress,
 * and persist to ~/screenshots/.
 *
 * Uses `adb exec-out screencap -p` which streams raw PNG bytes to stdout,
 * avoiding the need for an intermediate file on the device.
 */
export declare function captureScreen(): Promise<ScreenshotResult>;
export declare function tap(x: number, y: number): Promise<void>;
export declare function doubleTap(x: number, y: number): Promise<void>;
export declare function longPress(x: number, y: number, durationMs?: number): Promise<void>;
export declare function swipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number): Promise<void>;
export declare function typeText(text: string, options?: {
    replace?: boolean;
}): Promise<void>;
export declare function pressKey(key: string): Promise<void>;
/**
 * Select all text in the currently focused input field.
 * Tries `input keycombination` (Android 12+) first, then falls back
 * to Home → Shift+End selection for older versions.
 */
export declare function selectAll(): Promise<void>;
export declare function scroll(x: number, y: number, direction: "up" | "down" | "left" | "right", amount?: number): Promise<void>;
/**
 * Wake the device screen if it's off, and unlock if on lock screen.
 */
export declare function wakeDevice(): Promise<void>;
/**
 * Launch an app by package name.
 */
export declare function launchApp(packageName: string): Promise<void>;
/**
 * Get the currently focused activity.
 */
export declare function getCurrentActivity(): Promise<string>;
//# sourceMappingURL=android-executor.d.ts.map