import webpack from 'webpack';
import { Context, Configuration, IArgs, Callback, IConfig } from '../types';
import AsyncMFS from './utils/async-mfs';
import { Logger } from '@sanpjs/utils';
export default class BundlerWebpack {
    context: Context;
    hooks: {
        [key: string]: any;
    };
    logger: Logger;
    rawOptions: IConfig;
    running: boolean;
    server: any;
    useMfs: boolean;
    mfs?: AsyncMFS;
    constructor(context: Context);
    run(args: IArgs, callback: Callback): void;
    close(): Promise<void>;
    _loadPartial(name: string, args: IArgs, callback: any): void;
    _loadEnv(mode: string): void;
    normalizeConfig(args: IArgs, callback: (err: any, config?: Configuration[]) => void): webpack.Configuration;
    normalizeSsrConfig(args: IArgs, callback: (err: any, config?: Configuration[]) => void): webpack.Configuration;
    toConfig(args: IArgs, callback: (err: any, config?: Configuration[]) => void): void;
}
