import Suite, { SuiteOptions } from './Suite';
import Task from '@dojo/core/async/Task';
import Node, { Events } from './executors/Node';
import { Config as BrowserConfig } from './executors/Browser';
/**
 * RemoteSuite is a class that acts as a local server for one or more unit test suites being run in a remote browser.
 */
export default class RemoteSuite extends Suite {
    executor: Node;
    constructor(options?: Partial<SuiteOptions>);
    /**
     * Override Suite#id to exclude the RemoteSuite's name from the generated ID since the RemoteSuite is just a proxy
     * for a remote suite.
     */
    readonly id: string;
    /**
     * Run a suite in a remote browser.
     */
    run(): Task<any>;
}
export interface RemoteEvents extends Events {
    remoteStatus: string;
}
export interface RemoteConfig extends BrowserConfig {
    serverUrl: string;
    sessionId: string;
    runInSync?: boolean;
    socketPort?: number;
}
