+ void sendTyping(
+ String recipient, boolean stop
+ ) throws Error.Failure, Error.GroupNotFound, Error.UntrustedIdentity;
+
+ void sendReadReceipt(
+ String recipient, List<Long> messageIds
+ ) throws Error.Failure, Error.UntrustedIdentity;
+
+ long sendRemoteDeleteMessage(
+ long targetSentTimestamp, String recipient
+ ) throws Error.Failure, Error.InvalidNumber;
+
+ long sendRemoteDeleteMessage(
+ long targetSentTimestamp, List<String> recipients
+ ) throws Error.Failure, Error.InvalidNumber;
+
+ 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;
+