U
    g
                     @   s6   d dl mZ d dl mZ ddlmZ G dd dZdS )    )List)Optional   )Commandc                   @   s   e Zd ZddddZeedddZeee dddZeedd	d
Z	ee
e dddZeddddZddddZddddZddddZddddZddddZdS )FedCMN)returnc                 C   s
   || _ d S )N)_driver)selfZdriver r
   C/tmp/pip-unpacked-wheel-3ysq0mf8/selenium/webdriver/remote/fedcm.py__init__   s    zFedCM.__init__c                 C   s   | j tjd dS )zGets the title of the dialog.valuetitler   executer   ZGET_FEDCM_TITLEgetr	   r
   r
   r   r      s    zFedCM.titlec                 C   s   | j tjd dS )z Gets the subtitle of the dialog.r   subtitler   r   r
   r
   r   r   !   s    zFedCM.subtitlec                 C   s   | j tjdS )z2Gets the type of the dialog currently being shown.r   )r   r   r   ZGET_FEDCM_DIALOG_TYPEr   r   r
   r
   r   dialog_type&   s    zFedCM.dialog_typec                 C   s   | j tjdS )z.Gets the list of accounts shown in the dialog.r   )r   r   r   ZGET_FEDCM_ACCOUNT_LISTr   r   r
   r
   r   account_list+   s    zFedCM.account_list)indexr   c                 C   s   | j tjd|i dS )z,Selects an account from the dialog by index.ZaccountIndexN)r   r   r   ZSELECT_FEDCM_ACCOUNT)r	   r   r
   r
   r   select_account0   s    zFedCM.select_accountc                 C   s   | j tjddi dS )z)Clicks the continue button in the dialog.ZdialogButtonZConfirmIdpLoginContinueN)r   r   r   ZCLICK_FEDCM_DIALOG_BUTTONr   r
   r
   r   accept4   s    zFedCM.acceptc                 C   s   | j tj dS )z#Cancels/dismisses the FedCM dialog.N)r   r   r   ZCANCEL_FEDCM_DIALOGr   r
   r
   r   dismiss8   s    zFedCM.dismissc                 C   s   | j tjddi dS )z1Re-enables the promise rejection delay for FedCM.enabledTNr   r   r   ZSET_FEDCM_DELAYr   r
   r
   r   enable_delay<   s    zFedCM.enable_delayc                 C   s   | j tjddi dS )z/Disables the promise rejection delay for FedCM.r   FNr   r   r
   r
   r   disable_delay@   s    zFedCM.disable_delayc                 C   s   | j tj dS )z@Resets the FedCM dialog cooldown, allowing immediate retriggers.N)r   r   r   ZRESET_FEDCM_COOLDOWNr   r
   r
   r   reset_cooldownD   s    zFedCM.reset_cooldown)__name__
__module____qualname__r   propertystrr   r   r   r   r   dictr   intr   r   r   r   r   r   r
   r
   r
   r   r      s   r   N)typingr   r   commandr   r   r
   r
   r
   r   <module>   s   