import { ProtoValue, Value, iValue } from './value';
import { Scenario } from './scenario';
import { AssertionContext } from './assertioncontext';
export declare class DOMElement extends ProtoValue implements iValue {
    protected _path: string;
    readonly path: string;
    readonly name: string;
    static create(input: any, context: AssertionContext, name?: string | null, path?: string): Promise<DOMElement>;
    private constructor();
    toString(): string;
    getClassName(): Promise<Value>;
    hasClassName(className: string): Promise<Value>;
    getTagName(): Promise<Value>;
    getInnerText(): Promise<Value>;
    getInnerHtml(): Promise<Value>;
    getOuterHtml(): Promise<Value>;
    hasAttribute(key: string): Promise<Value>;
    getAttribute(key: string): Promise<Value>;
    hasProperty(key: string): Promise<Value>;
    getProperty(key: string): Promise<Value>;
    hasData(key: string): Promise<Value>;
    getData(key: string): Promise<Value>;
    getValue(): Promise<Value>;
    getText(): Promise<Value>;
    fillForm(formData: any): Promise<any>;
    submit(): Promise<any>;
    submit(callback: Function): Promise<any>;
    submit(message: string, callback: Function): Promise<any>;
    click(): Promise<any>;
    click(callback: Function): Promise<any>;
    click(message: string, callback: Function): Promise<any>;
    load(): Promise<Scenario>;
    load(callback: Function): Promise<Scenario>;
    load(message: string, callback: Function): Promise<Scenario>;
    private _isFormTag;
    private _isButtonTag;
    private _isLinkTag;
    private _isImageTag;
    private _isVideoTag;
    private _isAudioTag;
    private _isScriptTag;
    private _isStylesheetTag;
    private _isClickable;
    private _getUrl;
    private _getLambdaScenarioType;
    private _getLink;
    private _createLambdaScenario;
    private _getTagName;
    private _getAttribute;
}
