import { type HygieneCommonOptions } from "../shared.js"; export interface AuditTranslationCoverageOptions extends HygieneCommonOptions { /** Content root. Default `/sitecore/content`. */ root?: string; /** Reference (source) language. Default `en`. */ referenceLanguage?: string; /** Target language(s) to compare against. Required. */ targetLanguages?: string[]; index?: string; limit?: number; includeSystem?: boolean; pageParallelism?: number; exclude?: string[]; since?: string; baseline?: boolean; output?: string; format?: "json" | "csv" | "markdown"; /** * Threshold for "low coverage" — items where coverage % falls * below this are surfaced. Default 0 → report every untranslated * item. Set to e.g. 80 to flag languages below 80% coverage on * the summary line. */ minCoveragePercent?: number; } export interface TranslationCoverageReport { language: string; totalReferenceItems: number; translatedItems: number; missingItems: number; coveragePercent: number; /** First 100 itemIds missing translation. */ missingSamples: Array<{ itemId: string; path: string; }>; } /** * Audit translation coverage between a reference language and one or * more target languages. * * Strategy: * 1. Use `searchAll` to enumerate every item under `--root` in * `--reference-language` (default `en`). This is the "source * truth" set of items. * 2. For each `--target-language`, enumerate the same root and * collect itemIds present. * 3. Diff: items in reference set but missing from target set = * untranslated. Compute coverage % per target. * * Different from `audit language-data list`: * - `language-data` flags items with an empty language entry * (zero versions in that language). * - `translation-coverage` measures completeness — % of source- * language items that have any version in the target. * * Notes: * - The Authoring API's search index indexes per-version items, so * an item without any target-language version simply doesn't * appear in the target-language enumeration. * - Item identity is by `itemId` — the same item with translations * in en + fr appears once per language; we compare itemId sets. */ export declare const runAuditTranslationCoverage: (options: AuditTranslationCoverageOptions) => Promise;