/* 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 "ui/layers/layer_widget.h" namespace Ui { class RpWidget; class SeparatePanel; class BoxContent; } // namespace Ui namespace Passport { class PanelController; class Panel { public: Panel(not_null controller); int hideAndDestroyGetDuration(); void showAskPassword(); void showNoPassword(); void showForm(); void showCriticalError(const QString &error); void showEditValue(object_ptr form); void showBox( object_ptr box, Ui::LayerOptions options, anim::type animated); void showToast(const QString &text); rpl::producer<> backRequests() const; void setBackAllowed(bool allowed); not_null widget() const; ~Panel(); private: not_null _controller; std::unique_ptr _widget; }; } // namespace Passport