image-asset-manager
Version:
A comprehensive image asset management tool for frontend projects
51 lines • 1.69 kB
TypeScript
import { ImageFile, OptimizeOptions, OptimizedResult, OptimizationPreview } from "../types/index.js";
export interface BatchOptimizationOptions extends OptimizeOptions {
concurrency?: number;
onProgress?: (progress: BatchProgress) => void;
onFileComplete?: (result: OptimizedResult) => void;
}
export interface BatchProgress {
total: number;
completed: number;
failed: number;
percentage: number;
currentFile?: string;
}
export interface BatchOptimizationReport {
totalFiles: number;
successfulFiles: number;
failedFiles: number;
totalOriginalSize: number;
totalOptimizedSize: number;
totalSavedBytes: number;
averageCompressionRatio: number;
processingTime: number;
results: OptimizedResult[];
errors: Array<{
file: ImageFile;
error: string;
}>;
}
export interface BatchPreviewResult {
files: Array<{
file: ImageFile;
preview: OptimizationPreview;
}>;
totalEstimatedSavings: number;
totalEstimatedRatio: number;
estimatedProcessingTime: number;
}
export declare class BatchOptimizer {
private optimizer;
constructor();
batchOptimize(files: ImageFile[], options: BatchOptimizationOptions): Promise<BatchOptimizationReport>;
previewBatchOptimization(files: ImageFile[], options: OptimizeOptions): Promise<BatchPreviewResult>;
generateOptimizationReport(report: BatchOptimizationReport, outputPath?: string): Promise<string>;
private createBackup;
private getBackupPath;
private estimateProcessingTime;
private formatReport;
private formatBytes;
private ensureDirectoryExists;
}
//# sourceMappingURL=BatchOptimizer.d.ts.map