///
import { Value } from "./value";
import { iValue, iAssertionContext, iScenario, iMessageAndCallback, RequestOptions, RequestOptionsWithEncoding } from "./interfaces";
import { Link } from "./link";
import { ResponseType } from "./enums";
export declare abstract class DOMElement extends Value {
get name(): string;
protected constructor(input: any, context: iAssertionContext, name?: string | null, path?: string);
abstract find(selector: string): Promise;
abstract findAll(selector: string): Promise;
protected abstract _getTagName(): Promise;
protected abstract _getAttribute(key: string): Promise;
toString(): string;
getClassName(): Promise;
hasClassName(className: string): Promise;
getInnerText(): Promise;
getInnerHtml(): Promise;
getOuterHtml(): Promise;
hasAttribute(key: string): Promise;
getAttribute(key: string): Promise;
getStyleProperty(key: string): Promise;
hasProperty(key: string): Promise;
getProperty(key: string): Promise;
hasData(key: string): Promise;
getData(key: string): Promise;
getValue(): Promise;
getText(): Promise;
download(): Promise;
download(localFilePath: string): Promise;
download(localFilePath: string, opts: RequestOptions): Promise;
download(opts: RequestOptions): Promise;
download(localFilePath: string, opts: RequestOptionsWithEncoding): Promise;
download(opts: RequestOptionsWithEncoding): Promise;
load(): iScenario;
load(message: string): iScenario;
load(callback: Function): iScenario;
load(scenario: iScenario): iScenario;
load(message: string, callback: Function): iScenario;
protected _isFormTag(): Promise;
protected _isButtonTag(): Promise;
protected _isLinkTag(): Promise;
protected _isImageTag(): Promise;
protected _isVideoTag(): Promise;
protected _isAudioTag(): Promise;
protected _isScriptTag(): Promise;
protected _isStylesheetTag(): Promise;
protected _isClickable(): Promise;
protected _getUrl(): Promise;
protected _getLambdaScenarioType(): Promise;
protected _getLink(): Promise;
protected _getLambdaScenarioOpts(newScenarioType: ResponseType): any;
protected _createSubScenario(overloaded: iMessageAndCallback, defaultResponseType?: ResponseType, defaultOpts?: any): iScenario;
protected _loadSubScenario(overloaded: iMessageAndCallback): iScenario;
}