/// <reference types="node" />
import { iValue, iResponse, iScenario, iAssertionContext, FindOptions, FindAllOptions, OptionalXY } from "./interfaces";
import { HttpResponse } from "./httpresponse";
import { ValuePromise } from "./value-promise";
import { ScenarioType } from "./scenario-types";
export declare function isPuppeteer(type: ScenarioType): boolean;
export declare abstract class ProtoResponse implements iResponse {
    readonly scenario: iScenario;
    private _httpResponse;
    abstract get responseType(): ScenarioType;
    abstract get responseTypeName(): string;
    abstract find(selector: string, opts?: FindOptions): ValuePromise;
    abstract find(selector: string, contains: string, opts?: FindOptions): ValuePromise;
    abstract find(selector: string, matches: RegExp, opts?: FindOptions): ValuePromise;
    abstract findAll(selector: string, opts?: FindAllOptions): Promise<iValue[]>;
    abstract findAll(selector: string, contains: string, opts?: FindAllOptions): Promise<iValue[]>;
    abstract findAll(selector: string, matches: RegExp, opts?: FindAllOptions): Promise<iValue[]>;
    abstract eval(callback: any, ...args: any[]): Promise<any>;
    get isBrowser(): boolean;
    get httpResponse(): HttpResponse;
    get statusCode(): iValue;
    get statusMessage(): iValue;
    get body(): iValue;
    get length(): iValue;
    get headers(): iValue;
    get cookies(): iValue;
    get trailers(): iValue;
    get jsonBody(): iValue;
    get url(): iValue;
    get finalUrl(): iValue;
    get redirectCount(): iValue;
    get loadTime(): iValue;
    get method(): iValue;
    get context(): iAssertionContext;
    constructor(scenario: iScenario);
    init(httpResponse: HttpResponse): void;
    absolutizeUri(uri: string): string;
    getRoot(): any;
    header(key: string): iValue;
    cookie(key: string): iValue;
    waitForFunction(..._args: any[]): Promise<void>;
    waitForNavigation(..._args: any[]): Promise<void>;
    waitForLoad(..._args: any[]): Promise<void>;
    waitForReady(..._args: any[]): Promise<void>;
    waitForNetworkIdle(..._args: any[]): Promise<void>;
    waitForHidden(..._args: any[]): Promise<iValue>;
    waitForVisible(..._args: any[]): Promise<iValue>;
    waitForExists(..._args: any[]): Promise<iValue>;
    waitForNotExists(..._args: any[]): Promise<iValue>;
    waitForHavingText(..._args: any[]): Promise<iValue>;
    screenshot(): Promise<Buffer>;
    type(selector: string, textToType: string, opts?: any): Promise<any>;
    clear(selector: string): Promise<any>;
    waitForXPath(xPath: string): Promise<iValue>;
    findXPath(xPath: string): Promise<iValue>;
    findAllXPath(xPath: string): Promise<iValue[]>;
    findHavingText(selector: string, searchForText: string | RegExp): Promise<iValue>;
    findAllHavingText(selector: string, searchForText: string | RegExp): Promise<iValue[]>;
    selectOption(selector: string, value: string | string[]): Promise<void>;
    scrollTo(_point: OptionalXY): Promise<iResponse>;
    click(selector: string, opts?: FindOptions): Promise<iValue>;
    click(selector: string, contains: string, opts?: FindOptions): Promise<iValue>;
    click(selector: string, matches: RegExp, opts?: FindOptions): Promise<iValue>;
    serialize(): object;
}
