import type { Locale, LocaleDetails, NestedPath } from './types';
export declare const useI18n: <T = undefined>() => {
    t: (translationKey: NestedPath<{
        components: {
            global: {
                navigation: {
                    docs: string;
                };
                language: string;
            };
        };
    } & (T extends {
        en: {};
    } ? T[Locale.ENGLISH] : {})>) => string;
    translations: {
        components: {
            global: {
                navigation: {
                    docs: string;
                };
                language: string;
            };
        };
    } & (T extends {
        en: {};
    } ? T[Locale.ENGLISH] : {});
    locale: Locale;
    localeDetails: LocaleDetails;
    dir: "ltr" | "rtl";
    setLocale: (locale: Locale) => void;
    pathWithoutLocale: string;
    supportedLocales: Locale[];
    supportedLocalesDetails: Record<Locale, LocaleDetails>;
    defaultLocale: Locale;
    extractLocaleFromPath: (path: string) => {
        locale: Locale;
        pathWithoutLocale: string;
    };
};
