/**
 * Computer use MCP tools for desktop interaction.
 * Each coordinate-based tool: scale screenshot coords → display coords → execute → result screenshot.
 *
 * The model sees resized screenshots and outputs pixel positions in that
 * image space. The execution layer scales from screenshot coords to actual
 * display resolution, mirroring the android-use pattern.
 */
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 computes those dimensions deterministically from the
 * display resolution so we can map coordinates without reading the image.
 */
export declare function getScreenshotSize(displaySize: {
    width: number;
    height: number;
}): {
    width: number;
    height: number;
};
/**
 * Convert pixel coordinates in screenshot space to absolute display coordinates.
 * The model outputs coordinates based on the resized screenshot it sees;
 * we scale them to the actual display resolution for input events.
 */
export declare function screenshotToDisplay(point: {
    x: number;
    y: number;
}, screenshotSize: {
    width: number;
    height: number;
}, displaySize: {
    width: number;
    height: number;
}): {
    x: number;
    y: number;
};
export declare const computerUseClickTool: 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";
        double: "double";
    }>>>;
}>;
export declare const computerUseMoveTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    point: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, z.core.$strip>;
}>;
export declare const computerUseScrollTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    point: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, z.core.$strip>;
    direction: z.ZodEnum<{
        left: "left";
        up: "up";
        down: "down";
        right: "right";
    }>;
    amount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}>;
export declare const computerUseDragTool: 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>;
}>;
export declare const computerUseTypeTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    text: z.ZodString;
    replace: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    press_enter: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}>;
export declare const computerUseKeyTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
    key: z.ZodString;
}>;
export declare const computerUseScreenshotTool: import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{}>;
//# sourceMappingURL=computer-use.d.ts.map