/**
 * 资源类型
 */
export type AssetType = 'script' | 'texture' | 'audio' | 'json' | 'css' | 'html' | 'other';
/**
 * 资源处理记录
 */
export interface AssetProcessingRecord {
    originalName: string;
    originalPath: string;
    originalSize: number;
    type: AssetType;
    processedName?: string;
    processedSize?: number;
    processedPath?: string;
    compressionRate?: number;
    minified?: boolean;
    inlined?: boolean;
    finalLocation?: 'inline' | 'external';
    finalReference?: string;
}
/**
 * 构建状态
 */
export interface BuildState {
    version: string;
    buildTime: string;
    platform?: string;
    buildMode?: string;
    assets: {
        [assetId: string]: AssetProcessingRecord;
    };
    output: {
        totalSize: number;
        htmlSize?: number;
        files: {
            [filename: string]: {
                size: number;
                type: string;
            };
        };
    };
}
/**
 * 构建状态管理器
 *
 * 职责：
 * 1. 记录打包过程中每个资源的处理信息
 * 2. 追踪资源的转换过程（原始大小 -> 处理后大小）
 * 3. 生成 state.json 文件供分析使用
 */
export declare class BuildStateManager {
    private state;
    private stateFilePath;
    constructor(outputDir: string, platform?: string, buildMode?: string);
    /**
     * 记录资源的原始信息
     */
    recordAsset(assetId: string, originalName: string, originalPath: string, originalSize: number, type: AssetType): void;
    /**
     * 更新资源的处理信息
     */
    updateAssetProcessing(assetId: string, processedName: string, processedSize: number, processedPath: string, options?: {
        minified?: boolean;
        inlined?: boolean;
    }): void;
    /**
     * 更新资源的最终位置
     */
    updateAssetFinalLocation(assetId: string, finalLocation: 'inline' | 'external', finalReference?: string): void;
    /**
     * 记录输出文件
     */
    recordOutputFile(filename: string, size: number, type: string): void;
    /**
     * 获取状态
     */
    getState(): BuildState;
    /**
     * 保存状态到文件
     */
    save(): Promise<void>;
    /**
     * 从文件加载状态
     */
    static load(outputDir: string): Promise<BuildStateManager | null>;
    /**
     * 生成分析报告数据
     */
    generateAnalysisData(): {
        assets: Array<{
            name: string;
            originalSize: number;
            processedSize: number;
            compressionRate: number;
            type: AssetType;
            finalLocation: string;
        }>;
        summary: {
            totalOriginalSize: number;
            totalProcessedSize: number;
            totalCompressionRate: number;
            assetCount: number;
        };
    };
    /**
     * 打印摘要
     */
    printSummary(): void;
}
