import type { BuildState, AssetType } from '../state/index.js';
/**
 * 统一的报告数据格式
 */
export interface UnifiedReportData {
    /** 总资产数 */
    totalAssets: number;
    /** 原始总大小（字节） */
    totalOriginalSize: number;
    /** 最终总大小（字节） */
    totalFinalSize: number;
    /** 总压缩率（0-1） */
    totalCompressionRatio: number;
    /** 资产列表 */
    assets: ReportAsset[];
    /** 按类型统计 */
    byType: Record<AssetType, TypeStatistics>;
    /** 按分类统计 */
    byCategory: Record<string, CategoryStatistics>;
    /** 构建阶段信息 */
    stages: StageInfo[];
}
/**
 * 报告资产信息
 */
export interface ReportAsset {
    /** 资产 ID */
    id: string;
    /** 原始名称 */
    originalName: string;
    /** 最终名称 */
    finalName: string;
    /** 资产类型 */
    type: AssetType;
    /** 原始大小（字节） */
    originalSize: number;
    /** 最终大小（字节） */
    finalSize: number;
    /** 压缩率（0-1） */
    compressionRatio: number;
    /** 是否内联 */
    inlined: boolean;
    /** 内联位置 */
    inlineLocation?: string;
    /** 应用的优化 */
    optimizations: string[];
    /** 处理历史 */
    processingSteps: ProcessingStep[];
}
/**
 * 处理步骤
 */
export interface ProcessingStep {
    /** 阶段名称 */
    stage: string;
    /** 处理后名称 */
    name: string;
    /** 处理后大小 */
    size: number;
    /** 压缩率 */
    compressionRatio?: number;
    /** 优化类型 */
    optimizations: string[];
}
/**
 * 类型统计
 */
export interface TypeStatistics {
    /** 资产数量 */
    count: number;
    /** 原始总大小 */
    originalSize: number;
    /** 最终总大小 */
    finalSize: number;
    /** 平均压缩率 */
    avgCompressionRatio: number;
}
/**
 * 分类统计
 */
export interface CategoryStatistics {
    /** 分类名称 */
    name: string;
    /** 资产数量 */
    count: number;
    /** 总大小 */
    size: number;
    /** 占比 */
    percentage: number;
}
/**
 * 阶段信息
 */
export interface StageInfo {
    /** 阶段名称 */
    name: string;
    /** 开始时间 */
    startTime: number;
    /** 结束时间 */
    endTime?: number;
    /** 耗时（毫秒） */
    duration?: number;
}
/**
 * 状态到报告数据转换器
 * 将 BuildState 转换为统一的报告数据格式
 */
export declare class StateToReportConverter {
    /**
     * 转换为统一报告数据
     */
    static convertToUnifiedReport(state: BuildState): UnifiedReportData;
    /**
     * 转换单个资产
     */
    private static convertAsset;
    /**
     * 收集所有优化类型
     */
    private static collectOptimizations;
    /**
     * 计算按类型统计
     */
    private static calculateTypeStatistics;
    /**
     * 计算按分类统计
     */
    private static calculateCategoryStatistics;
    /**
     * 格式化字节数
     */
    static formatBytes(bytes: number): string;
    /**
     * 格式化百分比
     */
    static formatPercentage(ratio: number): string;
    /**
     * 获取压缩率颜色
     */
    static getCompressionColor(ratio: number): string;
}
