/** * Module utilitaire commun pour la détection et l'analyse des images d'alinéa * * Ce module contient les fonctions partagées entre : * - merge_reviewed_alineas_numbers.ts : fusion des corrections * - generate_alineas_numbers_review.ts : génération de la page de révision * * @module alineas_images_utils */ /** * Extrait les données base64 pures d'un src d'image (sans le préfixe data:image/...) */ export declare function extractBase64Data(base64Src: string): string; /** * Calcule le hash MD5 d'une chaîne base64 * Accepte soit les données base64 pures, soit le src complet avec préfixe */ export declare function computeHash(base64Data: string): string; /** * Extrait les dimensions d'une image PNG depuis ses données binaires * Les dimensions sont dans le chunk IHDR aux octets 16-23 */ export declare function getPngDimensions(buffer: Buffer): { width: number; height: number; } | null; /** * Extrait les dimensions d'une image JPEG depuis ses données binaires */ export declare function getJpegDimensions(buffer: Buffer): { width: number; height: number; } | null; /** * Extrait les dimensions d'une image depuis son src base64 * Accepte soit les données base64 pures, soit le src complet avec préfixe */ export declare function getImageDimensions(base64Data: string): { width: number; height: number; } | null; /** * Crop une image PNG en enlevant les bordures blanches/transparentes * * @param base64Data - Données base64 de l'image PNG (avec ou sans préfixe data:image/...) * @returns Les données base64 de l'image croppée (sans préfixe), ou null en cas d'erreur */ export declare function cropPngImage(base64Data: string): string | null; /** * Calcule le hash MD5 d'une image après crop * Retourne le hash de l'image croppée, ou le hash original si le crop échoue * * @param base64Data - Données base64 de l'image (avec ou sans préfixe data:image/...) * @returns Le hash MD5 de l'image croppée */ export declare function computeCroppedHash(base64Data: string): string; /** * Retourne les données base64 de l'image croppée avec le préfixe data:image/png * * @param base64Data - Données base64 de l'image (avec ou sans préfixe data:image/...) * @returns Les données base64 complètes (avec préfixe data:image/png;base64,) de l'image croppée */ export declare function getCroppedBase64Src(base64Data: string): string; /** * Vérifie si une image est une pastille d'alinéa basé sur ses dimensions * Une pastille est une image à peu près carrée et petite (≤ 64 pixels) * * @param base64Data - Données base64 de l'image (avec ou sans préfixe) * @returns true si l'image est une pastille d'alinéa */ export declare function isAlineaPastille(base64Data: string): boolean; /** * Informations de base sur une image extraite */ export interface ExtractedImage { hash: string; base64Src: string; zIndex: number; position: number; } /** * Extrait toutes les images d'alinéa d'un contenu HTML * Retourne uniquement les images qui passent le filtre isAlineaPastille * * @param htmlContent - Contenu HTML à analyser * @returns Liste des images extraites avec leur hash, src, z-index et position */ export declare function extractAlineaImages(htmlContent: string): ExtractedImage[];