import { h } from "preact"; import { Language } from "./language"; import { Formatter } from "./interpolation"; export interface I18nContext { readonly T: I18nContext.T; readonly TX: I18nContext.TX; } export declare namespace I18nContext { interface Options { readonly namespace?: string; readonly sourceLanguage?: string; readonly formatters?: Map; } interface T { (props: TProps): h.JSX.Element; } interface TProps { readonly id?: string; readonly value: string; } interface TX { (props: TXProps): h.JSX.Element; } type TXProps = { readonly id?: string; readonly fields?: Language.InterpolationFields; } & ({ readonly value: string; } | { readonly value: string[]; readonly count: number; }); function create(options?: Options): I18nContext; }