# coding: utf-8

from __future__ import absolute_import
from datetime import date, datetime  # noqa: F401

from typing import List, Dict  # noqa: F401

from swagger_server.models.base_model_ import Model
from swagger_server import util


class IssueBill(Model):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    def __init__(self, lender_key: str=None, money: int=None, info: str=None, is_confirmed: bool=None):  # noqa: E501
        """IssueBill - a model defined in Swagger

        :param lender_key: The lender_key of this IssueBill.  # noqa: E501
        :type lender_key: str
        :param money: The money of this IssueBill.  # noqa: E501
        :type money: int
        :param info: The info of this IssueBill.  # noqa: E501
        :type info: str
        :param is_confirmed: The is_confirmed of this IssueBill.  # noqa: E501
        :type is_confirmed: bool
        """
        self.swagger_types = {
            'lender_key': str,
            'money': int,
            'info': str,
            'is_confirmed': bool
        }

        self.attribute_map = {
            'lender_key': 'lenderKey',
            'money': 'money',
            'info': 'info',
            'is_confirmed': 'isConfirmed'
        }

        self._lender_key = lender_key
        self._money = money
        self._info = info
        self._is_confirmed = is_confirmed

    @classmethod
    def from_dict(cls, dikt) -> 'IssueBill':
        """Returns the dict as a model

        :param dikt: A dict.
        :type: dict
        :return: The IssueBill of this IssueBill.  # noqa: E501
        :rtype: IssueBill
        """
        return util.deserialize_model(dikt, cls)

    @property
    def lender_key(self) -> str:
        """Gets the lender_key of this IssueBill.


        :return: The lender_key of this IssueBill.
        :rtype: str
        """
        return self._lender_key

    @lender_key.setter
    def lender_key(self, lender_key: str):
        """Sets the lender_key of this IssueBill.


        :param lender_key: The lender_key of this IssueBill.
        :type lender_key: str
        """

        self._lender_key = lender_key

    @property
    def money(self) -> int:
        """Gets the money of this IssueBill.


        :return: The money of this IssueBill.
        :rtype: int
        """
        return self._money

    @money.setter
    def money(self, money: int):
        """Sets the money of this IssueBill.


        :param money: The money of this IssueBill.
        :type money: int
        """

        self._money = money

    @property
    def info(self) -> str:
        """Gets the info of this IssueBill.


        :return: The info of this IssueBill.
        :rtype: str
        """
        return self._info

    @info.setter
    def info(self, info: str):
        """Sets the info of this IssueBill.


        :param info: The info of this IssueBill.
        :type info: str
        """

        self._info = info

    @property
    def is_confirmed(self) -> bool:
        """Gets the is_confirmed of this IssueBill.


        :return: The is_confirmed of this IssueBill.
        :rtype: bool
        """
        return self._is_confirmed

    @is_confirmed.setter
    def is_confirmed(self, is_confirmed: bool):
        """Sets the is_confirmed of this IssueBill.


        :param is_confirmed: The is_confirmed of this IssueBill.
        :type is_confirmed: bool
        """

        self._is_confirmed = is_confirmed
