import type { BaseBackendOptions } from '../../shared/type'; export interface I18nResourceStore { data?: { [language: string]: { [namespace: string]: string | { [key: string]: any; }; }; }; addResourceBundle?: (language: string, namespace: string, resources: Record, deep?: boolean, overwrite?: boolean) => void; } export declare function isI18nWrapperInstance(obj: any): boolean; export declare function getI18nWrapperI18nextInstance(wrapperInstance: any): any; export declare function getActualI18nextInstance(instance: I18nInstance | any): any; export interface I18nInstance { language: string; isInitialized?: boolean; init: { (callback?: (error: any, t: any) => void): Promise; (options: I18nInitOptions, callback?: (error: any, t: any) => void): Promise; }; changeLanguage?: (lng?: string, callback?: (error: any, t: any) => void) => Promise; setLang?: (lang: string) => void | Promise; use: (plugin: any) => void; createInstance?: (options?: I18nInitOptions) => I18nInstance; cloneInstance?: () => I18nInstance; store?: I18nResourceStore; emit?: (event: string, ...args: any[]) => void; reloadResources?: (language?: string, namespace?: string) => Promise; services?: { languageDetector?: { detect: (request?: any, options?: any) => string | string[] | undefined; [key: string]: any; }; resourceStore?: I18nResourceStore; backend?: any; [key: string]: any; }; options?: { backend?: BackendOptions; [key: string]: any; }; [key: string]: any; } type LanguageDetectorOrder = string[]; type LanguageDetectorCaches = boolean | string[]; export interface LanguageDetectorOptions { order?: LanguageDetectorOrder; lookupQuerystring?: string; lookupCookie?: string; lookupLocalStorage?: string; lookupSession?: string; lookupFromPathIndex?: number; caches?: LanguageDetectorCaches; cookieExpirationDate?: Date; cookieDomain?: string; lookupHeader?: string; } export interface BackendOptions extends Omit { parse?: (data: string) => any; stringify?: (data: any) => string; [key: string]: any; } export interface Resources { [lng: string]: { [source: string]: string | Record; }; } export type I18nInitOptions = { lng?: string; fallbackLng?: string; supportedLngs?: string[]; initImmediate?: boolean; detection?: LanguageDetectorOptions; backend?: BackendOptions; resources?: Resources; ns?: string | string[]; defaultNS?: string | string[]; interpolation?: { escapeValue?: boolean; [key: string]: any; }; react?: { useSuspense?: boolean; [key: string]: any; }; }; export declare function isI18nInstance(obj: any): obj is I18nInstance; export declare function getI18nextInstanceForProvider(instance: I18nInstance | any): any; export declare function getI18nInstance(userInstance?: I18nInstance | any): Promise; export declare function getInitReactI18next(): Promise; export declare function getI18nextProvider(): Promise | null>; export {};