using CashLineERP.Contracts.Finance;

namespace CashLineERP.Application.Finance;

public interface IAccountingPeriodService
{
    IReadOnlyCollection<AccountingPeriodResponse> GetPeriods();

    AccountingPeriodCloseReadinessResponse GetCloseReadiness(long accountingPeriodId);

    AccountingPeriodMonthEndReviewResponse GetMonthEndReview(long accountingPeriodId);

    AccountingPeriodResponse MarkReadyToClose(long accountingPeriodId, long actorUserId);

    AccountingPeriodResponse Close(long accountingPeriodId, long actorUserId);
}
