U
    cG                     @   s   d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
 zddlmZ W n  ek
rd   ddlmZ Y nX ddlmZmZ G dd deZG d	d
 d
eZG dd deZdS )z#Helpers for working with PDF types.    )Path)IOAnyDictListOptionalTupleUnion)Protocol   )StrByteType
StreamTypec                   @   s   e Zd ZU eed< deeeeedf e	e df edddZ
eeed	d
dZed  dddZedddZeedeef ddddZdS )PdfObjectProtocolindirect_referenceF .N)pdf_destforce_duplicateignore_fieldsreturnc                 C   s   d S Nr   )selfr   r   r   r   r   4/tmp/pip-unpacked-wheel-u_n6aelj/pypdf/_protocols.pyclone   s    zPdfObjectProtocol.clone)r   r   r   c                 C   s   d S r   r   )r   r   r   r   r   r   _reference_clone   s    z"PdfObjectProtocol._reference_cloner   c                 C   s   d S r   r   r   r   r   r   
get_object   s    zPdfObjectProtocol.get_objectc                 C   s   d S r   r   r   r   r   r   
hash_value    s    zPdfObjectProtocol.hash_value)streamencryption_keyr   c                 C   s   d S r   r   )r   r   r   r   r   r   write_to_stream#   s    z!PdfObjectProtocol.write_to_stream)Fr   )__name__
__module____qualname__r   __annotations__boolr	   r   strr   r   r   r   r   bytesr   r   r    r   r   r   r   r      s    
   r   c                   @   s   e Zd ZeedddZeedddZeee	ee	e
f f dddZeee
 ddd	Zeeee
f dd
dZe
ee dddZdS )PdfReaderProtocolr   c                 C   s   d S r   r   r   r   r   r   
pdf_header*   s    zPdfReaderProtocol.pdf_headerc                 C   s   d S r   r   r   r   r   r   strict.   s    zPdfReaderProtocol.strictc                 C   s   d S r   r   r   r   r   r   xref2   s    zPdfReaderProtocol.xrefc                 C   s   d S r   r   r   r   r   r   pages6   s    zPdfReaderProtocol.pagesc                 C   s   d S r   r   r   r   r   r   trailer:   s    zPdfReaderProtocol.trailerr   r   c                 C   s   d S r   r   r   r   r   r   r   r   >   s    zPdfReaderProtocol.get_objectN)r!   r"   r#   propertyr&   r)   r%   r*   r   intr   r+   r   r,   r-   r   r   r   r   r   r   r   r(   )   s    r(   c                   @   s   e Zd ZU ee ed< eeeeef f ed< eee	 dddZ
eeef eeef dddZeee d	d
dZeed	ddZdS )PdfWriterProtocol_objectsZ_id_translatedr.   c                 C   s   d S r   r   r/   r   r   r   r   F   s    zPdfWriterProtocol.get_object)r   r   c                 C   s   d S r   r   )r   r   r   r   r   writeI   s    zPdfWriterProtocol.writer   c                 C   s   d S r   r   r   r   r   r   r,   L   s    zPdfWriterProtocol.pagesc                 C   s   d S r   r   r   r   r   r   r)   P   s    zPdfWriterProtocol.pdf_headerN)r!   r"   r#   r   r   r$   r   r1   r   r   r   r	   r   r   r   r%   r   r4   r0   r,   r'   r)   r   r   r   r   r2   B   s   
 r2   N)__doc__pathlibr   typingr   r   r   r   r   r   r	   r
   ImportErrorZtyping_extensions_utilsr   r   r   r(   r2   r   r   r   r   <module>   s   $