using System.Collections.Generic;

namespace ReportGeneration.Interface;

public interface ITableGenerator : IStreamWriter
{
  int Columns { get; }

  ITableGenerator AppendHeader(string content);
  ITableGenerator AppendHeader(IEnumerable<string> row);
  ITableGenerator AppendHeader(IEnumerable<IEnumerable<string>> rows);

  ITableGenerator AppendRow(string content);
  ITableGenerator AppendRow(IEnumerable<string> row);
  ITableGenerator AppendRows(IEnumerable<IEnumerable<string>> rows);
}