using CashLineERP.Contracts.Finance;

namespace CashLineERP.Application.Finance;

public interface ITreasuryTransferService
{
    IReadOnlyCollection<TreasuryTransferResponse> GetTreasuryTransfers();

    TreasuryTransferResponse? GetTreasuryTransfer(long treasuryTransferId);

    TreasuryTransferResponse CreateTreasuryTransfer(CreateTreasuryTransferRequest request);

    TreasuryTransferResponse SubmitTreasuryTransfer(long treasuryTransferId, long actorUserId);

    TreasuryTransferResponse ApproveTreasuryTransfer(long treasuryTransferId, long actorUserId);

    TreasuryTransferResponse PostTreasuryTransfer(long treasuryTransferId, long actorUserId);
}
