/// <reference types="cheerio" />
import { DOMElement } from "./domelement";
import { iAssertionContext, iValue, KeyValue, FindOptions, FindAllOptions } from "../interfaces";
export declare class HTMLElement extends DOMElement implements iValue {
    protected _path: string;
    protected _input: Cheerio | CheerioElement;
    get $(): Cheerio | CheerioElement;
    protected get el(): Cheerio;
    static create(input: any, context: iAssertionContext, name?: string | null, path?: string): Promise<HTMLElement>;
    protected constructor(input: any, context: iAssertionContext, name?: string | null, path?: string);
    find(selector: string, a?: string | RegExp | FindOptions, b?: FindOptions): Promise<iValue>;
    findAll(selector: string, a?: string | RegExp | FindAllOptions, b?: FindAllOptions): Promise<iValue[]>;
    getAncestorOrSelf(selector: string): Promise<iValue>;
    getFirstChild(selector: string): Promise<iValue>;
    getLastChild(selector: string): Promise<iValue>;
    getChildren(selector?: string): Promise<HTMLElement[]>;
    getSiblings(selector: string): Promise<iValue[]>;
    getFirstSibling(selector: string): Promise<iValue>;
    getLastSibling(selector: string): Promise<iValue>;
    getAncestor(selector?: string): Promise<HTMLElement | iValue>;
    getParent(): Promise<HTMLElement | iValue>;
    getPreviousSibling(selector?: string): Promise<HTMLElement | iValue>;
    getPreviousSiblings(selector?: string): Promise<HTMLElement[]>;
    getNextSibling(selector?: string): Promise<HTMLElement | iValue>;
    getNextSiblings(selector?: string): Promise<HTMLElement[]>;
    click(): Promise<iValue>;
    fillForm(attributeName: string, formData: KeyValue): Promise<iValue>;
    fillForm(formData: KeyValue): Promise<iValue>;
    submit(): Promise<iValue>;
    protected _getText(): Promise<string>;
    protected _getValue(): Promise<any>;
    protected _getProperty(key: string): Promise<any>;
    protected _getInnerText(): Promise<string>;
    protected _getInnerHtml(): Promise<string>;
    protected _getOuterHtml(): Promise<any>;
    protected _getClassName(): Promise<string>;
    protected _getTagName(): Promise<string>;
    protected _getAttribute(key: string): Promise<string | null>;
}
