/** * Post-merge validation (Phase 7.2). * * Vérifie que le contenu fusionné ne laisse pas de marqueurs de conflit * résiduels et, pour les formats structurés (JSON/JSONC, YAML, TOML), * qu'il reste syntaxiquement valide. Extrait de `resolver.ts` lors du * split P1.1, puis étendu YAML/TOML en P2.5. */ import type { ValidationResult } from "../types.js"; /** Patterns de marqueurs de conflit résiduels. */ export declare const RESIDUAL_MARKER_PATTERNS: RegExp[]; /** * Détecte les clés dupliquées dans un document JSON, objet par objet. * Scanner tolérant : suit l'imbrication et l'état « dans une chaîne » * (échappements compris) sans construire d'AST. `.json` strict uniquement — * les commentaires JSONC feraient mentir le suivi de chaînes. */ export declare function findDuplicateJsonKeys(content: string): string[]; /** Un fichier est « de type changelog » si son nom de base commence par changelog/history/releases et finit en .md. */ export declare function isChangelogFile(filePath: string): boolean; /** * Vérifie les invariants du format au-delà de la syntaxe. * Retourne la liste (possiblement vide) des violations, en clair. */ export declare function checkFormatInvariants(content: string, filePath: string): string[]; /** * Valide le contenu fusionné pour détecter les problèmes résiduels. * * Vérifie : * 1. Marqueurs de conflit résiduels (indique une résolution incomplète) * 2. Erreurs de syntaxe pour les formats structurés : * - JSON/JSONC (`.json`, `.jsonc`) * - YAML (`.yaml`, `.yml`) * - TOML (`.toml`) * * @param content - Contenu fusionné à valider * @param filePath - Chemin du fichier (pour détecter le type) */ export declare function validateMergedContent(content: string, filePath: string): ValidationResult; /** Validation vide (pour les cas où le contenu n'est pas encore fusionné). */ export declare const EMPTY_VALIDATION: ValidationResult; //# sourceMappingURL=validation.d.ts.map