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

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonSubTypes.Type;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;

@JsonTypeInfo(use=Id.NAME, include=As.PROPERTY, property="kind")
@JsonSubTypes({@Type(value = MessageQuote.JustText.class, name="JustText"), @Type(value = MessageQuote.WithMessage.class, name="WithMessage")})
public abstract class MessageQuote {

  public static class JustText extends MessageQuote {
    public String text;
  }

  public static class WithMessage extends MessageQuote {
    public String authorDisplayColor;
    public String authorDisplayName;
    /** The quoted message does not always belong to the same chat, e.g. when "Reply Privately" is used. */
    public Integer chatId;
    @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
    public String image;
    public Boolean isForwarded;
    public Integer messageId;
    @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
    public String overrideSenderName;
    public String text;
    public Viewtype viewType;
  }

}