import type { BuildState } from '../state/index.js';
/**
 * 优化建议类型
 */
export type OptimizationType = 'large-uncompressed' | 'format-conversion' | 'merge-small-files' | 'unused-asset' | 'enable-minify' | 'enable-image-compression' | 'adjust-inline-limit';
/**
 * 优化建议
 */
export interface OptimizationSuggestion {
    /** 建议类型 */
    type: OptimizationType;
    /** 严重程度 */
    severity: 'high' | 'medium' | 'low';
    /** 问题描述 */
    description: string;
    /** 受影响的资产 */
    affectedAssets: string[];
    /** 预估优化效果（字节） */
    estimatedSavings: number;
    /** 预估优化效果（格式化） */
    estimatedSavingsFormatted: string;
    /** 具体建议 */
    recommendation: string;
    /** 配置示例 */
    configExample?: string;
}
/**
 * 优化分析结果
 */
export interface OptimizationAnalysisResult {
    /** 总建议数 */
    totalSuggestions: number;
    /** 预估总节省（字节） */
    totalEstimatedSavings: number;
    /** 预估总节省（格式化） */
    totalEstimatedSavingsFormatted: string;
    /** 预估优化率 */
    estimatedOptimizationRate: number;
    /** 建议列表 */
    suggestions: OptimizationSuggestion[];
    /** 按严重程度分组 */
    bySeverity: {
        high: OptimizationSuggestion[];
        medium: OptimizationSuggestion[];
        low: OptimizationSuggestion[];
    };
}
/**
 * 优化分析器
 * 分析构建状态并提供优化建议
 */
export declare class OptimizationAnalyzer {
    private state;
    private suggestions;
    constructor(state: BuildState);
    /**
     * 执行优化分析
     */
    analyze(): OptimizationAnalysisResult;
    /**
     * 检测未压缩的大文件
     */
    private detectLargeUncompressedFiles;
    /**
     * 检测可以转换格式的资源
     */
    private detectFormatConversionOpportunities;
    /**
     * 检测可以合并的小文件
     */
    private detectMergeableSmallFiles;
    /**
     * 检测未使用的资源
     */
    private detectUnusedAssets;
    /**
     * 检测缺少代码压缩
     */
    private detectMissingMinification;
    /**
     * 检测缺少图片压缩
     */
    private detectMissingImageCompression;
    /**
     * 检测内联限制问题
     */
    private detectInlineLimitIssues;
}
