o
    FhX                     @  s   d dl mZ d dlmZmZ d dlmZ erJd dlmZm	Z	m
Z
 d dlmZ d dlmZ 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 G dd deddZG dd deddZG dd deddZG dd deddZG dd deeeddZdS )    )annotations)TYPE_CHECKING	TypedDict)NotRequired)Bot
DispatcherRouter)HandlerObject)EventContext)
FSMContext)BaseStorage)ChatUpdateUser)I18nI18nMiddlewarec                   @  sL   e Zd ZU dZded< 	 ded< 	 ded< 	 ded	< 	 d
ed< 	 ded< dS )DispatcherDataz*
    Dispatcher and bot related data.
    r   
dispatcherr   botzNotRequired[list[Bot]]botsr   event_updater   event_routerzNotRequired[HandlerObject]handlerN__name__
__module____qualname____doc____annotations__ r   r   V/var/www/html/venv/lib/python3.10/site-packages/aiogram/dispatcher/middlewares/data.pyr      s   
 r   F)totalc                   @  sB   e Zd ZU dZded< 	 ded< 	 ded< 	 ded	< 	 d
ed< dS )UserContextDataz9
    Event context related data about user and chat.
    r
   event_contextzNotRequired[User]event_from_userzNotRequired[Chat]
event_chatzNotRequired[int]event_thread_idzNotRequired[str]event_business_connection_idNr   r   r   r   r    r"   %   s   
 r"   c                   @  s.   e Zd ZU dZded< 	 ded< 	 ded< dS )	FSMDataz
    FSM related data.
    r   fsm_storagezNotRequired[FSMContext]statezNotRequired[str | None]	raw_stateNr   r   r   r   r    r(   <   s   
 r(   c                   @  s$   e Zd ZU dZded< 	 ded< dS )I18nDatazw
    I18n related data.

    Is not included by default, you need to add it to your own Data class if you need it.
    r   i18nr   i18n_middlewareNr   r   r   r   r    r,   I   s   
 r,   c                   @  s   e Zd ZdZdS )MiddlewareDatazp
    Data passed to the handler by the middlewares.

    You can add your own data by extending this class.
    N)r   r   r   r   r   r   r   r    r/   V   s    r/   N)
__future__r   typingr   r   typing_extensionsr   aiogramr   r   r    aiogram.dispatcher.event.handlerr	   +aiogram.dispatcher.middlewares.user_contextr
   aiogram.fsm.contextr   aiogram.fsm.storage.baser   aiogram.typesr   r   r   aiogram.utils.i18nr   r   r   r"   r(   r,   r/   r   r   r   r    <module>   s*    

