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

public class Contact {
  public String address;
  public String authName;
  public String color;
  public String displayName;
  /**
   * Is encryption available for this contact.
   * <p>
   * This can only be true for key-contacts. However, it is possible to have a key-contact for which encryption is not available because we don't have a key yet, e.g. if we just scanned the fingerprint from a QR code.
   */
  public Boolean e2eeAvail;
  public Integer id;
  public Boolean isBlocked;
  /* If the contact is a bot. */
  public Boolean isBot;
  /* Is the contact a key contact. */
  public Boolean isKeyContact;
  /**
   * True if the contact can be added to protected chats because SELF and contact have verified their fingerprints in both directions.
   * <p>
   * See [`Self::verifier_id`]/`Contact.verifierId` for a guidance how to display these information.
   */
  public Boolean isVerified;
  /* the contact's last seen timestamp */
  public Integer lastSeen;
  public String name;
  public String nameAndAddr;
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public String profileImage;
  public String status;
  /**
   * The contact ID that verified a contact.
   * <p>
   * As verifier may be unknown, use [`Self::is_verified`]/`Contact.isVerified` to check if a contact can be added to a protected chat.
   * <p>
   * UI should display the information in the contact's profile as follows:
   * <p>
   * - If `verifierId` != 0, display text "Introduced by ..." with the name and address of the contact formatted by `name_and_addr`/`nameAndAddr`. Prefix the text by a green checkmark.
   * <p>
   * - If `verifierId` == 0 and `isVerified` != 0, display "Introduced" prefixed by a green checkmark.
   * <p>
   * - if `verifierId` == 0 and `isVerified` == 0, display nothing
   * <p>
   * This contains the contact ID of the verifier. If it is `DC_CONTACT_ID_SELF`, we verified the contact ourself. If it is None/Null, we don't have verifier information or the contact is not verified.
   */
  @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SET)
  public Integer verifierId;
  public Boolean wasSeenRecently;
}