
    ci                    p   U d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZmZ eez  ez  Z ed      Z edd      Z ed	      Ze	rd d
lZd d
lZd d
lZd d
lZd d
lZ G d de      Z  G d de      Z! G d de      Z"e!Z#de$d<   e"Z%de$d<   dZ&de$d<   dZ'de$d<   dZ(de$d<   dZ)de$d<   g dZ*y
)    )annotations)Counter)	AwaitableCallableIterable)
TYPE_CHECKINGAnyClassVarLiteral
NamedTuple	ParamSpecProtocol	TypeAliasTypeVarcastRR_coT)	covariantPNc                      e Zd Z	 	 	 d
	 	 	 	 	 	 	 	 	 	 	 ddZdddZddZ	 d	 	 	 	 	 	 	 ddZ	 d	 	 	 	 	 	 	 ddZdddZ	 	 	 d
	 	 	 	 	 	 	 	 	 	 	 ddZ		 d	 	 	 	 	 	 	 dd	Z
y)MemcachedClientPNc                     y N selfkeyvalueexpirenoreplyflagss         Q/var/www/html/spbu.com/backend/venv/lib/python3.12/site-packages/limits/typing.pyaddzMemcachedClientP.add"            c                     y r   r   )r   r   defaults      r"   getzMemcachedClientP.get+   s    #r%   c                     y r   r   )r   keyss     r"   get_manyzMemcachedClientP.get_many-   s    sr%   c                     y r   r   r   r   r   r    s       r"   incrzMemcachedClientP.incr/   s    r%   c                     y r   r   r-   s       r"   decrzMemcachedClientP.decr3   s    
 r%   c                     y r   r   )r   r   r    s      r"   deletezMemcachedClientP.delete:       Cr%   c                     y r   r   r   s         r"   setzMemcachedClientP.set<   r$   r%   c                     y r   r   )r   r   r   r    s       r"   touchzMemcachedClientP.touchE   s    r%   )r   NN)r   strr   Serializabler   
int | Noner    bool | Noner!   r:   returnboolr   )r   r8   r'   z
str | Noner<   bytes)r*   zIterable[str]r<   zdict[str, Any])F)r   r8   r   intr    r;   r<   r:   )r   r8   r    r;   r<   r;   )r   r8   r   r9   r   r?   r    r;   r!   r:   r<   r=   )r   N)r   r8   r   r:   r    r;   r<   r=   )__name__
__module____qualname__r#   r(   r+   r.   r0   r2   r5   r7   r   r%   r"   r   r   !   s,   
 #   	
   
 FB <A"-8	  %	  	
 
 P #   	
   
 HL *9D	r%   r   c                  D    e Zd Zd	dZd
dZddZddZddZddZddZ	y)RedisClientPc                     y r   r   r   r   amounts      r"   incrbyzRedisClientP.incrbyK   s    Cr%   c                     y r   r   r   r   s     r"   r(   zRedisClientP.getL   s    Sr%   c                     y r   r   rJ   s     r"   r2   zRedisClientP.deleteM   s    sr%   c                     y r   r   rJ   s     r"   ttlzRedisClientP.ttlN   s    Cr%   c                     y r   r   r   r   secondss      r"   r   zRedisClientP.expireO   s    cr%   c                     y r   r   r   s    r"   pingzRedisClientP.pingP   s    Cr%   c                     y r   r   r   scripts     r"   register_scriptzRedisClientP.register_scriptQ   r3   r%   Nr   r8   rG   r?   r<   r?   r   r8   r<   zbytes | Noner   r8   r<   r?   r   r8   rP   r?   r<   r=   r<   r=   rV   r>   r<   zredis.commands.core.Script
r@   rA   rB   rH   r(   r2   rM   r   rS   rW   r   r%   r"   rD   rD   J   s    70*'9Or%   rD   c                  D    e Zd Zd	dZd
dZddZddZddZddZddZ	y)AsyncRedisClientPc                   K   y wr   r   rF   s      r"   rH   zAsyncRedisClientP.incrbyU   s     #   c                   K   y wr   r   rJ   s     r"   r(   zAsyncRedisClientP.getV   s     3rb   c                   K   y wr   r   rJ   s     r"   r2   zAsyncRedisClientP.deleteW   s     Srb   c                   K   y wr   r   rJ   s     r"   rM   zAsyncRedisClientP.ttlX   s     #rb   c                   K   y wr   r   rO   s      r"   r   zAsyncRedisClientP.expireY   s     Crb   c                   K   y wr   r   rR   s    r"   rS   zAsyncRedisClientP.pingZ   s     #rb   c                     y r   r   rU   s     r"   rW   z!AsyncRedisClientP.register_script[   r3   r%   NrX   rY   rZ   r[   r\   r]   r^   r   r%   r"   r`   r`   T   s    =60-?%Or%   r`   r   RedisClientAsyncRedisClientz2coredis.Redis[bytes] | coredis.RedisCluster[bytes]AsyncCoRedisClientz0pymongo.mongo_client.MongoClient[dict[str, Any]]MongoClientz)pymongo.database.Database[dict[str, Any]]MongoDatabasez-pymongo.collection.Collection[dict[str, Any]]MongoCollection)r   r	   rj   r   r   r
   r   r   r   r   rl   rn   rm   r   r   r   r   r   r   ri   r9   r   r   r   )+
__future__r   collectionsr   collections.abcr   r   r   typingr   r	   r
   r   r   r   r   r   r   r   r?   r8   floatr9   r   r   r   coredispymongo.collectionpymongopymongo.databasepymongo.mongo_clientredisr   rD   r`   ri   __annotations__rj   rk   rl   rm   rn   __all__r   r%   r"   <module>r|      s    "  9 9   Sy5 CLv&cN &x &RP8 PP P &Y %/ ) / T I TKY KFy FL Lr%   