import type { Page } from './page.js'; import type { ClickOptions, TypeOptions } from './types/options.js'; import type { ClickResponse, HoverResponse, QuerySelectorResponse, SelectResponse, TypeResponse } from './types/responses.js'; /** * A handle to a matched element. * * Note: unlike puppeteer's live `ElementHandle`, the property getters * (`innerText`, `outerHTML`, …) return a **snapshot** captured when the handle * was created via `page.$()`. They do not re-query the DOM, so they won't * reflect later mutations. The action methods (`click`, `type`, `hover`, * `select`) and the scoped query methods (`$`, `$$`) always operate against the * live page. */ export declare class ElementHandle { private readonly _selector; private readonly _properties; private readonly _page; /** @internal */ constructor(page: Page, selector: string, properties: QuerySelectorResponse); /** The element's inner HTML, when returned by BrowserQL. */ get innerHTML(): string | null; /** The element's visible text, when returned by BrowserQL. */ get innerText(): string | null; /** The element id, when present. */ get id(): string | null; /** The element class attribute, when present. */ get className(): string | null; /** The element local tag name. */ get localName(): string | null; /** The element's outer HTML, when returned by BrowserQL. */ get outerHTML(): string | null; /** The number of direct child elements. */ get childElementCount(): number | null; /** The selector used to create this handle. */ get selector(): string; /** Clicks the element using its original selector. */ click(options?: ClickOptions): Promise; /** Hovers the element using its original selector. */ hover(): Promise; /** Types text into the element using its original selector. */ type(text: string, options?: TypeOptions): Promise; /** Select option(s) on this element (it must be a `