import { type HygieneCommonOptions } from "../shared.js"; export interface AuditFallbackDriftOptions extends HygieneCommonOptions { root?: string; /** Reference (source) language. Default `en`. */ referenceLanguage?: string; /** Target language(s) to compare. */ targetLanguages?: string[]; /** Threshold (days) — flag items where target lags reference by this many days. Default 30. */ driftDays?: number; index?: string; limit?: number; includeSystem?: boolean; concurrency?: number; pageParallelism?: number; exclude?: string[]; since?: string; baseline?: boolean; output?: string; format?: "json" | "csv" | "markdown"; } export interface FallbackDriftReport { itemId: string; path: string; targetLanguage: string; referenceUpdatedDate: string | null; targetUpdatedDate: string | null; driftDays: number; } /** * Audit items where the target-language version is older than the * reference-language version by more than `--drift-days` days. * * Catches the "English content was edited but the French translation * wasn't refreshed" pattern — different from `translation-coverage` * (presence/absence) and `language-data list` (zero-version * entries). * * Strategy: * 1. Enumerate items in `--reference-language`; index by itemId * with their `updatedDate`. * 2. Per `--target-language`: enumerate items, compare each * target's `updatedDate` against the reference's. If * `reference - target > --drift-days`, flag it. * 3. Sort by drift descending — biggest gaps first. * * Notes: * - Items without a target-language version are NOT reported here * (use `translation-coverage` for that). * - "Drift" only flows in one direction: reference newer than * target. The reverse (target newer than reference) is unusual * but legal — and we don't report it. */ export declare const runAuditFallbackDrift: (options: AuditFallbackDriftOptions) => Promise;