/**
 * Low-level Windows desktop executor using PowerShell + .NET P/Invoke.
 * Used by computer_use MCP tools to perform mouse, keyboard, and screenshot actions.
 *
 * All input injection is done through a single reusable PowerShell helper script
 * that accepts JSON commands on stdin. The script uses Add-Type to import user32.dll
 * P/Invoke signatures for SetCursorPos, mouse_event, and keybd_event.
 */
/** Capture the screen. Returns base64 PNG and the saved file path. */
export declare function captureScreen(): Promise<{
    base64: string;
    filePath: string;
}>;
/**
 * Initialize display size cache. Throws if detection fails — computer_use
 * coordinate math would be silently wrong with a guessed fallback, so we
 * surface the failure to the caller which can 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 uninitialized — callers must gate
 * on `isDisplaySizeInitialized()` first.
 */
export declare function getDisplaySize(): {
    width: number;
    height: number;
};
export declare function click(x: number, y: number): Promise<void>;
export declare function doubleClick(x: number, y: number): Promise<void>;
export declare function rightClick(x: number, y: number): Promise<void>;
export declare function moveTo(x: number, y: number): Promise<void>;
export declare function drag(x1: number, y1: number, x2: number, y2: number): Promise<void>;
/**
 * Type text into the currently focused element.
 *
 * Uses the clipboard (Set-Clipboard + Ctrl-V) for speed and full Unicode support.
 * The previous clipboard content is saved and restored (text only — non-text
 * clipboard data such as images cannot be preserved and will be logged as a warning).
 */
export declare function typeText(text: string): Promise<void>;
/**
 * Press a key or key combination (e.g. "enter", "escape", "cmd+s", "ctrl+shift+t").
 * Modifiers cmd/meta are mapped to Ctrl on Windows.
 */
export declare function pressKey(key: string): Promise<void>;
/**
 * Scroll at (x, y) in direction.
 * Uses mouse_event with MOUSEEVENTF_WHEEL via the helper script.
 */
export declare function scroll(x: number, y: number, direction: "up" | "down" | "left" | "right", amount?: number): Promise<void>;
//# sourceMappingURL=desktop-executor-windows.d.ts.map