import { Compilation, Compiler, WebpackPluginInstance } from 'webpack'; import { GetMinifiedSizeOptions } from 'minified-size'; export interface InputFileSystem { lstat: (...args: any[]) => any; lstatSync: (...args: any[]) => any; readdir: (...args: any[]) => any; readdirSync: (...args: any[]) => any; readlink: (...args: any[]) => any; readlinkSync: (...args: any[]) => any; readFile: (...args: any[]) => any; readFileSync: (...args: any[]) => any; readJson: (...args: any[]) => any; readJsonSync: (...args: any[]) => any; stat: (...args: any[]) => any; statSync: (...args: any[]) => any; } export declare class ReportSizePlugin implements WebpackPluginInstance { protected options: ReportSizePlugin.Options; constructor(options: ReportSizePlugin.Options); compilation: Compilation; executed: number; output: { files: any; totals: any; duration: number; }; apply(compiler: Compiler): void; reset(): void; computeAndDisplay(paths: string[], language: GetMinifiedSizeOptions['language']): Promise; } export declare namespace ReportSizePlugin { interface Options { /** blacklist */ exclude?: Array boolean)>; /** OR whitelist */ include?: Array boolean)>; } }