using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Elwig.Helpers.Export { public interface IExporter : IDisposable, IAsyncDisposable { /// /// The default file extension of the exported files to be used (whithout a preceding ".") /// static abstract string FileExtension { get; } /// /// Export the given data to the given file. /// /// The data to be exported /// The progress object to report to void Export(IEnumerable data, IProgress? progress = null); /// /// Asynchronosly export the given data to the given file. /// /// The data to be exported /// The progress object to report to Task ExportAsync(IEnumerable data, IProgress? progress = null); } }