Hi,
To restrict the number of uses for a coupon, only the "quota" and "quota per user" settings can be used.
Being able to restrict the number of users of a coupon based on the purchased quantity of individual products means tracking that information. This is not done at the moment. There is no table in the database which links the users, the products and the coupons / discounts to know how many time a coupon / discount was used by a user and for which products.
Supposing that this table existed ( it could be done in a custom plugin), it would then be possible to develop a custom plugin to restrict the use of a coupon based on past purchases and what is already in the cart.
The coupon conditions plugin won't help with that extra table, and even if that extra table was properly filled, it is not meant to be able to tap into other tables than the standard ones in HikaShop ( cart, product, user, address, etc). So this is a dead end.
A simpler solution would be to create one discount per product with a quota per user of 1 and a fixed flat value corresponding to the price of the product.
That way, you can have different products discounted in the same cart, and only the value of one product is discounted for each product.
However, that indeed means having to setup one discount per produc. And if you want the customer to enter a code to get the discount, it means also using the multicoupon plugin, and having to manage one code per product, which is not practical.
Here, I think a custom plugin is the proper way to go.