import { Configuration } from 'webpack-dev-server'; export interface HtmlWebPackPluginPage { entry: string; template: string; filename: string; title?: string; chunks?: string[]; } export interface OutPages { [props: string]: HtmlWebPackPluginPage; } export interface OutputEntry { [props: string]: string; } export declare type TargetType = 'web' | 'lib' | 'wc' | 'window' | 'var' | 'umd'; export interface ServiceConfig { analyze: boolean; useCustomDevServer: boolean; env: any; dist: string; appDir: string; publicPath: string; css: CssOptions; entry: OutputEntry; pages?: object[]; needSplitChunks: boolean; needHashName: boolean; minChunkSize: number; classificatoryStatic: boolean; target: TargetType; library: string; devServer: Configuration; dropConsole: boolean; assetsPath(path: string): string; } export interface BundleOptions { production: boolean; analyze?: boolean; silent?: boolean; } export interface AppConfig { outputDir?: string; sourceDir?: string; publicPath?: string; mainPath?: string; indexPath?: string; assetsDir?: string; env?: object; useCustomDevServer?: boolean; eslintOnSave?: boolean; stylelintOnSave?: boolean; css?: CssOptions; needSplitChunks?: boolean; needHashName?: boolean; pages?: OutPages; entry: OutputEntry; devServer: Configuration; minChunkSize?: number; classificatoryStatic?: boolean; target?: TargetType; library?: string; dropConsole: boolean; } export interface CssOptions { loaderOptions?: LoaderOptions; } export interface LoaderOptions { css?: object; postcss?: object; sass?: object; scss?: object; less?: object; stylus?: object; } export interface Envs { [key: string]: any; }