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

from __future__ import annotations
from typing import List
from .utils.json_map import JsonMap
from .base import BaseModel
from .pro_rata import ProRata
from .first_payment_date import FirstPaymentDate


@JsonMap({})
class ResponseEstimateFirstPayment(BaseModel):
    """ResponseEstimateFirstPayment

    :param pro_rata: Details of the pro rata for the first payment, defaults to None
    :type pro_rata: ProRata, optional
    :param first_payment_dates: first_payment_dates, defaults to None
    :type first_payment_dates: List[FirstPaymentDate], optional
    """

    def __init__(
        self,
        pro_rata: ProRata = None,
        first_payment_dates: List[FirstPaymentDate] = None,
    ):
        if pro_rata is not None:
            self.pro_rata = self._define_object(pro_rata, ProRata)
        if first_payment_dates is not None:
            self.first_payment_dates = self._define_list(
                first_payment_dates, FirstPaymentDate
            )
