import type { I18nTextDescriptor } from './core.js'; /** * Infer the allowed Unicode scripts for a BCP-47 locale, with asymmetric * Latin tolerance. A script subtag (`th-Latn`) wins over the base * language. Unknown locales default to `['Latin']`. */ export declare function inferScripts(locale: string): readonly string[]; /** A non-fatal script violation recorded under `'filter'`/`'warn'` modes. */ export interface ScriptWarning { readonly field: string; readonly locale: string; readonly expected: readonly string[]; readonly sample: string; } /** * Enforce a field's script constraint over an i18nText value map. * * - No `script` option ⇒ returns the value unchanged. * - `onScriptViolation: 'reject'` (default) ⇒ throws {@link ScriptViolationError}. * - `'filter'` ⇒ returns a copy with disallowed characters stripped + warnings. * - `'warn'` ⇒ returns the value unchanged + warnings. */ export declare function enforceScript(value: Record, field: string, descriptor: I18nTextDescriptor, exempt?: ReadonlySet): { value: Record; warnings: ScriptWarning[]; };