# Path: mollie/api/error.py
# class APIDeprecationWarning(DeprecationWarning):
#     """
#     Features that are deprecated in the Mollie API.
# 
#     This library cannot control when an API feature will be removed. We can only label it as 'deprecated'
#     using this warning, and hope that library users stop using the feature before the removal.
#     """
# 
#     pass
# 
# Path: mollie/api/objects/base.py
# class ObjectBase(dict):
#     def __init__(self, data, client=None):
#         """
#         Create a new object from API result data.
#         """
#         super().__init__(data)
#         self.client = client
# 
#     def _get_property(self, name):
#         """Return the named property from dictionary values."""
#         if name not in self:
#             return None
#         return self[name]
# 
#     def _get_link(self, name):
#         """Return a link by its name."""
#         try:
#             return self["_links"][name]["href"]
#         except (KeyError, TypeError):
#             return None
# 
#     @classmethod
#     def get_object_name(cls):
#         name = cls.__name__.lower()
#         return f"{name}s"
# 
#     @classmethod
#     def get_resource_class(cls, client):
#         raise NotImplementedError  # pragma: no cover


import warnings
from ..error import APIDeprecationWarning
from .base import ObjectBase
        from ..resources.profiles import Profiles



class Profile(ObjectBase):
    STATUS_UNVERIFIED = "unverified"
    STATUS_VERIFIED = "verified"
    STATUS_BLOCKED = "blocked"

    @classmethod
    def get_resource_class(cls, client):

        return Profiles(client)

    @property
    def id(self):
        return self._get_property("id")

    @property
    def resource(self):
        return self._get_property("resource")

    @property
    def mode(self):
        return self._get_property("mode")

    @property
    def name(self):

# Path: mollie/api/error.py
# class APIDeprecationWarning(DeprecationWarning):
#     """
#     Features that are deprecated in the Mollie API.
# 
#     This library cannot control when an API feature will be removed. We can only label it as 'deprecated'
#     using this warning, and hope that library users stop using the feature before the removal.
#     """
# 
#     pass
# 
# Path: mollie/api/objects/base.py
# class ObjectBase(dict):
#     def __init__(self, data, client=None):
#         """
#         Create a new object from API result data.
#         """
#         super().__init__(data)
#         self.client = client
# 
#     def _get_property(self, name):
#         """Return the named property from dictionary values."""
#         if name not in self:
#             return None
#         return self[name]
# 
#     def _get_link(self, name):
#         """Return a link by its name."""
#         try:
#             return self["_links"][name]["href"]
#         except (KeyError, TypeError):
#             return None
# 
#     @classmethod
#     def get_object_name(cls):
#         name = cls.__name__.lower()
#         return f"{name}s"
# 
#     @classmethod
#     def get_resource_class(cls, client):
#         raise NotImplementedError  # pragma: no cover


# Path: mollie/api/objects/profile.py
import warnings
from ..error import APIDeprecationWarning
from .base import ObjectBase
        from ..resources.profiles import Profiles




class Profile(ObjectBase):
    STATUS_UNVERIFIED = "unverified"
    STATUS_VERIFIED = "verified"
    STATUS_BLOCKED = "blocked"

    @classmethod
    def get_resource_class(cls, client):

        return Profiles(client)

    @property
    def id(self):
        return self._get_property("id")

    @property
    def resource(self):
        return self._get_property("resource")

    @property
    def mode(self):
        return self._get_property("mode")

    @property
    def name(self):

        return self._get_property("name")