U
    
3gÎ  ã                   @   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 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é   )ÚStrByteTypec                   @   sf   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dS )ÚPdfObjectProtocolÚindirect_referenceF© .N)Úpdf_destÚforce_duplicateÚignore_fieldsÚreturnc                 C   s   d S ©Nr   )Úselfr   r   r   r   r   ú5/tmp/pip-unpacked-wheel-ifm06wwb/PyPDF2/_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_object)Fr   )Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__Úboolr	   r   Ústrr   r   r   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 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   Úxref*   s    zPdfReaderProtocol.xrefc                 C   s   d S r   r   r   r   r   r   Úpages.   s    zPdfReaderProtocol.pages©r   r   c                 C   s   d S r   r   ©r   r   r   r   r   r   2   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"   !   s    r"   c                   @   sf   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d	S )
ÚPdfWriterProtocolÚ_objectsZ_id_translatedr'   c                 C   s   d S r   r   r(   r   r   r   r   :   s    zPdfWriterProtocol.get_object)Ústreamr   c                 C   s   d S r   r   )r   r-   r   r   r   Úwrite=   s    zPdfWriterProtocol.writeN)r   r   r   r   r   r   r   r*   r   r   r   r	   r   r   r   r    r   r.   r   r   r   r   r+   6   s   
r+   N)Ú__doc__Úpathlibr   Útypingr   r   r   r   r   r   r	   r
   ÚImportErrorZtyping_extensionsÚ_utilsr   r   r"   r+   r   r   r   r   Ú<module>   s   $