/**
 * Microservizio per generare descrizioni contestuali per immagini AI
 */
import { ImageUrlInfo } from './image-url-extractor';
export interface ImageDescription {
    prompt: string;
    style: string;
    category: string;
    confidence: number;
    baseContext: string;
    enhancedPrompt: string;
}
export interface DescriptionOptions {
    language?: 'italian' | 'english';
    style?: 'realistic' | 'artistic' | 'professional' | 'casual';
    includeBackground?: boolean;
    maxPromptLength?: number;
}
export declare class DescriptionGenerator {
    private static readonly FIELD_TYPE_MAPPING;
    private static readonly ITALIAN_STYLE_ADDITIONS;
    /**
     * Genera descrizione per una singola immagine
     */
    static generateDescription(imageInfo: ImageUrlInfo, options?: DescriptionOptions): ImageDescription;
    /**
     * Genera descrizioni per più immagini ottimizzate per batch processing
     */
    static generateDescriptions(images: ImageUrlInfo[], options?: DescriptionOptions): Map<string, ImageDescription>;
    /**
     * Analizza il contesto di un'immagine dai dati circostanti
     */
    private static analyzeContext;
    /**
     * Analizza il nome del campo per estrarre informazioni
     */
    private static analyzeFieldName;
    /**
     * Analizza i dati del contesto per estrarre informazioni semantiche
     */
    private static analyzeContextData;
    /**
     * Estrae parole chiave da una stringa
     */
    private static extractKeywords;
    /**
     * Determina la categoria principale dell'immagine
     */
    private static determineCategory;
    /**
     * Genera il prompt base per l'immagine
     */
    private static generateBasePrompt;
    /**
     * Migliora il prompt con stile e preferenze
     */
    private static enhancePrompt;
    /**
     * Ottiene contesto italiano appropriato
     */
    private static getItalianContext;
    /**
     * Raggruppa immagini per contesto simile
     */
    private static groupByContext;
    /**
     * Genera chiave di contesto per raggruppamento
     */
    private static generateContextKey;
    /**
     * Estrae contesto condiviso da un gruppo di immagini
     */
    private static extractSharedContext;
    /**
     * Normalizza le opzioni con valori di default
     */
    private static normalizeOptions;
    /**
     * Inferisce il tipo di dati dal contesto
     */
    private static inferDataType;
    /**
     * Ottiene descrizione generica basata sul nome del campo
     */
    private static getGenericDescription;
}
//# sourceMappingURL=description-generator.d.ts.map