import type { i18n, ParseKeys, Namespace, TypeOptions, TOptions, TFunction } from 'i18next'; import * as React from 'react'; type _DefaultNamespace = TypeOptions['defaultNS']; type TransChild = React.ReactNode | Record; export type TransProps< Key extends ParseKeys, Ns extends Namespace = _DefaultNamespace, KPrefix = undefined, TContext extends string | undefined = undefined, TOpt extends TOptions & { context?: TContext } = { context: TContext }, E = React.HTMLProps, > = E & { children?: TransChild | readonly TransChild[]; components?: readonly React.ReactElement[] | { readonly [tagName: string]: React.ReactElement }; count?: number; context?: TContext; defaults?: string; i18n?: i18n; i18nKey?: Key | Key[]; ns?: Ns; parent?: string | React.ComponentType | null; // used in React.createElement if not null tOptions?: TOpt; values?: {}; shouldUnescape?: boolean; t?: TFunction; }; export function Trans< Key extends ParseKeys, Ns extends Namespace = _DefaultNamespace, KPrefix = undefined, TContext extends string | undefined = undefined, TOpt extends TOptions & { context?: TContext } = { context: TContext }, E = React.HTMLProps, >(props: TransProps): React.ReactElement;