import type { HttpsServerOptions, ProxyOptions } from '@winner-fed/bundler-utils'; import type { PluginVisualizerOptions } from 'rollup-plugin-visualizer'; import type { Plugin } from '../compiled/vite'; import type { ViteCompressionPluginConfig } from '../compiled/vite-plugin-compression2'; import type { ITransformImportOptions } from './plugins/transformImport'; export declare enum Env { development = "development", production = "production" } export declare enum JSMinifier { terser = "terser", esbuild = "esbuild", none = "none" } export interface ICopy { from: string; to: string; } export type IBabelPlugin = Function | string | [string, { [key: string]: any; }] | [string, { [key: string]: any; }, string]; export interface IConfig { alias?: Record; analyze?: PluginVisualizerOptions; compression?: ViteCompressionPluginConfig; autoCSSModules?: boolean; transformImport?: ITransformImportOptions | ITransformImportOptions[]; autoprefixer?: any; copy?: ICopy[] | string[]; define?: { [key: string]: any; }; externals?: Record; extraBabelPlugins?: IBabelPlugin[]; extraBabelPresets?: IBabelPlugin[]; extraPostCSSPlugins?: any[]; extraVitePlugins?: Plugin[]; hash?: boolean; inlineLimit?: number; manifest?: boolean; jsMinifier?: JSMinifier | boolean; jsMinifierOptions?: { [key: string]: any; }; lessLoader?: { lessOptions: any; }; sassLoader?: { sassOptions: any; }; legacy?: { [key: string]: any; } | boolean; outputPath?: string; polyfill?: { imports: string[]; }; postcssLoader?: { postcssOptions: any; }; proxy?: { [key: string]: ProxyOptions; }; publicPath?: string; svgo?: { [key: string]: any; } | false; targets?: { [key: string]: any; }; https?: HttpsServerOptions; [key: string]: any; }