+ long sendGroupRemoteDeleteMessage(
+ long targetSentTimestamp, byte[] groupId
+ ) throws Error.Failure, Error.GroupNotFound, Error.InvalidGroupId;
+
+ long sendMessageReaction(
+ String emoji, boolean remove, String targetAuthor, long targetSentTimestamp, String recipient
+ ) throws Error.InvalidNumber, Error.Failure;
+
+ long sendMessageReaction(
+ String emoji, boolean remove, String targetAuthor, long targetSentTimestamp, List<String> recipients
+ ) throws Error.InvalidNumber, Error.Failure;
+
+ void sendContacts() throws Error.Failure;
+
+ void sendSyncRequest() throws Error.Failure;
+
+ long sendNoteToSelfMessage(
+ String message, List<String> attachments
+ ) throws Error.AttachmentInvalid, Error.Failure;
+
+ void sendEndSessionMessage(List<String> recipients) throws Error.Failure, Error.InvalidNumber, Error.UntrustedIdentity;
+
+ long sendGroupMessage(
+ String message, List<String> attachments, byte[] groupId
+ ) throws Error.GroupNotFound, Error.Failure, Error.AttachmentInvalid, Error.InvalidGroupId;
+
+ long sendGroupMessageReaction(
+ String emoji, boolean remove, String targetAuthor, long targetSentTimestamp, byte[] groupId
+ ) throws Error.GroupNotFound, Error.Failure, Error.InvalidNumber, Error.InvalidGroupId;
+
+ String getContactName(String number) throws Error.InvalidNumber;
+
+ void setContactName(String number, String name) throws Error.InvalidNumber;
+
+ void setExpirationTimer(final String number, final int expiration) throws Error.Failure;
+
+ void setContactBlocked(String number, boolean blocked) throws Error.InvalidNumber;
+
+ void setGroupBlocked(byte[] groupId, boolean blocked) throws Error.GroupNotFound, Error.InvalidGroupId;