
using AyCode.Interfaces.Addresses;
using AyCode.Interfaces.Addresses.Dtos;
using AyCode.Interfaces.Profiles;
using AyCode.Interfaces.ServiceProviders;
using AyCode.Interfaces.Users.Dtos;

namespace AyCode.Interfaces.Users;

public interface IAcUser<TProfile, TAddress> : IAcUserDtoDetailBase<TProfile, TAddress>
    where TProfile : IAcProfile<TAddress>
    where TAddress : IAcAddressDtoBase
{ }

public interface IAcUser<TProfile, TCompany, TUserToCompany, TAddress> : IAcUser<TProfile, TAddress>, IAcUserDtoDetailBase<TProfile, TCompany, TUserToCompany, TAddress>
    where TProfile : IAcProfile<TAddress>
    where TCompany : IAcCompanyBase
    where TUserToCompany : IAcUserToCompanyBase
    where TAddress : IAcAddressDtoBase
{ }