/**
 * Human-like behaviour primitives — timing, scrolling, clicking.
 *
 * Every delay is drawn from a gaussian distribution so patterns
 * are not trivially detectable.  A per-session jitter factor
 * shifts *all* timing parameters by ±20% for the lifetime of the
 * import.
 */
import type { BrowserContext } from './cdp.js';
/**
 * Pause for a gaussian-distributed duration.
 * @param meanMs  Centre of the distribution (ms)
 * @param sigmaMs Standard deviation (default: meanMs × 0.3)
 */
export declare function delay(meanMs: number, sigmaMs?: number): Promise<void>;
/**
 * Scroll the page by approximately `pixels` using multiple wheel events
 * with natural speed variation.
 */
export declare function naturalScroll(ctx: BrowserContext, pixels: number): Promise<void>;
/**
 * Click at (x, y) with a slight random offset.
 */
export declare function humanClick(ctx: BrowserContext, x: number, y: number, offsetPx?: number): Promise<void>;
/**
 * Click on a DOM element identified by CSS selector.
 * Returns false if the element was not found.
 */
export declare function clickElement(ctx: BrowserContext, selector: string): Promise<boolean>;
/**
 * Move the mouse from its current position to (x, y) along an
 * interpolated path with slight curvature.
 */
export declare function mouseMoveTo(ctx: BrowserContext, x: number, y: number): Promise<void>;
/**
 * Longer pause that simulates reading or thinking (5–15 s).
 */
export declare function idlePause(): Promise<void>;
/**
 * Incrementally scroll a feed, invoking `onScroll` after each step.
 * The callback receives the current `scrollY` and may return `false`
 * to stop scrolling early.
 */
export declare function scrollFeed(ctx: BrowserContext, opts?: {
    maxScrolls?: number;
    onScroll?: (scrollY: number) => Promise<boolean>;
}): Promise<void>;
//# sourceMappingURL=human.d.ts.map