import en from '@eigenpal/docx-editor-i18n/en.json'; /** Auto-derived from en.json — never manually maintained */ type LocaleStrings = typeof en; /** Recursively makes all properties optional */ type DeepPartial = { [K in keyof T]?: T[K] extends object ? DeepPartial : T[K] | null; }; type PartialLocaleStrings = DeepPartial; /** Consumer-facing type for the i18n prop. */ type Translations = PartialLocaleStrings; /** Generates a union of all valid dot-notation paths through a nested object type */ type DotPath = { [K in keyof T & string]: T[K] extends Record ? DotPath : `${Prefix}${K}`; }[keyof T & string]; type TranslationKey = DotPath; export type { LocaleStrings as L, PartialLocaleStrings as P, TranslationKey as T, Translations as a };