/// <reference types="node" />
import { PuppeteerElement } from "./puppeteerelement";
import { iValue, iAssertionContext, iBounds, ScreenshotOpts, KeyValue } from "../interfaces";
import { ElementHandle } from "puppeteer-core";
export declare class BrowserElement extends PuppeteerElement implements iValue {
    protected _input: ElementHandle;
    get $(): ElementHandle;
    static create(input: ElementHandle, context: iAssertionContext, name: string, path?: string): Promise<BrowserElement>;
    protected constructor(input: ElementHandle, context: iAssertionContext, name: string, path?: string);
    find(selector: string): Promise<iValue>;
    findAll(selector: string): Promise<BrowserElement[]>;
    getAncestors(selector: string): Promise<iValue[]>;
    getAncestorOrSelf(selector: string): Promise<iValue>;
    getFirstChild(selector?: string): Promise<iValue>;
    getLastChild(selector?: string): Promise<iValue>;
    getFirstSibling(selector?: string): Promise<iValue>;
    getLastSibling(selector?: string): Promise<iValue>;
    getChildOrSelf(selector?: string): Promise<iValue>;
    getDescendantOrSelf(selector?: string): Promise<iValue>;
    getDescendants(selector?: string): Promise<iValue[]>;
    getAncestor(selector?: string): Promise<iValue>;
    getChildren(selector?: string): Promise<iValue[]>;
    getParent(): Promise<iValue>;
    getSiblings(selector?: string): Promise<iValue[]>;
    getPreviousSibling(selector?: string): Promise<iValue>;
    getPreviousSiblings(selector?: string): Promise<iValue[]>;
    getNextSibling(selector?: string): Promise<BrowserElement | iValue>;
    getNextSiblings(selector?: string): Promise<iValue[]>;
    getBounds(boxType?: string): Promise<iBounds | null>;
    focus(): Promise<any>;
    blur(): Promise<any>;
    hover(): Promise<void>;
    tap(): Promise<void>;
    press(key: string, opts?: any): Promise<void>;
    type(textToType: string, opts?: any): Promise<void>;
    clear(): Promise<void>;
    fillForm(attributeName: string, formData: KeyValue): Promise<iValue>;
    fillForm(formData: KeyValue): Promise<iValue>;
    submit(): Promise<iValue>;
    click(): Promise<iValue>;
    screenshot(): Promise<Buffer>;
    screenshot(localFilePath: string): Promise<Buffer>;
    screenshot(localFilePath: string, opts: ScreenshotOpts): Promise<Buffer>;
    screenshot(opts: ScreenshotOpts): Promise<Buffer>;
    selectOption(valuesToSelect: string | string[]): Promise<void>;
    pressEnter(): Promise<void>;
    scrollTo(): Promise<void>;
    isHidden(): Promise<boolean>;
    isVisible(): Promise<boolean>;
    protected _getInnerText(): Promise<string>;
    protected _getInnerHtml(): Promise<string>;
    protected _getOuterHtml(): Promise<string>;
    protected _getValue(): Promise<unknown>;
    protected _getText(): Promise<string>;
    protected _getClassName(): Promise<string>;
    protected _getTagName(): Promise<string>;
    protected _getAttribute(key: string): Promise<string>;
    protected _isPasswordField(): Promise<boolean>;
    protected _elementHandlesToFirstValue(elements: ElementHandle[], name: string, path: string): Promise<iValue>;
    protected _elementHandlesToValueArray(elements: ElementHandle<Element>[], name: string, path: string): Promise<iValue[]>;
    protected _xQuery(prefix: string, selector?: string, suffix?: string): Promise<ElementHandle<Element>[]>;
}
