using CashLineERP.Contracts.IslamicFinance;

namespace CashLineERP.Application.IslamicFinance.ContractTemplates;

public interface IIslamicFinanceContractTemplateService
{
    IReadOnlyCollection<IslamicFinanceContractTemplateResponse> GetContractTemplates(
        bool activeOnly = false,
        long? productProfileId = null,
        string? languageCode = null);

    IslamicFinanceContractTemplateResponse? GetContractTemplate(long contractTemplateId);
    IslamicFinanceContractTemplateResponse CreateContractTemplate(CreateIslamicFinanceContractTemplateRequest request);
    IslamicFinanceContractTemplateResponse SubmitContractTemplate(long contractTemplateId, long actorUserId);
    IslamicFinanceContractTemplateResponse ApproveContractTemplate(long contractTemplateId, long actorUserId);
    IslamicFinanceContractTemplateResponse ActivateContractTemplate(long contractTemplateId, long actorUserId);
}
