# 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 StoreInfo(Model):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    def __init__(self, num_dogs: int=None, num_cats: int=None, address: str=None):  # noqa: E501
        """StoreInfo - a model defined in Swagger

        :param num_dogs: The num_dogs of this StoreInfo.  # noqa: E501
        :type num_dogs: int
        :param num_cats: The num_cats of this StoreInfo.  # noqa: E501
        :type num_cats: int
        :param address: The address of this StoreInfo.  # noqa: E501
        :type address: str
        """
        self.swagger_types = {
            'num_dogs': int,
            'num_cats': int,
            'address': str
        }

        self.attribute_map = {
            'num_dogs': 'numDogs',
            'num_cats': 'numCats',
            'address': 'address'
        }
        self._num_dogs = num_dogs
        self._num_cats = num_cats
        self._address = address

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

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

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


        :return: The num_dogs of this StoreInfo.
        :rtype: int
        """
        return self._num_dogs

    @num_dogs.setter
    def num_dogs(self, num_dogs: int):
        """Sets the num_dogs of this StoreInfo.


        :param num_dogs: The num_dogs of this StoreInfo.
        :type num_dogs: int
        """

        self._num_dogs = num_dogs

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


        :return: The num_cats of this StoreInfo.
        :rtype: int
        """
        return self._num_cats

    @num_cats.setter
    def num_cats(self, num_cats: int):
        """Sets the num_cats of this StoreInfo.


        :param num_cats: The num_cats of this StoreInfo.
        :type num_cats: int
        """

        self._num_cats = num_cats

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


        :return: The address of this StoreInfo.
        :rtype: str
        """
        return self._address

    @address.setter
    def address(self, address: str):
        """Sets the address of this StoreInfo.


        :param address: The address of this StoreInfo.
        :type address: str
        """

        self._address = address
