/** * Base bundler adapter implementation with common functionality */ import type { BundlerAdapter, ExpozrConfig, HostConfig, Inventory, ModuleFormat, ModuleSystemConfig } from "../types"; /** * Abstract base class for bundler adapters providing common functionality * and enforcing the adapter contract for different bundlers. */ export declare abstract class AbstractBundlerAdapter implements BundlerAdapter { /** The name of the bundler this adapter supports */ abstract readonly name: string; /** * Configure the bundler for expozr build */ abstract configureExpozr(config: ExpozrConfig, bundlerConfig: any): any; /** * Configure the bundler for host application */ abstract configureHost(config: HostConfig, bundlerConfig: any): any; /** * Get default configuration for the bundler */ abstract getDefaultConfig(): any; /** * Check if the bundler is available in the current environment */ abstract isAvailable(): boolean; /** * Configure output for different module formats * Handles both single format and multi-format (hybrid) builds */ protected configureModuleOutput(format: ModuleFormat | ModuleFormat[], bundlerConfig: any, moduleSystem: ModuleSystemConfig): any; /** * Create configuration for a specific module format * Must be implemented by concrete adapters */ protected abstract createFormatConfig(format: ModuleFormat, bundlerConfig: any, moduleSystem: ModuleSystemConfig): any; /** * Configure externals based on module system configuration */ protected configureExternals(moduleSystem: ModuleSystemConfig, target?: "browser" | "node" | "universal"): any; /** * Get target environment configuration for the bundler */ protected getTargetConfig(target: "browser" | "node" | "universal"): any; /** * Generate inventory manifest from expozr configuration */ generateInventory(config: ExpozrConfig): Promise; /** * Get cargo entry path based on build configuration */ protected getCargoEntryPath(cargoName: string, entry: string, build: any): string; /** * Resolve base URL for expozr */ protected resolveBaseUrl(publicPath: string): string; /** * Validate expozr configuration */ protected validateExpozrConfig(config: ExpozrConfig): void; /** * Validate host configuration */ protected validateHostConfig(config: HostConfig): void; } //# sourceMappingURL=base-adapter.d.ts.map