import { TranslationLanguage, TranslationsMap, TranslatorFunction } from './types';
export declare const defaultTranslationFunction: (key: string) => string;
export type StreamI18nConstructor = {
    /** Language into which the provided strings are translated */
    currentLanguage?: TranslationLanguage;
    /** Fallback language which will be used if no translation is found for current language */
    fallbackLanguage?: TranslationLanguage;
    /** Logs info level to console output. Helps find issues with loading not working. */
    debug?: boolean;
    /** Custom translations that will be merged with the defaults provided by the library. */
    translationsOverrides?: TranslationsMap;
};
export declare class StreamI18n {
    /** Exposed i18n instance from the i18next library */
    i18nInstance: import("i18next").i18n;
    /** Translator function that converts the provided string into its equivalent in the current language. */
    t: TranslatorFunction;
    constructor({ debug, currentLanguage, fallbackLanguage, translationsOverrides, }?: StreamI18nConstructor);
    get currentLanguage(): string;
    get isInitialized(): boolean;
    init: () => Promise<TranslatorFunction>;
    changeLanguage: (language?: TranslationLanguage) => Promise<TranslatorFunction>;
}
