///
import { EventEmitter } from 'events';
import * as webpack from 'webpack';
import { Workspace } from '../../../workspace';
import Runner from '../../../runner';
import { Target } from '../utilities';
import Dashboard from './middleware/dashboard';
export interface Options {
lazy: boolean;
hot: boolean;
logReactUpdates: boolean;
browser?: string;
}
export default class Client extends EventEmitter {
private config;
private target;
private workspace;
private dashboard;
private runner;
private options;
private webpackDevMiddleware;
private listenerManager;
constructor(config: webpack.Configuration, target: Target | undefined, workspace: Workspace, dashboard: Dashboard, runner: Runner, options?: Partial);
on(event: 'done', handler: (stats: webpack.Stats) => void): this;
on(event: 'compile', handler: () => void): this;
on(event: 'compile-error', handler: (stats: webpack.Stats) => void): this;
on(event: 'compile-failed', handler: (error: Error) => void): this;
emit(event: 'done', payload: webpack.Stats): boolean;
emit(event: 'compile'): boolean;
emit(event: 'compile-error', stats: webpack.Stats): boolean;
emit(event: 'compile-failed', error: Error): boolean;
run(): Promise;
dispose(): Promise;
}