import { type UserConfig } from 'vite';
import type { Platform, BuildOptions, BaseBuildMetadata } from '../types.js';
/**
 * 通用 Vite 配置构建器（外部引擎专用）
 *
 * 与 PlayCanvas 专用配置构建器不同，通用版本：
 * - 不使用 vitePlayCanvasPlugin（不需要处理 config.json 等专有格式）
 * - 不使用 viteESMBundlePlugin 和 viteModelCompressionPlugin（Draco/Meshopt 是 PlayCanvas 特有的）
 * - 仅使用通用的插件：
 *   - viteSingleFile：HTML 内联
 *   - vitePlatformPlugin：平台 SDK 注入
 *   - viteImagemin：图片压缩
 */
export declare class GenericViteConfigBuilder {
    private baseBuildDir;
    private platform;
    private options;
    private baseBuildMetadata;
    private finalOutputDir;
    private viteOutputDir;
    constructor(baseBuildDir: string, platform: Platform, options: BuildOptions, baseBuildMetadata: BaseBuildMetadata);
    /**
     * 创建 Vite 配置
     */
    create(): Promise<UserConfig>;
    /**
     * 获取 Vite 的临时输出目录
     */
    getViteOutputDir(): string;
    /**
     * 获取最终输出目录
     */
    getFinalOutputDir(): string;
    /**
     * 创建通用配置
     */
    private createConfig;
    /**
     * 创建插件列表
     */
    private createPlugins;
    /**
     * 获取平台配置
     */
    private getPlatformConfig;
    /**
     * 获取 Playable 选项
     */
    private getPlayableOptions;
    /**
     * 解析外部文件配置
     */
    private resolveExternFiles;
    /**
     * 是否应该压缩 CSS
     */
    private shouldMinifyCSS;
    /**
     * 是否应该压缩 JS
     */
    private shouldMinifyJS;
    /**
     * 创建自定义 Logger
     */
    private createLogger;
    /**
     * 创建 Rollup 警告处理器
     */
    private createRollupWarnHandler;
}
