using System.Collections.Generic; using System.IO; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using ClosedXML.Excel; using GB5Shared.DTO.Framework.Login; using GB5Shared.DTO.Report; using GB5Shared.QueryExecutor; namespace GB5Shared.ExcelExport { public interface IExcelExport { Task> GetReportViewHeader(int reportViewId, ReportCallingDTO reportCalling, LoginDTO loginDTO); IAsyncEnumerable> ReportURICalling( ReportCallingDTO reportCallingDTO, LoginDTO? loginDTO, [EnumeratorCancellation] CancellationToken cancellationToken); Task Export( IAsyncEnumerable> records, IAsyncEnumerable mainHeaders, IAsyncEnumerable columnTitles, IAsyncEnumerable columnFieldNames, Stream outputStream, LoginDTO login, string sheetName = "Report", CancellationToken cancellationToken = default, List? reportViewFields = null); } }