import type { ILocalLanguage } from 'll-plus/es/locale';
import type { MaybeRef } from '@vueuse/core';
import type { InjectionKey, Ref } from 'vue';
export type TranslatorOption = Record<string, string | number>;
export type Translator = (path: string, option?: TranslatorOption) => string;
export type LocaleContext = {
    locale: Ref<ILocalLanguage>;
    lang: Ref<string>;
    t: Translator;
};
export declare const buildTranslator: (locale: MaybeRef<ILocalLanguage>) => Translator;
export declare const translate: (path: string, option: undefined | TranslatorOption, locale: ILocalLanguage) => string;
export declare const buildLocaleContext: (locale: MaybeRef<ILocalLanguage>) => LocaleContext;
export declare const localeContextKey: InjectionKey<Ref<ILocalLanguage | undefined>>;
export declare const useLocale: (localeOverrides?: Ref<ILocalLanguage | undefined>) => LocaleContext;
