using GB5Shared.DTO.Framework.Login;
using System;
using System.Data.Common;
using System.Threading;
using System.Threading.Tasks;
namespace FrameworkDAL.CustomCode.Archive
{
public interface IEventLogArchiveDAL
{
///
/// Copies TEVENTLOG rows older than to TEVENTLOG_ARCHIVE.
/// Must be called inside an open transaction — the caller commits/rolls back.
///
Task MoveToArchiveAsync(DateTime cutoffDate, LoginDTO login, DbTransaction tx, CancellationToken ct = default);
///
/// Deletes TEVENTLOG rows older than .
/// Call AFTER succeeds, inside the same transaction.
///
Task DeleteHotRowsAsync(DateTime cutoffDate, LoginDTO login, DbTransaction tx, CancellationToken ct = default);
/// Returns hot and archive row counts for logging/health-check.
Task<(int HotCount, int ArchiveCount)> GetStatsAsync(LoginDTO login, CancellationToken ct = default);
}
}