/** * ActionExecutor — Programmatically triggers UI actions on registered elements. * * Uses the element handlers captured during registration to simulate * real user interactions. Each action method takes a RegisteredElement * and executes the appropriate handler. */ import type { RegisteredElement } from './types'; export interface ActionResult { success: boolean; action: string; elementId: string; error?: string; data?: Record; } export declare class ActionExecutor { /** Tracks cumulative scroll offsets per element (scrollTo uses absolute coords) */ private scrollOffsets; /** * Tap (press) an element. */ tap(element: RegisteredElement): ActionResult; /** * Long press an element. */ longPress(element: RegisteredElement): ActionResult; /** * Type text into a TextInput element. */ type(element: RegisteredElement, text: string): ActionResult; /** * Clear a TextInput element. */ clear(element: RegisteredElement): ActionResult; /** * Scroll a ScrollView element. * Tracks cumulative offset since scrollTo() requires absolute positions. */ scroll(element: RegisteredElement, direction: 'up' | 'down' | 'left' | 'right', amount?: number): ActionResult; /** * Toggle a Switch element. */ toggle(element: RegisteredElement): ActionResult; /** * Set the value of a slider or similar element. */ setValue(element: RegisteredElement, value: number): ActionResult; /** * Swipe an element in a direction. */ swipe(element: RegisteredElement, direction: 'left' | 'right' | 'up' | 'down'): ActionResult; /** * Read the current text/value of an element. */ read(element: RegisteredElement): ActionResult; } /** Singleton instance */ export declare const actionExecutor: ActionExecutor; //# sourceMappingURL=ActionExecutor.d.ts.map