using System.Threading;
using System.Threading.Tasks;
using LaDOSE.Entity;
namespace LaDOSE.Business.Interface
{
///
/// Writes tabular data into a Google Spreadsheet. Startup picks one implementation from
/// GoogleSheets:Writer, so nothing above this interface knows how Google is reached.
///
/// Implementations must be idempotent: writing the same request twice leaves the same
/// spreadsheet. They must also leave tabs they were not asked about completely alone —
/// the spreadsheet holds hand-made summaries and charts, and deletion is irreversible
/// through the API.
///
public interface ISheetsWriter
{
/// Reported to the UI so the panel can say what it is talking to.
string Name { get; }
/// False when credentials are missing, so the API can answer 503 with a message.
bool IsConfigured { get; }
Task WriteTablesAsync(SheetExportRequest request, CancellationToken ct = default);
}
}