/* 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 class HistoryItem; namespace Main { class SessionShow; } // namespace Main namespace Window { class SessionController; } // namespace Window namespace Payments { enum class CheckoutResult; struct CreditsFormData; struct CreditsReceiptData; struct NonPanelPaymentForm; [[nodiscard]] bool IsCreditsInvoice(not_null item); void ProcessCreditsPayment( std::shared_ptr show, QPointer fireworks, std::shared_ptr form, Fn maybeReturnToBot = nullptr); void ProcessCreditsReceipt( not_null controller, std::shared_ptr receipt, Fn maybeReturnToBot = nullptr); Fn ProcessNonPanelPaymentFormFactory( not_null controller, Fn maybeReturnToBot = nullptr); Fn ProcessNonPanelPaymentFormFactory( not_null controller, not_null item); } // namespace Payments