/**
 * StringBundle type — structure derived from en.ts (source of truth), all leaf values widened to string.
 *
 * Widening is required so that he.ts (Hebrew string literals) and en.ts (English string literals)
 * are both assignable to StringBundle despite `as const` making them incompatible with each other.
 *
 * To add a key: update namespaces/en/<ns>.ts + namespaces/he/<ns>.ts.
 * TypeScript enforces structural compatibility at the setBundles() call site.
 */
import type { en } from './en';

type StringValues<T> = {
  [K in keyof T]: T[K] extends Record<string, unknown> ? StringValues<T[K]> : string;
};

export type StringBundle = StringValues<typeof en>;
