/// <reference types="node" />
import type { Worker } from 'worker_threads';
import { IOpts as IConfigOpts } from './config/config';
import { IConfig } from './types';
declare type IOpts = {
    afterMiddlewares?: any[];
    beforeMiddlewares?: any[];
    onDevCompileDone?: Function;
    onProgress?: Function;
    onMFSUProgress?: Function;
    port?: number;
    host?: string;
    ip?: string;
    babelPreset?: any;
    chainWebpack?: Function;
    modifyWebpackConfig?: Function;
    beforeBabelPlugins?: any[];
    beforeBabelPresets?: any[];
    extraBabelPlugins?: any[];
    extraBabelPresets?: any[];
    cwd: string;
    rootDir?: string;
    config: IConfig;
    entry: Record<string, string>;
    mfsuStrategy?: 'eager' | 'normal';
    mfsuInclude?: string[];
    mfsuServerBase?: string;
    srcCodeCache?: any;
    startBuildWorker?: (deps: any[]) => Worker;
} & Pick<IConfigOpts, 'cache' | 'pkg'>;
export declare function stripUndefined(obj: any): any;
export declare function dev(opts: IOpts): Promise<void>;
export {};
