# coding: utf-8

"""
    Fingerprint Server API

    Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device.   # noqa: E501

    OpenAPI spec version: 3
    Contact: support@fingerprint.com
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import re  # noqa: F401
from typing import Dict, List, Optional  # noqa: F401
from fingerprint_pro_server_api_sdk.base_model import BaseModel
from fingerprint_pro_server_api_sdk.models.search_events_response_events import SearchEventsResponseEvents


class SearchEventsResponse(BaseModel):
    """
    Contains a list of all identification events matching the specified search criteria.

    NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'events': 'list[SearchEventsResponseEvents]',
        'pagination_key': 'str'
    }

    nullable_map = {
        'events': False,
        'pagination_key': False
    }

    attribute_map = {
        'events': 'events',
        'pagination_key': 'paginationKey'
    }

    def __init__(self, events=None, pagination_key=None):  # noqa: E501
        """SearchEventsResponse - a model defined in Swagger"""  # noqa: E501
        self._events = None
        self._pagination_key = None
        self.discriminator = None
        if events is not None:
            self.events = events
        if pagination_key is not None:
            self.pagination_key = pagination_key

    @property
    def events(self) -> Optional[List[SearchEventsResponseEvents]]:
        """Gets the events of this SearchEventsResponse.  # noqa: E501


        :return: The events of this SearchEventsResponse.  # noqa: E501
        """
        return self._events

    @events.setter
    def events(self, events: Optional[List[SearchEventsResponseEvents]]):
        """Sets the events of this SearchEventsResponse.


        :param events: The events of this SearchEventsResponse.  # noqa: E501
        """

        self._events = events

    @property
    def pagination_key(self) -> Optional[str]:
        """Gets the pagination_key of this SearchEventsResponse.  # noqa: E501

        Use this value in the `pagination_key` parameter to request the next page of search results.  # noqa: E501

        :return: The pagination_key of this SearchEventsResponse.  # noqa: E501
        """
        return self._pagination_key

    @pagination_key.setter
    def pagination_key(self, pagination_key: Optional[str]):
        """Sets the pagination_key of this SearchEventsResponse.

        Use this value in the `pagination_key` parameter to request the next page of search results.  # noqa: E501

        :param pagination_key: The pagination_key of this SearchEventsResponse.  # noqa: E501
        """

        self._pagination_key = pagination_key

