/** * JSON Forms–compatible UI Schema label resolution. * @see https://jsonforms.io/docs/i18n * * Keys: `{i18n}.label` (Control/Group/Category/Step), `{i18n}.text` (Label), * or `{i18n}.description` (Control field description). */ export type UiI18nSuffix = "label" | "text" | "description"; /** UI editor path segment (child index or `options.detail`). */ export type UiI18nPathSegment = number | "detail"; export declare function uiI18nMessageKey(i18nPrefix: string, suffix: UiI18nSuffix): string; /** * Slugify a schema root title for use as the leading i18n prefix segment. * Empty / unusable titles fall back to `schema`. */ export declare function slugifySchemaTitle(title: string | undefined): string; /** * Derive a unique JSON Forms `i18n` prefix: * `{rootSlug}.{dataPath}` for Controls with scope, else `{rootSlug}.ui.{uiPath}`. */ export declare function deriveUiI18nPrefix(rootSlug: string, element: { elementKind: string; scope?: string; }, uiPath: readonly UiI18nPathSegment[]): string; /** * Resolve a UI label/text using an external message lookup (e.g. messages[locale][key]). * Returns `undefined` when neither a translation nor a default message is available. */ export declare function resolveUiI18nString(options: { i18n?: string; defaultMessage?: string; suffix: UiI18nSuffix; }, lookup: (key: string) => string | undefined): string | undefined; //# sourceMappingURL=i18n-label.d.ts.map