/**
 * Microservizio per estrarre URLs di immagini Picsum dai dati JSON
 */
export interface ImageUrlInfo {
    url: string;
    path: string;
    fieldName: string;
    context: any;
    dimensions: {
        width: number;
        height: number;
    };
    seed?: string;
    itemIndex?: number;
}
export interface ExtractionResult {
    images: ImageUrlInfo[];
    totalFound: number;
    uniqueUrls: number;
    duplicateGroups: Map<string, ImageUrlInfo[]>;
}
export declare class ImageUrlExtractor {
    private static readonly PICSUM_PATTERNS;
    /**
     * Estrae tutti gli URL Picsum da un oggetto JSON
     */
    static extractPicsumUrls(data: any): ExtractionResult;
    /**
     * Attraversa ricorsivamente un oggetto JSON per trovare URL Picsum
     */
    private static traverseObject;
    /**
     * Verifica se una stringa è un URL Picsum
     */
    private static isPicsumUrl;
    /**
     * Parsea un URL Picsum ed estrae le informazioni
     */
    private static parseImageUrl;
    /**
     * Estrae le dimensioni da un URL Picsum
     */
    private static extractDimensions;
    /**
     * Estrae il seed da un URL Picsum
     */
    private static extractSeed;
    /**
     * Normalizza un URL per il confronto
     */
    private static normalizeUrl;
    /**
     * Raggruppa immagini per dimensioni simili
     */
    static groupBySimilarDimensions(images: ImageUrlInfo[]): Map<string, ImageUrlInfo[]>;
    /**
     * Filtra immagini per tipo di campo
     */
    static filterByFieldType(images: ImageUrlInfo[]): {
        thumbnails: ImageUrlInfo[];
        banners: ImageUrlInfo[];
        squares: ImageUrlInfo[];
        portraits: ImageUrlInfo[];
        landscapes: ImageUrlInfo[];
        generic: ImageUrlInfo[];
    };
    /**
     * Statistiche di estrazione
     */
    static getExtractionStats(result: ExtractionResult): {
        summary: string;
        dimensionDistribution: Map<string, number>;
        fieldTypeDistribution: Map<string, number>;
        duplicateCount: number;
    };
    private static getFieldType;
}
//# sourceMappingURL=image-url-extractor.d.ts.map