/**
 * Field Mapper
 *
 * Maps JSON schema fields to their TypeScript, Zod, and form component equivalents.
 */
import { JsonFieldDefinition } from "../types/json-schema.interface";
import { FrontendField } from "../types/template-data.interface";
/**
 * Map a JSON field definition to a frontend field
 *
 * @param field - JSON field definition
 * @param moduleName - Module name for i18n error messages
 * @returns Frontend field representation
 */
export declare function mapField(field: JsonFieldDefinition, moduleName: string): FrontendField;
/**
 * Map all fields from JSON schema
 *
 * @param fields - Array of JSON field definitions
 * @param moduleName - Module name for i18n error messages
 * @returns Array of frontend field representations
 */
export declare function mapFields(fields: JsonFieldDefinition[], moduleName: string): FrontendField[];
/**
 * Build complete Zod schema string for a field
 *
 * @param field - JSON field definition
 * @param moduleName - Module name (lowercase) for i18n keys
 * @returns Zod schema code string
 */
export declare function buildZodSchema(field: JsonFieldDefinition, moduleName: string): string;
/**
 * Get the form JSX for a field
 *
 * @param field - Frontend field
 * @param moduleName - Module name for i18n keys
 * @returns JSX code for the form field
 */
export declare function getFormFieldJsx(field: FrontendField, moduleName: string): string;
/**
 * Filter out inherited fields that shouldn't be generated
 *
 * @param fields - Array of frontend fields
 * @param inheritedFields - Array of field names inherited from parent
 * @returns Filtered array of fields
 */
export declare function filterInheritedFields(fields: FrontendField[], inheritedFields: string[]): FrontendField[];
/**
 * Get fields that should be included in the editor form
 *
 * @param fields - Array of frontend fields
 * @returns Fields suitable for form editing
 */
export declare function getEditorFields(fields: FrontendField[]): FrontendField[];
//# sourceMappingURL=field-mapper.d.ts.map