/**
 * Servizio coordinatore per il post-processing delle immagini nei dati mock
 */
import { type ExtractionResult } from './image-url-extractor';
import { type DescriptionOptions } from './description-generator';
import { type OptimizationResult } from './image-processing-analyzer';
import { type ReplacementResult, type ReplacementOptions } from './url-replacer';
export interface PostProcessingOptions {
    enableImageReplacement?: boolean;
    enableOptimization?: boolean;
    maxConcurrentGenerations?: number;
    descriptionOptions?: DescriptionOptions;
    uploadToCloud?: boolean;
    onImageProgress?: (current: number, total: number, status?: string) => void;
    onUploadProgress?: (current: number, total: number, status?: string) => void;
    customDescriptions?: Map<string, any[]>;
    storageProvider?: 'aws' | 'digitalocean';
    replacementOptions?: ReplacementOptions;
    verbose?: boolean;
    saveIntermediateResults?: boolean;
    logFile?: string;
}
export interface PostProcessingResult {
    success: boolean;
    originalImageCount: number;
    processedImageCount: number;
    generatedImageCount: number;
    optimizationSavings: number;
    processingTimeMs: number;
    extraction: ExtractionResult;
    optimization: OptimizationResult;
    replacement: ReplacementResult;
    processedData: any;
    errors: string[];
    warnings: string[];
}
export interface ProcessingStats {
    phase: string;
    startTime: number;
    endTime?: number;
    itemsProcessed: number;
    errors: number;
    details?: any;
}
export declare class PostProcessingOrchestrator {
    private imageGenerator;
    private stats;
    private pathToUrlMap;
    private options;
    constructor(huggingfaceApiKey?: string, options?: PostProcessingOptions);
    /**
     * Esegue il post-processing completo dei dati mock
     */
    processData(data: any): Promise<PostProcessingResult>;
    /**
     * Fase 1: Estrazione URL immagini Picsum
     */
    private extractImageUrls;
    /**
     * Fase 2: Generazione descrizioni contestuali
     */
    private generateDescriptions;
    /**
     * Fase 3: Analisi e ottimizzazione processing
     */
    private optimizeProcessing;
    /**
     * Fase 4: Generazione immagini AI
     */
    private generateImages;
    /**
     * Fase 5: Sostituzione URL nei dati
     */
    private replaceUrls;
    /**
     * Processa un singolo gruppo di immagini
     */
    private processGroup;
    /**
     * Recupera l'URL originale Picsum dal path interno
     */
    private getOriginalUrlFromPath;
    /**
     * Verifica se è disponibile una configurazione cloud storage
     */
    private hasCloudStorageConfigured;
    /**
     * Crea piano base senza ottimizzazioni
     */
    private createBasicPlan;
    /**
     * Crea batch per elaborazione concorrente
     */
    private createBatches;
    /**
     * Gestione fasi di processing
     */
    private startPhase;
    private endPhase;
    /**
     * Logging
     */
    private log;
    private logFinalStats;
    /**
     * Normalizza opzioni con valori di default
     */
    private normalizeOptions;
    /**
     * Ottieni statistiche complete del processing
     */
    getProcessingStats(): ProcessingStats[];
    /**
     * Reset statistiche
     */
    resetStats(): void;
}
//# sourceMappingURL=post-processing-orchestrator.d.ts.map