from dataclasses import dataclass
from typing import Optional


@dataclass
class LegalChargesRule:
    """Represents a legal-charges rule for one merchant category.

    condition is one of:
      'loan_amount_less_than'  — applies when loan_amount <= net_loan_amount
      'loan_amount_more_than'  — applies when loan_amount >  net_loan_amount
    """

    category_id: int
    condition: str
    net_loan_amount: int
    legal_charges: int
    id: Optional[int] = None
