/** * Weavetab — tools/pointer.ts * Unified tool for all mouse/pointer interactions: click, double_click, hover, drag_and_drop. * Supports targeting by ref ID (e.g. w:42) or absolute coordinates (x, y). * Replaces mouse.ts, hover.ts, and drag.ts. * Weavetab by fy2ne */ import CDP from "chrome-remote-interface"; import type { Config } from "../config/loader.js"; export interface PointerResult { success: boolean; action: string; x?: number; y?: number; end_x?: number; end_y?: number; execution_ms: number; tab_id: string; url: string; dom_changed?: boolean; } export interface PointerStep { action?: "hover" | "click" | "double_click"; ref?: string; selector?: string; target?: string; label?: string; x?: number; y?: number; holdMs?: number; } export interface PointerArgs { action?: "click" | "double_click" | "hover" | "drag_and_drop" | "hover_chain"; ref?: string; selector?: string; target?: string; label?: string; x?: number; y?: number; end_ref?: string; end_x?: number; end_y?: number; waitForChild?: string; holdMs?: number; hover_chain?: Array; chain?: Array; clickFinal?: boolean; [key: string]: unknown; } export declare function browserPointer(session: CDP.Client, args: PointerArgs, config: Config): Promise;