/// <reference types="node" />
import { iAssertionContext, iValue, iScenario, KeyValue, iBounds, iNextCallback } from "./interfaces";
import { ResponseType } from "./enums";
import { Link } from "./link";
import { HttpResponse } from "./httpresponse";
import { HttpRequestOptions } from "./httprequest";
import { EvaluateFn, PageFnOptions, SerializableOrJSHandle } from "puppeteer-core";
export declare class Value implements iValue {
    protected _input: any;
    protected _context: iAssertionContext;
    protected _name: string | null;
    protected _parent: any;
    protected _highlight: string;
    protected _sourceCode: string | null;
    protected _path: string | undefined;
    protected _tagName: string | undefined;
    get context(): iAssertionContext;
    get $(): any;
    get tagName(): string;
    get outerHTML(): string;
    selectOption(value: string | string[]): Promise<void>;
    pressEnter(): Promise<void>;
    get length(): iValue;
    get trim(): iValue;
    get path(): string;
    get name(): string;
    get highlight(): string;
    get parent(): any;
    get sourceCode(): string;
    get isFlagpoleValue(): true;
    constructor(input: any, context: iAssertionContext, name?: string, parent?: any, highlight?: string);
    toArray(): any[];
    valueOf(): any;
    toString(): string;
    toBoolean(): boolean;
    toFloat(): number;
    toInteger(): number;
    toType(): string;
    isNullOrUndefined(): boolean;
    isUndefined(): boolean;
    isNull(): boolean;
    isPromise(): boolean;
    isArray(): boolean;
    isString(): boolean;
    isObject(): boolean;
    isNumber(): boolean;
    isNumeric(): boolean;
    isNaN(): boolean;
    isCookie(): boolean;
    isRegularExpression(): boolean;
    isCheerioElement(): boolean;
    isPuppeteerElement(): boolean;
    hasProperty(key: string, value: any): Promise<boolean>;
    hasValue(value: any): Promise<boolean>;
    as(aliasName: string): iValue;
    getProperty(key: string): Promise<iValue>;
    click(): Promise<iValue>;
    submit(): Promise<iValue>;
    open(message: string): iScenario;
    open(message: string, type: ResponseType): iScenario;
    open(message: string, type: ResponseType, callback: iNextCallback): iScenario;
    open(message: string, callback: iNextCallback): iScenario;
    open(callback: iNextCallback): iScenario;
    open(scenario: iScenario): iScenario;
    isVisible(): Promise<boolean>;
    isHidden(): Promise<boolean>;
    isTag(...tagNames: string[]): boolean;
    getLink(): Promise<Link>;
    getUrl(): Promise<iValue>;
    fillForm(attributeName: string, formData: KeyValue): Promise<iValue>;
    fillForm(formData: KeyValue): Promise<iValue>;
    exists(selector?: string): Promise<iValue>;
    find(selector: string): Promise<iValue>;
    findAll(selector: string): Promise<iValue[]>;
    getClassName(): Promise<iValue>;
    hasClassName(name?: string | RegExp): Promise<boolean>;
    getTag(): Promise<iValue>;
    hasTag(tag?: string | RegExp): Promise<boolean>;
    getInnerText(): Promise<iValue>;
    getInnerHtml(): Promise<iValue>;
    getOuterHtml(): Promise<iValue>;
    hasAttribute(key: string, value?: string | RegExp): Promise<boolean>;
    getAttribute(key: string): Promise<iValue>;
    getStyleProperty(key: string): Promise<iValue>;
    getValue(): Promise<iValue>;
    scrollTo(): Promise<void>;
    hasText(text?: string): Promise<boolean>;
    getText(): Promise<iValue>;
    get values(): iValue;
    get keys(): iValue;
    screenshot(): Promise<Buffer>;
    eval(js: string): Promise<any>;
    focus(): Promise<void>;
    hover(): Promise<void>;
    blur(): Promise<void>;
    tap(): Promise<void>;
    press(key: string, opts?: any): Promise<void>;
    clearThenType(textToType: string, opts?: any): Promise<void>;
    type(textToType: string, opts?: any): Promise<void>;
    clear(): Promise<void>;
    getAncestor(selector: string): Promise<iValue>;
    getChildren(selector?: string): Promise<iValue[]>;
    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[]>;
    getParent(): Promise<iValue>;
    getSiblings(selector?: string): Promise<iValue[]>;
    getPreviousSibling(selector?: string): Promise<iValue>;
    getPreviousSiblings(selector?: string): Promise<iValue[]>;
    getNextSibling(selector?: string): Promise<iValue>;
    getNextSiblings(selector?: string): Promise<iValue[]>;
    getBounds(boxType: string): Promise<iBounds | null>;
    download(): Promise<HttpResponse | null>;
    download(localFilePath: string): Promise<HttpResponse | null>;
    download(localFilePath: string, opts: HttpRequestOptions): Promise<HttpResponse | null>;
    download(opts: HttpRequestOptions): Promise<HttpResponse | null>;
    waitForFunction(js: EvaluateFn<any>, opts?: PageFnOptions | number, ...args: SerializableOrJSHandle[]): Promise<iValue>;
    waitForHidden(): Promise<iValue>;
    waitForVisible(): Promise<iValue>;
    setValue(text: string): Promise<void>;
    protected _completedAction(verb: string, noun?: string): Promise<void>;
    protected _failedAction(verb: string, noun?: string): Promise<void>;
    protected _wrapAsValue(data: any, name: string, parent?: any, highlight?: string): iValue;
}
