from datetime import date, datetime  # noqa: F401

from typing import List, Dict  # noqa: F401

from chromestatus_openapi.models.base_model import Model
from chromestatus_openapi import util


class TokenRefreshResponse(Model):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.
    """

    def __init__(self, token=None, token_expires_sec=None):  # noqa: E501
        """TokenRefreshResponse - a model defined in OpenAPI

        :param token: The token of this TokenRefreshResponse.  # noqa: E501
        :type token: str
        :param token_expires_sec: The token_expires_sec of this TokenRefreshResponse.  # noqa: E501
        :type token_expires_sec: int
        """
        self.openapi_types = {
            'token': str,
            'token_expires_sec': int
        }

        self.attribute_map = {
            'token': 'token',
            'token_expires_sec': 'token_expires_sec'
        }

        self._token = token
        self._token_expires_sec = token_expires_sec

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

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

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


        :return: The token of this TokenRefreshResponse.
        :rtype: str
        """
        return self._token

    @token.setter
    def token(self, token: str):
        """Sets the token of this TokenRefreshResponse.


        :param token: The token of this TokenRefreshResponse.
        :type token: str
        """

        self._token = token

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


        :return: The token_expires_sec of this TokenRefreshResponse.
        :rtype: int
        """
        return self._token_expires_sec

    @token_expires_sec.setter
    def token_expires_sec(self, token_expires_sec: int):
        """Sets the token_expires_sec of this TokenRefreshResponse.


        :param token_expires_sec: The token_expires_sec of this TokenRefreshResponse.
        :type token_expires_sec: int
        """

        self._token_expires_sec = token_expires_sec
