/**
 * Low-level macOS desktop executor using cliclick, osascript, and screencapture.
 * Used by computer_use MCP tools to perform mouse, keyboard, and screenshot actions.
 */
/** Capture the screen. Returns base64 PNG and the saved file path. */
export declare function captureScreen(): Promise<{
    base64: string;
    filePath: string;
}>;
/**
 * Initialize display size cache. Call once at agent startup.
 *
 * Throws if the system display size cannot be determined. We intentionally
 * don't silently fall back to a guessed resolution: every coordinate the
 * computer_use tools compute (click targets, drag endpoints, vision-
 * resolver scaling) depends on the real display size, and a wrong value
 * makes the agent click the wrong pixels silently. Callers at startup
 * should catch this, disable computer_use, and notify the owner.
 */
export declare function initDisplaySize(): Promise<void>;
/** Whether `initDisplaySize()` has successfully populated the cache. */
export declare function isDisplaySizeInitialized(): boolean;
/**
 * Return cached display size. Throws if `initDisplaySize()` has not run
 * successfully — callers must gate computer_use entry points on
 * `isDisplaySizeInitialized()` first.
 */
export declare function getDisplaySize(): {
    width: number;
    height: number;
};
/**
 * Left click at (x, y).
 */
export declare function click(x: number, y: number): Promise<void>;
/**
 * Double click at (x, y).
 */
export declare function doubleClick(x: number, y: number): Promise<void>;
/**
 * Right click at (x, y).
 */
export declare function rightClick(x: number, y: number): Promise<void>;
/**
 * Move cursor to (x, y).
 */
export declare function moveTo(x: number, y: number): Promise<void>;
/**
 * Drag from (x1, y1) to (x2, y2).
 *
 * Uses cliclick dd: (drag down) + dm: (drag move) + du: (drag up) with a
 * small wait (-w) between commands so macOS registers the press-hold-move
 * gesture rather than treating it as a quick click.
 */
export declare function drag(x1: number, y1: number, x2: number, y2: number): Promise<void>;
/**
 * Type text into the currently focused element.
 *
 * Uses the clipboard (pbcopy + Cmd-V) for speed and full Unicode support
 * (including emoji). The previous clipboard content is saved and restored.
 */
export declare function typeText(text: string): Promise<void>;
/**
 * Press a key or key combination (e.g. "enter", "escape", "cmd+s", "ctrl+shift+t").
 *
 * Uses osascript System Events `key code` for special keys (more reliable across
 * apps than cliclick kp:), and cliclick `t:` for single character keys.
 * Modifiers are handled via System Events `using` clause or cliclick `kd:/ku:`.
 */
export declare function pressKey(key: string): Promise<void>;
/**
 * Scroll at (x, y) in direction. Amount is number of scroll line-steps (default 3).
 *
 * Uses CGEvent scroll wheel via a compiled Swift helper for all directions.
 * The helper is compiled once on first use, then cached for subsequent calls.
 */
export declare function scroll(x: number, y: number, direction: "up" | "down" | "left" | "right", amount?: number): Promise<void>;
/**
 * Scroll by explicit vertical/horizontal deltas at a given cursor position.
 *
 * Positive vertical values scroll up; negative values scroll down.
 * Positive horizontal values scroll left; negative values scroll right.
 */
export declare function scrollBy(x: number, y: number, vertical: number, horizontal: number): Promise<void>;
//# sourceMappingURL=desktop-executor.d.ts.map