using CashLineERP.Contracts.External;
using CashLineERP.Contracts.Parties;

namespace CashLineERP.Application.Parties;

public interface IOnboardingLeadService
{
    PublicOnboardingLeadResponse CreateLead(CreatePublicOnboardingLeadRequest request);
    PublicOnboardingLeadResponse? GetPublicLead(string leadCode);
    IReadOnlyCollection<OnboardingLeadSummaryResponse> GetLeads(string? prospectTypeCode = null, string? statusCode = null);
    void MarkSelfServiceStarted(string leadCode);
    void MarkSubmitted(string leadCode, long businessPartyId, long subjectProfileId);
}
