/// <reference types="node" />
import { Page, Browser, Response } from "puppeteer-core";
import { iResponse, iValue, ScreenshotOpts } from "./interfaces";
import { BrowserControl } from "./browsercontrol";
import { DOMResponse } from "./domresponse";
import { PuppeteerElement } from "./puppeteerelement";
export declare abstract class PuppeteerResponse extends DOMResponse implements iResponse {
    get isBrowser(): boolean;
    get browserControl(): BrowserControl;
    get page(): Page | null;
    get browser(): Browser | null;
    get response(): Response | null;
    abstract find(path: string): Promise<iValue>;
    abstract findAll(path: string): Promise<iValue[]>;
    evaluate(context: any, callback: Function): Promise<any>;
    waitForNetworkIdle(timeout?: number): Promise<void>;
    waitForNavigation(timeout?: number, waitFor?: string | string[]): Promise<void>;
    waitForLoad(timeout?: number): Promise<void>;
    waitForReady(timeout?: number): Promise<void>;
    waitForHidden(selector: string, timeout?: number): Promise<PuppeteerElement>;
    waitForVisible(selector: string, timeout?: number): Promise<PuppeteerElement>;
    waitForExists(selector: string, timeout?: number): Promise<PuppeteerElement>;
    waitForXPath(xPath: string, timeout?: number): Promise<PuppeteerElement>;
    waitForHavingText(selector: string, text: string, timeout?: number): Promise<PuppeteerElement>;
    screenshot(): Promise<Buffer>;
    screenshot(localFilePath: string): Promise<Buffer>;
    screenshot(localFilePath: string, opts: ScreenshotOpts): Promise<Buffer>;
    screenshot(opts: ScreenshotOpts): Promise<Buffer>;
    type(selector: string, textToType: string, opts?: any): Promise<any>;
    clear(selector: string): Promise<any>;
    selectOption(selector: string, value: string | string[]): Promise<string[]>;
}
