/// <reference types="node" />
import { Page } from 'puppeteer';
import { iResponse, iDOMElement } from "./interfaces";
import { Browser } from './browser';
import { DOMResponse } from './domresponse';
import { PuppeteerElement } from './puppeteerelement';
export declare abstract class PuppeteerResponse extends DOMResponse implements iResponse {
    readonly isBrowser: boolean;
    readonly browser: Browser;
    readonly page: Page | null;
    abstract find(path: string): Promise<iDOMElement | null>;
    abstract findAll(path: string): Promise<iDOMElement[]>;
    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 | null>;
    waitForVisible(selector: string, timeout?: number): Promise<PuppeteerElement | null>;
    waitForExists(selector: string, timeout?: number): Promise<PuppeteerElement | null>;
    screenshot(opts: any): Promise<Buffer | string>;
    type(selector: string, textToType: string, opts?: any): Promise<any>;
    clear(selector: string): Promise<any>;
    selectOption(selector: string, value: string | string[]): Promise<string[]>;
}
