/** * Resolve an element's effective language from the `lang` attribute, * following HTML's inheritance rules, and notify on changes. * * Returns: * - a BCP 47 tag, e.g. "en-GB" * - "" -> lang="" was set: language is explicitly UNKNOWN. Stop walking. * - undefined -> no lang anywhere. Let Intl use the runtime default. */ export declare function resolveLang(el: Element): string | undefined; /** Convert to something safe to hand to Intl.* constructors. */ export declare function toIntlLocale(lang: string | undefined): string | undefined; type Listener = () => void; /** * Subscribe to `lang` changes anywhere in the light DOM. * * KNOWN LIMITATION: MutationObserver on `document` does not see mutations * inside shadow roots. A `lang` changed on an element inside another * component's shadow DOM will not trigger updates. Initial resolution is * still correct; only live updates are missed. */ export declare function onLangChange(listener: Listener): () => void; export {};