UNPKG

@intl-t/react

Version:

A Fully-Typed Object-Based i18n Translation Library for React

22 lines (21 loc) 1.43 kB
import type { GlobalTranslation } from "@intl-t/core/global"; import type { isArray, SearchWays, ArrayToString, Locale, TranslationProps as TP, Content } from "@intl-t/core/types"; import { TranslationNode } from "@intl-t/react/translation"; import type { ReactState, ReactSetState, ReactNode } from "@intl-t/react/types"; export type TranslationContext = null | { reRender?: ReactSetState<number>; localeState?: ReactState<Locale>; t?: TranslationNode; }; export declare const TranslationContext: import("react").Context<TranslationContext>; interface TranslationProps<T extends TranslationNode, A extends string[] = string[], D extends string = string> extends TP<T["settings"], T["node"], T["values"], A, D> { t?: T; } export { TranslationProps as TranslationProviderProps }; export declare function TranslationProvider<T extends TranslationNode, A extends isArray<SearchWays<T>>, D extends ArrayToString<A, T["settings"]["ps"]>>({ t, onLocaleChange, locale, children, i18nKey, id, path, messages, source, variables, settings, ...state }: TranslationProps<T, A, D>): ReactNode | Content<T["node"]>; export declare const T: typeof TranslationProvider; export { T as Trans, T as Tr }; export declare function hook(...args: any[]): any; export declare const useTranslation: GlobalTranslation; export declare const useTranslations: GlobalTranslation; export { hook as useTranslation, hook as useTranslations };