
    ZThj                    v    d dl mZ d dlmZmZ d dlmZmZmZ d dl	m
Z
 e
Z ede      Z G d deee         Zy	)
    )annotations)ABCabstractmethod)GenericTypeTypeVar)MessageT)boundc                  >    e Zd ZdZedd       Zeedd              Zy)
AsProtobufz
    Abstract base class used to create create sub-types that can be treated
    as an object that can be converted into an instance of `ProtobufMessage`.

    If there are multiple possible protobuf targets then `as_pb` may be overloaded.
    c                     y)zO
        Performs the conversion into a sub-type of `ProtobufMessage`.
        N )selfklasss     g/home/www/backend.miabetepe.com/venv/lib/python3.12/site-packages/sift_py/_internal/convert/protobuf.pyas_pbzAsProtobuf.as_pb   s    
 	    c                     y)zP
        Converts a protobuf object to the type of the sub-class class.
        Nr   )clsmessages     r   from_pbzAsProtobuf.from_pb   s     	r   N)r   zType[T]returnr
   )r   r
   r   r
   )__name__
__module____qualname____doc__r   r   classmethodr   r   r   r   r   r      s7         r   r   N)
__future__r   abcr   r   typingr   r   r   google.protobuf.messager	   ProtobufMessager
   r   r   r   r   <module>r$      s7    " # ) ) +C'gaj r   