import type { AppConfig, BuildType, MiniPluginConfig, Options, Platform, ThemeConfig } from '@rsmax/types'; import type { Compiler, Configuration } from '@rspack/core'; import type API from '../API'; import EntryCollection from './EntryCollection'; import ProjectPath from './ProjectPath'; declare abstract class Builder { api: API; options: Options; target: Platform; projectPath: ProjectPath; projectConfig: AppConfig | MiniPluginConfig; projectThemeConfig: ThemeConfig; entryCollection: EntryCollection; rspackCompiler: Compiler; buildType: BuildType; rspackConfig: Configuration; protected constructor(api: API, options: Options, buildType: BuildType); abstract run(): Compiler; abstract build(): void; abstract watch(): void; abstract createRspackConfig(): Configuration; fetchProjectConfig(): AppConfig | MiniPluginConfig; fetchProjectThemeConfig(): ThemeConfig; createRspackCompiler(): Compiler; } export default Builder;