import type { Page } from "puppeteer-core"; import type { NavigateResult, ClickResult, TypeResult, SelectResult, ScrollResult, WaitResult, ElementInfo } from "../types.js"; /** * Get or create a persistent page for interactions. * Unlike screenshot tool (which creates/destroys pages), interactions * reuse the same page to maintain state between calls. */ export declare function getInteractionPage(): Promise; /** * Reset the active page reference (for testing). */ export declare function resetActivePage(): void; /** * Navigate to a URL, wait for network idle, return page info with screenshot. */ export declare function navigateTo(url: string): Promise; export interface ClickOptions { readonly url?: string; readonly waitAfter?: number; } /** * Click an element by CSS selector. Optionally navigate first. * Returns a screenshot after the click so Claude can see the result. */ export declare function clickElement(selector: string, options?: ClickOptions): Promise; export interface TypeOptions { readonly url?: string; readonly clearFirst?: boolean; readonly pressEnter?: boolean; } /** * Type text into an input/textarea. Options to clear first and press Enter. * Returns a screenshot after typing so Claude can see the result. */ export declare function typeIntoElement(selector: string, text: string, options?: TypeOptions): Promise; export interface SelectOptions { readonly url?: string; } /** * Select an option from a dropdown by value. * Returns a screenshot after selection so Claude can see the result. */ export declare function selectOption(selector: string, value: string, options?: SelectOptions): Promise; export interface ScrollOptions { readonly url?: string; readonly direction?: "up" | "down"; readonly amount?: number; readonly toSelector?: string; } /** * Scroll the page by amount (pixels) or to a specific element. * Returns a screenshot after scrolling so Claude can see the result. */ export declare function scrollPage(options?: ScrollOptions): Promise; export interface WaitOptions { readonly url?: string; readonly timeout?: number; readonly visible?: boolean; } /** * Wait for an element to appear in the DOM. * Returns element tag name and text content when found. */ export declare function waitForElement(selector: string, options?: WaitOptions): Promise; export interface GetElementOptions { readonly url?: string; } /** * Get detailed information about a DOM element: * tag, text, attributes, bounding box, computed styles. */ export declare function getElementInfo(selector: string, options?: GetElementOptions): Promise; //# sourceMappingURL=interact.d.ts.map