import type { BuildOptions, SizeReport } from './types.js';
export interface ViteBuildOutput {
    outputPath: string;
    size: number;
    sizeLimit: number;
    valid: boolean;
}
/**
 * Vite 构建器 - 使用 Vite 构建 Playable Ads
 *
 * 职责：
 * 1. 验证输入是有效的基础构建
 * 2. 根据引擎类型创建对应的 Vite 配置
 * 3. 执行 Vite 构建
 * 4. 将输出复制到最终目录
 * 5. 验证输出大小
 * 6. 生成报告
 *
 * 引擎路由：
 * - PlayCanvas：使用 ViteConfigBuilder（处理 config.json、__start__.js 等）
 * - 其他引擎：使用 GenericViteConfigBuilder（通用 HTML 内联 + 平台 SDK 注入）
 */
export declare class ViteBuilder {
    private baseBuildDir;
    private options;
    private sizeReport;
    private engine;
    constructor(baseBuildDir: string, options: BuildOptions);
    /**
     * 执行构建
     */
    build(): Promise<string>;
    /**
     * 读取构建元数据
     */
    private readBuildMetadata;
    /**
     * 验证基础构建
     * 根据引擎类型使用不同的验证规则
     */
    private validateBaseBuild;
    /**
     * 验证 PlayCanvas 构建
     */
    private validatePlayCanvasBuild;
    /**
     * 验证通用构建（外部引擎）
     */
    private validateGenericBuild;
    /**
     * 检测是否为 ESM 格式
     */
    private detectESMFormat;
    /**
     * 将 Vite 输出复制到最终目录
     */
    private copyOutputToFinalDir;
    /**
     * 递归复制所有文件
     */
    private copyAllFiles;
    /**
     * 获取输出路径
     */
    private getOutputPath;
    /**
     * 验证输出大小
     */
    private validateSize;
    /**
     * 计算 Base Build 目录的总大小
     */
    private calculateBaseBuildSize;
    /**
     * 生成报告
     */
    private generateReport;
    /**
     * 获取大小报告
     */
    getSizeReport(): SizeReport;
    /**
     * 格式化字节数
     */
    private formatBytes;
}
