/** * 压缩策略管理器 * 根据数据大小和类型智能选择压缩方案 */ export interface CompressionResult { data: Uint8Array; compressed: boolean; originalSize: number; compressedSize: number; compressionRatio: number; } export interface CompressionOptions { /** * 压缩阈值(字节),小于此值不压缩 */ threshold?: number; /** * 最小压缩率,低于此值不使用压缩结果 */ minCompressionRatio?: number; /** * 压缩级别 (1-9) */ level?: number; /** * 是否强制压缩 */ force?: boolean; /** * 是否启用自适应压缩 */ adaptive?: boolean; } /** * 压缩策略 */ export declare class CompressionStrategy { private defaultOptions; private stats; constructor(options?: CompressionOptions); /** * 压缩数据 */ compress(data: Uint8Array, options?: CompressionOptions): CompressionResult; /** * 解压数据 */ decompress(data: Uint8Array, compressed: boolean): Uint8Array; /** * 批量压缩(用于多个小对象) */ compressBatch(dataArray: Uint8Array[]): CompressionResult; /** * 获取压缩统计 */ getStats(): { compressionRate: number; averageSaving: number; totalAttempts: number; totalCompressed: number; totalSaved: number; averageRatio: number; }; /** * 重置统计 */ resetStats(): void; /** * 根据数据类型建议压缩级别 */ static suggestLevel(dataType: 'text' | 'binary' | 'mixed'): number; /** * 估算压缩后大小(不实际压缩) */ static estimateSize(data: Uint8Array): number; } /** * 全局压缩策略实例 */ export declare const globalCompressionStrategy: CompressionStrategy; //# sourceMappingURL=CompressionStrategy.d.ts.map