/**
 * Android use MCP tools — ADB-based mobile action space.
 *
 * Implements the standard action space from gbox-mini-agent:
 *   click, long_press, type, scroll, drag, press, screenshot, open
 *
 * All coordinate-based actions use **pixel coordinates** based on the
 * screenshot image returned by android_use_screenshot. The model sees
 * the resized screenshot and outputs pixel positions in that image space.
 * The execution layer handles scaling from screenshot coords to actual
 * device resolution.
 *
 * The underlying ADB execution layer (android-executor.ts) is unchanged.
 */
import { z } from "zod";
/**
 * Compute the expected screenshot image dimensions after vision resize.
 * The screenshot pipeline resizes the raw capture to fit Claude's vision
 * constraints. This function computes those dimensions deterministically
 * from the device resolution so we can map coordinates without reading
 * the image file.
 */
export declare function getScreenshotSize(deviceSize: {
    width: number;
    height: number;
}): {
    width: number;
    height: number;
};
/**
 * Convert pixel coordinates in screenshot space to absolute device coordinates.
 * The model outputs coordinates based on the resized screenshot it sees;
 * we scale them to the actual device resolution for ADB input events.
 */
export declare function screenshotToDevice(point: {
    x: number;
    y: number;
}, screenshotSize: {
    width: number;
    height: number;
}, deviceSize: {
    width: number;
    height: number;
}): {
    x: number;
    y: number;
};
/** Alias map for key normalization. */
export declare const KEY_ALIASES: Record<string, string>;
export declare function normalizeKey(raw: string): string;
export declare const androidUseClickTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    point: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, z.core.$strip>;
    button: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
        left: "left";
        right: "right";
        middle: "middle";
    }>>>;
    double: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}>;
export declare const androidUseLongPressTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    point: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, z.core.$strip>;
    durationMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}>;
export declare const androidUseTypeTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    content: z.ZodString;
    replace: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}>;
export declare const androidUseScrollTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    direction: z.ZodEnum<{
        left: "left";
        up: "up";
        down: "down";
        right: "right";
    }>;
    amount: z.ZodNumber;
    point: z.ZodOptional<z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, z.core.$strip>>;
}>;
export declare const androidUseDragTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    startPoint: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, z.core.$strip>;
    endPoint: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, z.core.$strip>;
    durationMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}>;
export declare const androidUsePressTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    key: z.ZodString;
}>;
export declare const androidUseScreenshotTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{}>;
export declare const androidUseOpenTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    packageName: z.ZodString;
}>;
//# sourceMappingURL=android-use.d.ts.map