import { ReactNode } from "react";
import { SupportedLanguage, ChatbotTranslations } from "./i18n-config";
interface I18nState {
    currentLanguage: SupportedLanguage;
    translations: ChatbotTranslations;
    isRTL: boolean;
    isLoading: boolean;
}
interface I18nContextType extends I18nState {
    changeLanguage: (language: SupportedLanguage) => void;
    t: (key: keyof ChatbotTranslations) => string;
    supportedLanguages: SupportedLanguage[];
    formatText: (text: string) => {
        isTruncated: boolean;
        displayText: string;
        maxLength: number;
    };
}
interface I18nProviderProps {
    children: ReactNode;
    defaultLanguage?: SupportedLanguage;
    enableAutoDetect?: boolean;
    enablePersistence?: boolean;
}
export declare function I18nProvider({ children, defaultLanguage, enableAutoDetect, enablePersistence, }: I18nProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useI18n(): I18nContextType;
interface LanguageSelectorProps {
    className?: string;
    showFlags?: boolean;
    showNativeNames?: boolean;
    onLanguageChange?: (language: SupportedLanguage) => void;
}
export declare function LanguageSelector({ className, showFlags, showNativeNames, onLanguageChange, }: LanguageSelectorProps): import("react/jsx-runtime").JSX.Element;
interface RTLTextProps {
    children: ReactNode;
    className?: string;
    tag?: keyof JSX.IntrinsicElements;
}
export declare function RTLText({ children, className, tag: Tag, }: RTLTextProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=i18n-context.d.ts.map