o
    ٳi$                     @  sx   d dl mZ d dlZd dlmZmZ d dlmZmZ d dl	m
Z
mZmZ eeZeG dd dZG dd	 d	eZdS )
    )annotationsN)ABCabstractmethod)	dataclassfield)AnyDictListc                   @  sJ   e Zd ZU ded< eedZded< dZded< d	Zded
< dddZ	dS )	STTResultstr
transcript)default_factoryzList[Dict[str, Any]]speaker_segmentsg        floatduration providerreturnDict[str, Any]c                 C  s   | j | j| j| jdS )Nr   r   r   r   r   self r   ?/home/aiteam/pcaa-dev/call-proccessing/stt_pipeline/stt/base.pyto_dict   s
   zSTTResult.to_dictN)r   r   )
__name__
__module____qualname____annotations__r   listr   r   r   r   r   r   r   r   r
   	   s   
 r
   c                   @  s,   e Zd ZeedddZeddd	Zd
S )BaseSTTr   r   c                 C     d S Nr   r   r   r   r   provider_name   s   zBaseSTT.provider_name	audio_urlcallidr
   c                 C  r!   r"   r   )r   r$   r%   r   r   r   
transcribe   s   zBaseSTT.transcribeN)r   r   )r$   r   r%   r   r   r
   )r   r   r   propertyr   r#   r&   r   r   r   r   r       s    r    )
__future__r   loggingabcr   r   dataclassesr   r   typingr   r   r	   	getLoggerr   loggerr
   r    r   r   r   r   <module>   s    
