from __future__ import annotations

from enum import Enum


class InputMode(str, Enum):
    BASIC_PAY = "basic"
    GROSS_PAY = "gross"
    NET_PAY = "net"


class EmploymentTaxMode(str, Enum):
    PRIMARY_RESIDENT = "primary_resident"
    NON_RESIDENT = "non_resident"
    SECONDARY = "secondary"
    SECONDARY_ABOVE_TEN_MILLION = "secondary_above_ten_million"


class CategoryNature(str, Enum):
    INCREMENT = "Increment"
    DEDUCTION = "Deduction"
    INCREMENT2 = "Increment2"
    DO_NOTHING = "Do nothing"
    BONUS = "Bonus"


class PayslipSide(str, Enum):
    EARNINGS = "earnings"
    DEDUCTIONS = "deductions"
    EMPLOYER_CONTRIBUTIONS = "employer_contributions"
    MEMO = "memo"


class CalculationPhase(str, Enum):
    PRE_TAX = "pre_tax"
    POST_TAX = "post_tax"


class BaseEffect(str, Enum):
    ADD = "add"
    SUBTRACT = "subtract"
    IGNORE = "ignore"


class AmountMode(str, Enum):
    FIXED = "fixed"
    PERCENTAGE_OF_BASIC = "pct_basic"
    PERCENTAGE_OF_GROSS = "pct_gross"
