/* 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 "base/object_ptr.h" #include "ui/layers/generic_box.h" class PeerData; namespace style { struct ChooseSendAs; } // namespace style namespace Data { class GroupCall; } // namespace Data namespace ChatHelpers { class Show; } // namespace ChatHelpers namespace Main { struct SendAsPeer; } // namespace Main namespace Window { class SessionController; } // namespace Window namespace Ui { class SendAsButton; void ChooseSendAsBox( not_null box, const style::ChooseSendAs &st, std::vector list, not_null chosen, Fn)> done); void SetupSendAsButton( not_null button, const style::ChooseSendAs &st, rpl::producer active, std::shared_ptr show); void SetupSendAsButton( not_null button, const style::ChooseSendAs &st, std::shared_ptr videoStream, std::shared_ptr show); void SetupSendAsButton( not_null button, const style::ChooseSendAs &st, not_null window); } // namespace Ui