using LCU.Library.Internal.LcuEvaluationModels.Enums; namespace LCU.API.Internal.LoanRateLib.Repositories; public interface IRateRepository { Task?> FindAsync(); Task?> FindWithRateEvaluationsAsync(); Task FindByIdAsync(int id); Task?> FindByClosingRateUploadInfoIdAsync(int id); Task?> FindByDateAsync(DateTime date); Task?> FindRateHistoryAsync(Rate rate); Task?> FindRangeByIdAsync(List ids); Task?> FindByDateEvaluationIdsAndEvaluationTypeAsync(DateTime date, List evaluationIds, EvaluationTypes evaluationType); Task AddAsync(Rate rate); Task AddRangeAsync(IEnumerable rates); void UpdateRange(IEnumerable rates); void Remove(Rate rate); void RemoveRange(IEnumerable rates); Task> FindCacheAsync(); void ClearCache(); }