import { FC, ReactNode } from 'react'; /** * Minimal structural interface accepted by I18nProvider. * Both I18nEngine and PluginI18nEngine satisfy this interface. */ export interface II18nEngineCompat { setLanguage(language: string): void; translate(componentId: string, stringKey: string, variables?: Record, language?: string): string; translateStringKey?(key: string, vars?: Record, language?: string): string; /** Template processor that handles {{component.key}} and {variable} patterns */ t?(template: string, variables?: Record, language?: string): string; } export interface I18nProviderProps { children: ReactNode; i18nEngine: II18nEngineCompat; onLanguageChange?: (language: string) => Promise; } export interface I18nContextType { t: (key: string, vars?: Record, language?: string) => string; tBranded: (stringKey: TStringKey, vars?: Record, language?: string) => string; tComponent: (componentId: string, stringKey: TStringKey, vars?: Record, language?: string) => string; changeLanguage: (language: string) => void; currentLanguage: string; } export declare const I18nProvider: FC; export declare const useI18n: () => I18nContextType; //# sourceMappingURL=I18nProvider.d.ts.map