import { RemoteElement, RemoteElementInfo, RemoteObject } from '../cdp/index.js';
export declare class Element {
    remote: RemoteElement;
    value: any;
    info?: RemoteElementInfo;
    constructor(remote: RemoteElement, value: any, info?: RemoteElementInfo);
    get objectId(): string;
    get description(): string;
    get page(): import("../cdp/page.js").Page;
    get executionContext(): import("../cdp/execution-context.js").ExecutionContext;
    clone(newValue?: any): Element;
    getInfo(force?: boolean): Promise<RemoteElementInfo>;
    evaluateJson<T>(pageFn: (el: any, ...args: any[]) => T | Promise<T>, ...args: any[]): Promise<T>;
    queryAll(selector: string, optional?: boolean): Promise<Element[]>;
    queryOne(selector: string, optional?: boolean): Promise<Element | null>;
    queryXPathAll(expression: string, optional?: boolean): Promise<Element[]>;
    queryXPathOne(expression: string, optional?: boolean): Promise<Element | null>;
    parent(optional: boolean): Promise<Element | null>;
    children(optional?: boolean): Promise<Element[]>;
    previousSibling(optional: boolean): Promise<Element | null>;
    nextSibling(optional: boolean): Promise<Element | null>;
    closest(selector: string, optional?: boolean): Promise<Element | null>;
    contentDocument(): Promise<Element>;
    shadowRoot(): Promise<Element>;
    assertElement(message: string): Promise<void>;
    extractElementsWithInfo(obj: RemoteObject): Promise<Element[]>;
    tooltip(label: string, color?: string): Promise<void>;
}
//# sourceMappingURL=element.d.ts.map