import { WebpackChunk } from './WebpackChunk'; import { Source } from 'webpack-sources'; import { ChunkGraph } from './ChunkGraph'; import { WebpackCompiler } from './WebpackCompiler'; import { WebpackStats } from './WebpackStats'; export interface WebpackCompilation { hash: string; chunks: IterableIterator; assets: { [key: string]: Source; }; errors: any[]; warnings: any[]; getPath(filename: string, data: { hash?: any; chunk?: any; filename?: string; basename?: string; query?: any; }): string; hooks: { optimizeChunkAssets: { tap: (pluginName: string, handler: (chunks: IterableIterator) => void) => void; }; processAssets: { tap: (options: { name: string; stage: number; }, handler: () => void) => void; }; }; plugin?: (phase: string, callback: Function) => void; chunkGraph?: ChunkGraph; compiler: WebpackCompiler; getStats: () => { toJson: (options?: WebpackStatsOptions) => WebpackStats; }; } export interface WebpackStatsOptions { all?: boolean; chunks?: boolean; chunkModules?: boolean; nestedModules?: boolean; dependentModules?: boolean; cachedModules?: boolean; }