# Path: tenable_io/api/base.py
# class BaseApi(object):
# 
#     def __init__(self, client):
#         self._client = client
# 
# Path: tenable_io/api/models.py
# class Filters(BaseModel):
# 
#     def __init__(
#             self,
#             filters=None,
#             sort=None,
#             wildcard_fields=None
#     ):
#         self._filters = None
#         self.filters = filters
#         self.sort = sort
#         self.wildcard_fields = wildcard_fields
# 
#     @property
#     def filters(self):
#         return self._filters
# 
#     @filters.setter
#     @BaseModel._model_list(Filter)
#     def filters(self, filters):
#         self._filters = filters


from tenable_io.api.base import BaseApi
from tenable_io.api.models import Filters


class FiltersApi(BaseApi):

    def agents_filters(self):
        """Gets filtering, sorting, and pagination capabilities available for agent records.

        :raise TenableIOApiException:  When API error is encountered.
        :return: An instance of :class: `tenable_io.api.models.Filters`.
        """
        response = self._client.get('filters/scans/agents')

# Path: tenable_io/api/base.py
# class BaseApi(object):
# 
#     def __init__(self, client):
#         self._client = client
# 
# Path: tenable_io/api/models.py
# class Filters(BaseModel):
# 
#     def __init__(
#             self,
#             filters=None,
#             sort=None,
#             wildcard_fields=None
#     ):
#         self._filters = None
#         self.filters = filters
#         self.sort = sort
#         self.wildcard_fields = wildcard_fields
# 
#     @property
#     def filters(self):
#         return self._filters
# 
#     @filters.setter
#     @BaseModel._model_list(Filter)
#     def filters(self, filters):
#         self._filters = filters


# Path: tenable_io/api/filters.py
from tenable_io.api.base import BaseApi
from tenable_io.api.models import Filters



class FiltersApi(BaseApi):

    def agents_filters(self):
        """Gets filtering, sorting, and pagination capabilities available for agent records.

        :raise TenableIOApiException:  When API error is encountered.
        :return: An instance of :class: `tenable_io.api.models.Filters`.
        """
        response = self._client.get('filters/scans/agents')

        return Filters.from_json(response.text)