export = MultiCompiler; declare class MultiCompiler { /** * @param {Compiler[] | Record} compilers child compilers * @param {MultiCompilerOptions} options options */ constructor( compilers: Compiler[] | Record, options: MultiCompilerOptions, ); hooks: Readonly<{ /** @type {SyncHook<[MultiStats]>} */ done: SyncHook<[MultiStats]>; /** @type {MultiHook>} */ invalid: MultiHook>; /** @type {MultiHook>} */ run: MultiHook>; /** @type {SyncHook<[]>} */ watchClose: SyncHook<[]>; /** @type {MultiHook>} */ watchRun: MultiHook>; /** @type {MultiHook>} */ infrastructureLog: MultiHook>; }>; compilers: import('./Compiler')[]; /** @type {MultiCompilerOptions} */ _options: MultiCompilerOptions; /** @type {WeakMap} */ dependencies: WeakMap; running: boolean; get options(): import('../declarations/WebpackOptions').WebpackOptionsNormalized[] & MultiCompilerOptions; get outputPath(): string; /** * @param {InputFileSystem} value the new input file system */ set inputFileSystem(arg: import('./util/fs').InputFileSystem); get inputFileSystem(): import('./util/fs').InputFileSystem; /** * @param {OutputFileSystem} value the new output file system */ set outputFileSystem(arg: import('./util/fs').OutputFileSystem); get outputFileSystem(): import('./util/fs').OutputFileSystem; /** * @param {WatchFileSystem} value the new watch file system */ set watchFileSystem(arg: import('./util/fs').WatchFileSystem); get watchFileSystem(): import('./util/fs').WatchFileSystem; /** * @param {IntermediateFileSystem} value the new intermediate file system */ set intermediateFileSystem(arg: import('./util/fs').IntermediateFileSystem); get intermediateFileSystem(): import('./util/fs').IntermediateFileSystem; getInfrastructureLogger(name: any): import('./logging/Logger').Logger; /** * @param {Compiler} compiler the child compiler * @param {string[]} dependencies its dependencies * @returns {void} */ setDependencies(compiler: Compiler, dependencies: string[]): void; /** * @param {Callback} callback signals when the validation is complete * @returns {boolean} true if the dependencies are valid */ validateDependencies(callback: Callback): boolean; /** * @deprecated This method should have been private * @param {Compiler[]} compilers the child compilers * @param {RunWithDependenciesHandler} fn a handler to run for each compiler * @param {Callback} callback the compiler's handler * @returns {void} */ runWithDependencies( compilers: Compiler[], fn: RunWithDependenciesHandler, callback: Callback, ): void; /** * @template SetupResult * @param {function(Compiler, number, Callback, function(): boolean, function(): void, function(): void): SetupResult} setup setup a single compiler * @param {function(Compiler, SetupResult, Callback): void} run run/continue a single compiler * @param {Callback} callback callback when all compilers are done, result includes Stats of all changed compilers * @returns {SetupResult[]} result of setup */ _runGraph( setup: ( arg0: Compiler, arg1: number, arg2: Callback, arg3: () => boolean, arg4: () => void, arg5: () => void, ) => SetupResult, run: (arg0: Compiler, arg1: SetupResult, arg2: Callback) => void, callback: Callback, ): SetupResult[]; /** * @param {WatchOptions|WatchOptions[]} watchOptions the watcher's options * @param {Callback} handler signals when the call finishes * @returns {MultiWatching} a compiler watcher */ watch( watchOptions: WatchOptions | WatchOptions[], handler: Callback, ): MultiWatching; /** * @param {Callback} callback signals when the call finishes * @returns {void} */ run(callback: Callback): void; purgeInputFileSystem(): void; /** * @param {Callback} callback signals when the compiler closes * @returns {void} */ close(callback: Callback): void; } declare namespace MultiCompiler { export { AsyncSeriesHook, SyncBailHook, WatchOptions, Compiler, Stats, Watching, InputFileSystem, IntermediateFileSystem, OutputFileSystem, WatchFileSystem, Callback, RunWithDependenciesHandler, MultiCompilerOptions, }; } import { SyncHook } from 'tapable'; import MultiStats = require('./MultiStats'); import { MultiHook } from 'tapable'; /** * */ type AsyncSeriesHook = import('tapable').AsyncSeriesHook; type Compiler = import('./Compiler'); /** * */ type SyncBailHook = import('tapable').SyncBailHook; type MultiCompilerOptions = { /** * how many Compilers are allows to run at the same time in parallel */ parallelism?: number | undefined; }; type Callback = ( err?: (Error | null) | undefined, result?: T | undefined, ) => any; type RunWithDependenciesHandler = ( compiler: Compiler, callback: Callback, ) => any; type Stats = import('./Stats'); type WatchOptions = import('../declarations/WebpackOptions').WatchOptions; import MultiWatching = require('./MultiWatching'); type Watching = import('./Watching'); type InputFileSystem = import('./util/fs').InputFileSystem; type IntermediateFileSystem = import('./util/fs').IntermediateFileSystem; type OutputFileSystem = import('./util/fs').OutputFileSystem; type WatchFileSystem = import('./util/fs').WatchFileSystem;