/** * Field Preservation Utility * * This utility ensures that when updating translations, we preserve * all existing fields and only update the translated content. */ type DataObject = Record; declare const fieldPreserver: { /** * Preserve existing fields when updating entity * This prevents "not related to entity" errors caused by missing fields */ preserveExistingFields(updateData: DataObject | null | undefined, existingData: DataObject | null | undefined, locale: string): DataObject | null | undefined; /** * Deep merge that preserves existing structure while updating translated content */ deepMergePreserveExisting(existing: unknown, update: unknown, depth?: number): unknown; /** * Preserve component structure for complex components */ preserveComponentStructure(updateComponent: DataObject | null | undefined, existingComponent: DataObject | null | undefined): DataObject | null | undefined; /** * Check what fields are missing between update and existing data */ findMissingFields(updateData: DataObject, existingData: unknown, path?: string): string[]; }; export default fieldPreserver;