UNPKG

1.38 kBTypeScriptView Raw
1import type { i18n, ParseKeys, Namespace, TypeOptions, TOptions, TFunction } from 'i18next';
2import * as React from 'react';
3
4type _DefaultNamespace = TypeOptions['defaultNS'];
5
6type TransChild = React.ReactNode | Record<string, unknown>;
7export type TransProps<
8 Key extends ParseKeys<Ns, TOpt, KPrefix>,
9 Ns extends Namespace = _DefaultNamespace,
10 KPrefix = undefined,
11 TContext extends string | undefined = undefined,
12 TOpt extends TOptions & { context?: TContext } = { context: TContext },
13 E = React.HTMLProps<HTMLDivElement>,
14> = E & {
15 children?: TransChild | readonly TransChild[];
16 components?: readonly React.ReactElement[] | { readonly [tagName: string]: React.ReactElement };
17 count?: number;
18 context?: TContext;
19 defaults?: string;
20 i18n?: i18n;
21 i18nKey?: Key | Key[];
22 ns?: Ns;
23 parent?: string | React.ComponentType<any> | null; // used in React.createElement if not null
24 tOptions?: TOpt;
25 values?: {};
26 shouldUnescape?: boolean;
27 t?: TFunction<Ns, KPrefix>;
28};
29
30export function Trans<
31 Key extends ParseKeys<Ns, TOpt, KPrefix>,
32 Ns extends Namespace = _DefaultNamespace,
33 KPrefix = undefined,
34 TContext extends string | undefined = undefined,
35 TOpt extends TOptions & { context?: TContext } = { context: TContext },
36 E = React.HTMLProps<HTMLDivElement>,
37>(props: TransProps<Key, Ns, KPrefix, TContext, TOpt, E>): React.ReactElement;