import webpack from 'webpack'; import type * as Rspack from '@rspack/core'; import type { Bundler, NormalizedClientBaseConfig, NormalizedClientConfig, NormalizedClientRspackConfig, NormalizedClientWebpackConfig, WebWorkerHandle } from '../models/index.js'; import type { Logger } from '../logger/index.js'; export interface HelperOptions { config: NormalizedClientConfig; logger?: Logger; isEnvDevelopment: boolean; isEnvProduction: boolean; configType: `${WebpackMode}`; buildDirectory: string; entriesDirectory: string; isSsr: boolean; configPath?: string; webWorkerHandle: WebWorkerHandle; } export declare const enum WebpackMode { Prod = "production", Dev = "development" } type ClientFactoryOptions = { webpackMode: WebpackMode; config: NormalizedClientBaseConfig & (B extends 'webpack' ? NormalizedClientWebpackConfig : NormalizedClientRspackConfig); logger?: Logger; isSsr?: boolean; configPath?: string; }; export declare function webpackConfigFactory(options: ClientFactoryOptions<'webpack'>): Promise; export declare function rspackConfigFactory(options: ClientFactoryOptions<'rspack'>): Promise; export declare function configureModuleRules(helperOptions: HelperOptions, additionalRules?: NonNullable): Promise; export declare function configureResolve({ isEnvProduction, config }: HelperOptions): { alias: { [x: string]: string | string[]; }; modules: string[]; extensions: string[]; symlinks: boolean | undefined; fallback: { [index: string]: string | false | string[]; } | undefined; }; type Optimization = NonNullable; export declare function configureOptimization(helperOptions: HelperOptions): Optimization; export {};