import playwright from 'playwright-core'; import { Vector, BoundingBox } from './math'; export declare type createCursorOptions = { overshootSpread?: number; overshootRadius?: number; debug?: boolean; }; export declare function createCursor(page: playwright.Page, createCursorOptions?: createCursorOptions): Promise; export interface Cursor { page: playwright.Page; previous: Vector; overshootSpread: number; overshootRadius: number; overshootThreshold: number; shouldOvershoot(a: Vector, b: Vector): boolean; getElemBoundingBox(selector: string): Promise; getViewportBoundingBox(): Promise; getRandomPointOnViewport(paddingPercentage: number): Promise; getRandomPointInsideElem({ x, y, width, height }: BoundingBox, paddingPercentage?: number): Vector; tracePath(vectors: Iterable): Promise; addMousePositionTracker(): void; addMouseTargetTracker(): void; getActualPosOfMouse(): Promise; compareTargetOfMouse(selector: string): Promise; } export interface Actions { click(clickOptions?: clickOptions, moveOptions?: moveOptions): Promise; move(target: string | BoundingBox | Vector, moveOptions?: moveOptions): Promise; randomMove(value?: number): Promise; } export declare type clickOptions = { target?: string | BoundingBox | Vector; waitBeforeClick?: [number, number]; waitBetweenClick?: [number, number]; doubleClick?: boolean; }; export declare type moveOptions = { paddingPercentage?: number; waitForSelector?: number; waitBeforeMove?: [number, number]; }; export declare function getRandomStartPoint(page: playwright.Page): Promise<{ x: number; y: number; }>; export declare class Cursor { page: playwright.Page; previous: Vector; overshootSpread: number; overshootRadius: number; overshootThreshold: number; constructor(page: playwright.Page, randomStartPoint: Vector, overshootSpread: number, overshootRadius: number); actions: Actions; }