import { type PropsWithChildren } from "react";
type TranslationScope = Record<string, string>;
type TranslationScopes = Record<string, TranslationScope>;
export type Translations = Record<string, TranslationScopes>;
interface I18nContextValue {
    locale: string;
    changeLocale: (locale: string) => void;
    updateDictionary: (translations: Record<string, Record<string, Record<string, string>>>, locale?: string) => void;
    fetchTranslations: (pathname: string, locale?: string, signal?: AbortSignal) => Promise<void>;
    getComponentTranslations: (key: string) => Record<string, string>;
    supportedLocales: string[];
    defaultLocale: string;
}
export type CreateI18nDictionary<T> = {
    [K in keyof T]: T[K];
};
export declare const I18nContext: import("react").Context<I18nContextValue>;
export type Dictionary = Map<string, Map<string, Record<string, string>>>;
export declare const I18nProvider: (props: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=I18nContext.d.ts.map