using QWERTYkez.WordProcessor; namespace QWERTYkez.WordProcessor; public interface IWordWriter : IWordReader { /// Добавляет новый параграф с указанным текстом в конец документа. void AddParagraph(string text, bool preserveFormatting = true); void ReplaceItem(IDictionary> replacements); void ReplaceItem(IDictionary replacements); void ReplaceItem(IEnumerable>> replacements); void ReplaceItem(IEnumerable> replacements); void ReplaceItem(string oldValue, IEnumerable newValues); void ReplaceItem(string oldValue, params ReplaceItem[] newValues); void ReplaceString(IDictionary> replacements); void ReplaceString(IDictionary replacements); void ReplaceString(IEnumerable>> replacements); void ReplaceString(IEnumerable> replacements); void ReplaceString(string oldValue, IEnumerable newValues); void ReplaceString(string oldValue, params string[] newValues); void ReplaceToTable(string oldValue, Action buildTable); void ReplaceToText(string oldValue, Action buildText); void Save(); void SaveTo(string path); Task SaveToAsync(string path, CancellationToken cancellationToken = default); bool TrySaveTo(string path, out Exception? error); }