/// <reference types="node" />
import { Browser } from './browser';
import { Page } from 'puppeteer';
import { Assertion } from './assertion';
import { iResponse, iValue, iAssertionContext, iScenario, iSuite, iAssertionResult, iDOMElement } from './interfaces';
export declare class AssertionContext implements iAssertionContext {
    private _scenario;
    private _response;
    private _assertions;
    private _subScenarios;
    result: any;
    readonly response: iResponse;
    readonly scenario: iScenario;
    readonly suite: iSuite;
    readonly browser: Browser | null;
    readonly page: Page | null;
    readonly incompleteAssertions: Assertion[];
    readonly assertionsResolved: Promise<(iAssertionResult | null)[]>;
    readonly subScenariosResolved: Promise<any[]>;
    constructor(scenario: iScenario, response: iResponse);
    comment(message: string): void;
    assert(message: string, value: any): Assertion;
    assert(value: any): Assertion;
    pause(milliseconds: number): Promise<any>;
    findHavingText(selector: string, searchForText: string | RegExp): Promise<iDOMElement | null>;
    findAllHavingText(selector: string, searchForText: string | RegExp): Promise<iDOMElement[]>;
    clearThenType(selector: string, textToType: string, opts?: any): Promise<any>;
    clear(selector: string): Promise<void>;
    type(selector: string, textToType: string, opts?: any): Promise<void>;
    select(selector: string, value: string | string[]): Promise<void>;
    evaluate(callback: Function): Promise<any>;
    waitForReady(timeout?: number): Promise<void>;
    waitForLoad(timeout?: number): Promise<void>;
    waitForNetworkIdle(timeout?: number): Promise<void>;
    waitForNavigation(timeout?: number, waitFor?: string | string[]): Promise<void>;
    waitForHidden(selector: string, timeout?: number): Promise<iValue | null>;
    waitForVisible(selector: string, timeout?: number): Promise<iValue | null>;
    waitForExists(selector: string, timeout?: number): Promise<iValue | null>;
    find(selector: string): Promise<any>;
    findAll(selector: string): Promise<any[]>;
    submit(selector: string): Promise<any>;
    click(selector: string): Promise<any>;
    openInBrowser(): Promise<string>;
    screenshot(opts: any): Promise<Buffer | string>;
    protected _completedAction(verb: string, noun?: string): Promise<void>;
    protected _failedAction(verb: string, noun?: string): Promise<void>;
}
