import type { PotEntry } from "./pot.js"; export interface ProtectedTokens { readonly printf: readonly string[]; readonly shortcodes: readonly string[]; readonly tags: readonly string[]; } export interface TranslationValidationIssue { readonly entryKey: string; readonly expected: readonly string[]; readonly form: number; readonly got: readonly string[]; readonly reason: "placeholder_mismatch" | "printf_placeholder_mismatch" | "plural_form_count" | "shortcode_mismatch" | "tag_mismatch"; } export interface TranslationValidationStats { readonly blankedStrings: readonly TranslationValidationIssue[]; readonly placeholderMismatches: number; readonly pluralFormIssues: number; readonly shortcodeMismatches?: number; readonly tagMismatches?: number; } export interface ValidatedTranslation { readonly issues: readonly TranslationValidationIssue[]; readonly msgstr: readonly string[]; } export declare function createEmptyValidationStats(): TranslationValidationStats; export declare function extractPlaceholders(value: string): readonly string[]; export declare function extractProtectedTokens(value: string): ProtectedTokens; export declare function validateEntryTranslation(options: { readonly entry: PotEntry; readonly msgstr: readonly string[]; readonly pluralCount: number; }): ValidatedTranslation; export declare function summarizeValidationIssues(issues: readonly TranslationValidationIssue[]): TranslationValidationStats;