import { PropsWithChildren } from 'react';
import { StreamI18n, TranslationLanguage, TranslationsMap } from '../i18n';
type StreamI18nContextValue = {
    t: StreamI18n['t'];
    i18n?: StreamI18n;
};
type CreateI18nParams = {
    i18nInstance?: StreamI18n;
    language?: TranslationLanguage;
    fallbackLanguage?: TranslationLanguage;
    translationsOverrides?: TranslationsMap;
};
export type StreamI18nProviderProps = CreateI18nParams;
export declare const StreamI18nProvider: ({ children, ...createI18nParams }: PropsWithChildren<StreamI18nProviderProps>) => import("react/jsx-runtime").JSX.Element;
/**
 * A hook to get the i18n instance and translation function from the closest provider.
 *
 * Example usage:
 * const { t, i18n } = useI18n();
 * const message = t('hello_world');
 * console.log(message);
 */
export declare const useI18n: () => StreamI18nContextValue;
export {};
