import { FormEngineTranslationKey, FormEngineMessages } from './keys.js'; import { TranslationStatus } from '../translation.js'; import '../analytics-CKp_MFX6.js'; import '../lifecycle.js'; import '../locale.js'; type TranslationTargetKind = "title" | "completionMessage" | "question" | "option"; interface TranslationWorkspaceCustomDictionary { readonly messages?: Partial>; readonly localeNames?: Readonly>; readonly statusLabels?: Partial>; readonly placeholders?: Partial>; readonly headers?: { readonly sourceTitle?: string; readonly targetTitle?: string; }; } interface FormEngineTranslatorOptions { readonly locale?: string; readonly fallbackLocale?: string; readonly messages?: FormEngineMessages; readonly customCatalogs?: Record; readonly customDictionary?: TranslationWorkspaceCustomDictionary; readonly fallbackTextResolver?: (key: FormEngineTranslationKey, locale: string) => string; readonly onMissingKey?: (event: TranslationMissingKeyEvent) => void; readonly strict?: boolean; } interface TranslationMissingKeyEvent { readonly key: string; readonly locale: string; readonly fallbackLocale: string; readonly resolvedValue: string; readonly reason: "missing_in_current_locale" | "missing_in_all_catalogs"; } type FormEngineTranslator = (key: FormEngineTranslationKey | string, params?: Record) => string; declare const createFormEngineTranslator: (options?: FormEngineTranslatorOptions) => FormEngineTranslator; export { type FormEngineTranslator, type FormEngineTranslatorOptions, type TranslationMissingKeyEvent, type TranslationTargetKind, type TranslationWorkspaceCustomDictionary, createFormEngineTranslator };