/** * Gridset Save Mutations Module * * Handles saving AACTree mutations back to Gridset files. * This module extracts the save logic from gridsetProcessor for better modularity. */ import { AACTree, AACPage } from '../../core/treeStructure'; import type { AACButton } from '../../types/aac'; export declare class GridsetSaveHandler { private AdmZip; private XMLParser; private XMLBuilder; constructor(); /** * Show deprecation warning for legacy save path */ static warnLegacySave(): void; /** * Save using mutation-based logic * Fixes bugs A, B, C by processing explicit mutations */ static saveWithMutations(tree: AACTree, originalZip: any, outputZip: any, parser: any, gridBuilder: any, createBasicGridXml: (page: AACPage) => string): void; /** * Apply button changes to a cell */ static applyButtonToCell(cell: any, button: AACButton, patch?: Partial): void; /** * Add an item to the WordList with de-duplication (Bug A fix) */ static addWordListItemToGrid(grid: any, item: { text: string; image?: string; partOfSpeech?: string; }): void; /** * Remove items from the WordList */ static removeWordListItemFromGrid(grid: any, match: string | ((item: any) => boolean)): void; }