import { InputMetadata, FormMetadata, ButtonMetadata, ComponentState } from '../../components/types'; import * as i0 from "@angular/core"; /** * Helper para resolver traducciones i18n en InputMetadata y FormMetadata. * * @example * ```typescript * helper = inject(InputI18nHelper); * * // Resolver un input * emailInput = this.helper.resolveInput({ * ...baseEmailInput, * labelKey: 'email', * placeholderKey: 'emailPlaceholder', * errorKeys: { required: 'emailRequired', email: 'emailInvalid' }, * i18nNamespace: '_auth', * }); * * // Resolver un form completo * loginForm = this.helper.resolveForm(loginFormConfig); * ``` */ export declare class InputI18nHelper { private i18n; /** * Resuelve traducciones para un InputMetadata. * Si hay keys de i18n, las resuelve; sino, usa los valores directos. */ resolveInput(input: InputMetadataWithI18n): InputMetadata; /** * Resuelve traducciones para un FormMetadata completo. * Lee i18n.lang() para crear dependencia reactiva con computed(). */ resolveForm(form: FormMetadataWithI18n): FormMetadata; /** * Resuelve traducciones para un ButtonMetadata. */ resolveButton(button: ButtonMetadataWithI18n, namespace?: string): ButtonMetadata; /** * Resuelve un mapa de error keys a mensajes traducidos. */ private resolveErrors; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export interface InputMetadataWithI18n extends Partial { i18nNamespace?: string; labelKey?: string; placeholderKey?: string; hintKey?: string; errorKeys?: Record; } export interface FormSectionWithI18n { name?: string; nameKey?: string; order: number; fields: InputMetadataWithI18n[]; } export interface FormMetadataWithI18n { name?: string; nameKey?: string; i18nNamespace?: string; sections: FormSectionWithI18n[]; actions: ButtonMetadataWithI18n; state: ComponentState; } export interface ButtonMetadataWithI18n extends Partial { i18nNamespace?: string; textKey?: string; }