package dev.inmo.tgbotapi.abstracts import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded import dev.inmo.tgbotapi.types.payments.abstracts.Currencied import dev.inmo.tgbotapi.types.payments.abstracts.Priced @ClassCastsIncluded interface CommonSendInvoiceData : Titled, Currencied, Priced { val description: String val payload: String val providerToken: String val maxTipAmount: Int? val suggestedTipAmounts: List? val providerData: String? val requireName: Boolean val requirePhoneNumber: Boolean val requireEmail: Boolean val requireShippingAddress: Boolean val shouldSendPhoneNumberToProvider: Boolean val shouldSendEmailToProvider: Boolean val priceDependOnShipAddress: Boolean val photoUrl: String? val photoSize: Long? val photoWidth: Int? val photoHeight: Int? fun setPhoto( photoUrl: String, photoSize: Long? = null, photoWidth: Int? = null, photoHeight: Int? = null ) fun unsetPhoto() }