/** * Locale-aware renderer wrapper. Picks one of the registered * sub-renderers based on `msg.locale` and falls through to the * default. Combine with Handlebars / Liquid / React for a simple * i18n-first pipeline. * * ```ts * email.use(withRender(i18nRenderer({ * fallback: handlebarsRenderer(), * byLocale: { tr: handlebarsRenderer({ ... }), en: handlebarsRenderer({ ... }) }, * }))) * ``` * * @module */ import type { EmailMessage } from "../types.mjs"; import type { Renderer } from "./_middleware.mjs"; export interface I18nRendererOptions { byLocale: Record; fallback: Renderer; /** Override how the locale is resolved. Defaults to * `msg.locale || msg.template?.locale || msg.headers?.["accept-language"]`. */ resolveLocale?: (msg: EmailMessage) => string | undefined; } export declare function i18nRenderer(options: I18nRendererOptions): Renderer;