package contract import ( "io" "git.vakhrushev.me/av/transcriber/internal/entity" ) type AudioInfo struct { Seconds int // Длина аудиофайла в секундах } type AudioMetaViewer interface { GetInfo(src string) (*AudioInfo, error) } type AudioFileConverter interface { Convert(src, dest string) error } type AudioRecognizer interface { Recognize(file io.Reader, fileName string) (operationID string, err error) GetRecognitionText(operationID string) (string, error) CheckRecognitionStatus(operationID string) (*entity.RecognitionResult, error) } type TelegramMessageSender interface { Send(text string, chatId int64, replyToMessageId *int) error }