# This file was generated by liblab | https://liblab.com/

from __future__ import annotations
from .utils.json_map import JsonMap
from .base import BaseModel
from .benefit_contribution_type_enum import BenefitContributionTypeEnum


@JsonMap({"type_": "type"})
class Contribution(BaseModel):
    """Pension contribution.

    :param type_: type_, defaults to None
    :type type_: BenefitContributionTypeEnum, optional
    :param minimum: Minimum pension contribution., defaults to None
    :type minimum: str, optional
    :param maximum: Maximum pension contribution., defaults to None
    :type maximum: str, optional
    """

    def __init__(
        self,
        type_: BenefitContributionTypeEnum = None,
        minimum: str = None,
        maximum: str = None,
    ):
        if type_ is not None:
            self.type_ = self._enum_matching(
                type_, BenefitContributionTypeEnum.list(), "type_"
            )
        if minimum is not None:
            self.minimum = minimum
        if maximum is not None:
            self.maximum = maximum
