U
    cc                     @   sN   d dl Z d dlmZmZ e jr:d dl mZmZmZ edZG dd de	Z
dS )    N)ABCMetaabstractmethod)TypeVarOptionalUnionTc                   @   s,   e Zd ZdZeZedd Zedd ZdS )
Serializerz:Represents an abstract object used for Serialization tasksc                 C   s   dS )zSerializes an object into a string.

        :param obj: object to serialize
        :return: serialized object in string format
        :rtype: str
        N )selfobjr	   r	   E/tmp/pip-unpacked-wheel-urk6bcke/ask_sdk_model/services/serializer.py	serialize   s    	zSerializer.serializec                 C   s   dS )a  Deserializes the payload to object of provided obj_type.

        :param payload: String to deserialize
        :type payload: str
        :param obj_type: Target type of deserialization
        :type obj_type: object
        :return: Deserialized object
        :rtype: object
        Nr	   )r
   payloadZobj_typer	   r	   r   deserialize%   s    zSerializer.deserializeN)	__name__
__module____qualname____doc__r   __metaclass__r   r   r   r	   r	   r	   r   r      s   

r   )typingabcr   r   TYPE_CHECKINGr   r   r   r   objectr   r	   r	   r	   r   <module>   s
   