import { HotStaq } from "./HotStaq";
import { HotTestPage } from "./HotTestPage";
/**
 * This actually executes the tests.
 */
export declare class HotTestDriver {
    /**
     * The current page.
     */
    processor: HotStaq;
    /**
     * The HotTester that owns this driver. Set when the tester
     * attaches the driver to itself; navigating to a new URL needs
     * this so we can flip `finishedLoading` back to false and the
     * next executeTestPagePath waits for the new page's pageLoaded
     * event instead of reading stale paths from the previous page.
     */
    tester: any;
    /**
     * The current page.
     */
    page: HotTestPage;
    /**
     * The delay in milliseconds between each executed command.
     * @default 20
     */
    commandDelay: number;
    /**
     * The delay in milliseconds between each completed page test.
     * @default 500
     */
    pageTestDelay: number;
    /**
     * Any data that needs to be saved between the different testing runs.
     */
    persistentData: any;
    constructor(processor: HotStaq, page?: HotTestPage | null);
    /**
     * Get a test object by it's name. If a * is used, it will be used as a
     * wildcard for the object's name. If a > is used, then the name will
     * be treated as a CSS selector.
     */
    parseTestObject(name: string): string;
    /**
     * Wait for a number of milliseconds.
     */
    wait(numMilliseconds: number): Promise<void>;
    /**
     * Print a message.
     */
    print(message: string): Promise<void>;
    /**
     * Print a message line.
     */
    println(message: string): Promise<void>;
    /**
     * Disconnect this server or destroy anything associated with this HotTestDriver.
     */
    destroy(): Promise<void>;
    /**
     * An expression to test.
     */
    assert(value: any, errorMessage?: string): Promise<any>;
}
//# sourceMappingURL=HotTestDriver.d.ts.map