using System;

namespace ReportGeneration.Interface;

public interface IDocumentGenerator : IStreamWriter
{
  IDocumentGenerator Append(string? text = default);

  IDocumentGenerator AppendLine(string? text = default);

  IDocumentGenerator AppendParagraph(string? text = default);

  IDocumentGenerator AppendHeading(int level, string text);

  IDocumentGenerator AppendTable(int columns, Action<ITableGenerator> table);

  string FormatImage(string path, IBounds? bounds = default);
}
