/** * cloakbrowser-human — Human-like scrolling via mouse wheel events. * Adapted for Puppeteer API. * * Changes from Playwright version: * - page.viewport() instead of page.viewportSize() * - page.$(selector) + el.boundingBox() instead of page.locator().boundingBox() * - boundingBox() has no timeout param — we poll page.$() up to ``timeout`` ms */ import type { Page } from 'puppeteer-core'; import type { HumanConfig } from '../human/config.js'; import { RawMouse } from '../human/mouse.js'; interface ElementBounds { x: number; y: number; width: number; height: number; } export declare function smoothWheel(raw: RawMouse, delta: number, cfg: HumanConfig, axis?: 'x' | 'y'): Promise; /** * Humanized scrolling that takes an arbitrary ``getBox`` callable. * Used by both ``scrollToElement`` (selector-based) and the ElementHandle * ``scrollIntoView`` patch. */ export declare function humanScrollIntoView(page: Page, raw: RawMouse, getBox: () => Promise, cursorX: number, cursorY: number, cfg: HumanConfig): Promise<{ box: ElementBounds; cursorX: number; cursorY: number; }>; /** * Selector-based humanized scroll (Puppeteer). * * ``timeout`` controls how long we poll ``page.$(selector)`` before giving up, * so callers like ``page.click('#x', { timeout: 5000 })`` can wait longer for * slow-loading elements (#172). Default matches Playwright's 30000ms when not specified. */ export declare function scrollToElement(page: Page, raw: RawMouse, selector: string, cursorX: number, cursorY: number, cfg: HumanConfig, timeout?: number): Promise<{ box: ElementBounds; cursorX: number; cursorY: number; }>; export {}; //# sourceMappingURL=scroll.d.ts.map