type LanguageMode = 'system' | 'fixed'; type Messages = Record; type LanguagePack = { tag: string; messages: Messages; aliases?: string[]; rtl?: boolean; }; type I18nState = { tag: string | null; mode: LanguageMode; rtl: boolean; }; declare class I18nServiceImpl { private initialized; private mode; private currentTag; private isRTL; private packs; private aliasMap; private overrides; private listeners; private unsubscribeLoc?; initialize(): Promise; destroy(): void; registerPacks(packs: LanguagePack[]): void; getState(): I18nState; addListener(listener: (state: I18nState) => void): () => void; setLanguageMode(mode: LanguageMode): void; setLanguageTag(tag: string | null): void; private sanitizeMessages; updateOverrides(next: Record): void; resetOverrides(): void; t(key: string, params?: Record): string; private selectBestTag; private resolveMessage; private lookupInTag; private fallbackChain; private computeRTL; private resolveTag; private normalizeTag; private interpolate; private parseJson; private emit; } export declare const I18nService: I18nServiceImpl; export default I18nService; //# sourceMappingURL=I18nService.d.ts.map