import type { FC, ReactNode } from 'react'; import type { I18nInstance } from './i18n'; export interface ModernI18nContextValue { language: string; i18nInstance: I18nInstance; entryName?: string; languages?: string[]; localePathRedirect?: boolean; ignoreRedirectRoutes?: string[] | ((pathname: string) => boolean); updateLanguage?: (newLang: string) => void; } export interface ModernI18nProviderProps { children: ReactNode; value: ModernI18nContextValue; } export declare const ModernI18nProvider: FC; export interface UseModernI18nReturn { language: string; changeLanguage: (newLang: string) => Promise; i18nInstance: I18nInstance; supportedLanguages: string[]; isLanguageSupported: (lang: string) => boolean; isResourcesReady: boolean; } /** * Hook for accessing i18n functionality in Modern.js applications. * * This hook provides: * - Current language from URL params or i18n context * - changeLanguage function that updates both i18n instance and URL * - Direct access to the i18n instance * - List of supported languages * - Helper function to check if a language is supported * * @param options - Optional configuration to override context settings * @returns Object containing i18n functionality and utilities */ export declare const useModernI18n: () => UseModernI18nReturn;