/* Autogenerated file, do not edit manually */
package chat.delta.rpc.types;

public class Message {
  public Integer chatId;
  public Integer dimensionsHeight;
  public Integer dimensionsWidth;
  public DownloadState downloadState;
  public Integer duration;
  /** An error text, if there is one. */
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public String error;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public String file;
  /** The size of the file in bytes, if applicable. If message is a pre-message, then this is the size of the file to be downloaded. */
  public Integer fileBytes;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public String fileMime;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public String fileName;
  public Integer fromId;
  public Boolean hasDeviatingTimestamp;
  public Boolean hasHtml;
  /** Check if a message has a POI location bound to it. These locations are also returned by `get_locations` method. The UI may decide to display a special icon beside such messages. */
  public Boolean hasLocation;
  public Integer id;
  /** if is_info is set, this refers to the contact profile that should be opened when the info message is tapped. */
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public Integer infoContactId;
  /** True if the message was sent by a bot. */
  public Boolean isBot;
  public Boolean isEdited;
  public Boolean isForwarded;
  public Boolean isInfo;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public Integer originalMsgId;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public String overrideSenderName;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public Integer parentId;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public MessageQuote quote;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public Reactions reactions;
  public Integer receivedTimestamp;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public Integer savedMessageId;
  public Contact sender;
  /**
   * True if the message was correctly encrypted&signed, false otherwise. Historically, UIs showed a small padlock on the message then.
   * <p>
   * Today, the UIs should instead show a small email-icon on the message if `show_padlock` is `false`, and nothing if it is `true`.
   */
  public Boolean showPadlock;
  public Integer sortTimestamp;
  public Integer state;
  public String subject;
  /** when is_info is true this describes what type of system message it is */
  public SystemMessageType systemMessageType;
  public String text;
  public Integer timestamp;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public VcardContact vcardContact;
  public Viewtype viewType;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public String webxdcHref;
}