from datetime import date, datetime  # noqa: F401

from typing import List, Dict  # noqa: F401

from capif_events.models.base_model import Model
from capif_events import util


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

    Do not edit the class manually.
    """

    def __init__(self, max_no_of_notif=None, duration_buffered_notif=None):  # noqa: E501
        """MutingNotificationsSettings - a model defined in OpenAPI

        :param max_no_of_notif: The max_no_of_notif of this MutingNotificationsSettings.  # noqa: E501
        :type max_no_of_notif: int
        :param duration_buffered_notif: The duration_buffered_notif of this MutingNotificationsSettings.  # noqa: E501
        :type duration_buffered_notif: int
        """
        self.openapi_types = {
            'max_no_of_notif': int,
            'duration_buffered_notif': int
        }

        self.attribute_map = {
            'max_no_of_notif': 'maxNoOfNotif',
            'duration_buffered_notif': 'durationBufferedNotif'
        }

        self._max_no_of_notif = max_no_of_notif
        self._duration_buffered_notif = duration_buffered_notif

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

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

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


        :return: The max_no_of_notif of this MutingNotificationsSettings.
        :rtype: int
        """
        return self._max_no_of_notif

    @max_no_of_notif.setter
    def max_no_of_notif(self, max_no_of_notif: int):
        """Sets the max_no_of_notif of this MutingNotificationsSettings.


        :param max_no_of_notif: The max_no_of_notif of this MutingNotificationsSettings.
        :type max_no_of_notif: int
        """

        self._max_no_of_notif = max_no_of_notif

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

        indicating a time in seconds.  # noqa: E501

        :return: The duration_buffered_notif of this MutingNotificationsSettings.
        :rtype: int
        """
        return self._duration_buffered_notif

    @duration_buffered_notif.setter
    def duration_buffered_notif(self, duration_buffered_notif: int):
        """Sets the duration_buffered_notif of this MutingNotificationsSettings.

        indicating a time in seconds.  # noqa: E501

        :param duration_buffered_notif: The duration_buffered_notif of this MutingNotificationsSettings.
        :type duration_buffered_notif: int
        """

        self._duration_buffered_notif = duration_buffered_notif
