import type { BaseBackendOptions } from '../../shared/type'; import type { I18nInitOptions, I18nInstance } from './instance'; export declare function assertI18nInstance(obj: any): asserts obj is I18nInstance; /** * Build initialization options for i18n instance */ export declare const buildInitOptions: (finalLanguage: string, fallbackLanguage: string, languages: string[], mergedDetection: any, mergedBackend: any, userInitOptions?: I18nInitOptions, useSuspense?: boolean, i18nInstance?: I18nInstance) => Promise; /** * Ensure i18n instance language matches the final detected language */ export declare const ensureLanguageMatch: (i18nInstance: I18nInstance, finalLanguage: string) => Promise; /** * Change language for i18n instance in onBeforeRender hook * This function can be used by other runtime plugins to change language * @param i18nInstance - The i18n instance * @param newLang - The new language code to switch to * @param options - Optional configuration */ export declare const changeI18nLanguage: (i18nInstance: I18nInstance, newLang: string, options?: { detectionOptions?: any; }) => Promise; /** * Initialize i18n instance if not already initialized */ export declare const initializeI18nInstance: (i18nInstance: I18nInstance, finalLanguage: string, fallbackLanguage: string, languages: string[], mergedDetection: any, mergedBackend: any, userInitOptions?: I18nInitOptions, useSuspense?: boolean) => Promise; /** * Setup cloned instance for SSR with backend support */ export declare const setupClonedInstance: (i18nInstance: I18nInstance, finalLanguage: string, fallbackLanguage: string, languages: string[], backendEnabled: boolean, backend: BaseBackendOptions | undefined, i18nextDetector: boolean, detection: any, localePathRedirect: boolean, userInitOptions: I18nInitOptions | undefined) => Promise;