import { ElementHandle, Page, BoundingBox, Frame } from 'puppeteer';
import { Vector } from './math';
export { default as installMouseHelper } from './mouse-helper';
interface BoxOptions {
    readonly paddingPercentage: number;
}
interface MoveOptions extends BoxOptions {
    readonly waitForSelector: number;
    readonly moveDelay?: number;
}
interface ClickOptions extends MoveOptions {
    readonly waitForClick: number;
}
export interface GhostCursor {
    toggleRandomMove: (random: boolean) => void;
    click: (selector?: string | ElementHandle, options?: ClickOptions, frame?: Frame) => Promise<void>;
    move: (selector: string | ElementHandle, options?: MoveOptions, frame?: Frame) => Promise<void>;
    moveTo: (destination: Vector) => Promise<void>;
}
export declare const getRandomPagePoint: (page: Page) => Promise<Vector>;
export declare function path(point: Vector, target: Vector, spreadOverride?: number): any;
export declare function path(point: Vector, target: BoundingBox, spreadOverride?: number): any;
export declare const createCursor: (page: Page, start?: Vector, performRandomMoves?: boolean) => GhostCursor;
