/* This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once #include "mtproto/sender.h" class ApiWrap; namespace Main { class Session; } // namespace Main namespace Api { class Transcribes final { public: explicit Transcribes(not_null api); struct Entry { QString result; bool shown = false; bool failed = false; bool pending = false; mtpRequestId requestId = 0; }; void toggle(not_null item); [[nodiscard]] const Entry &entry(not_null item) const; void apply(const MTPDupdateTranscribeAudio &update); private: void load(not_null item); const not_null _session; MTP::Sender _api; base::flat_map _map; base::flat_map _ids; }; } // namespace Api