From 3ca58e38ddb558b4d8de45483d24b11952f416a2 Mon Sep 17 00:00:00 2001
From: "Richard T. Carback III" <rick.carback@gmail.com>
Date: Sun, 10 Mar 2024 12:58:19 -0400
Subject: [PATCH] Fully define all the functions for DMClient

---
 src/types.ts | 43 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 7 deletions(-)

diff --git a/src/types.ts b/src/types.ts
index bca0311..5cd430e 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -115,13 +115,42 @@ export type CMix = {
 }
 
 export type DMClient = {
-  SendText: (pubkey: Uint8Array, dmToken: number, message: string, leaseTimeMs: number, cmixParams: Uint8Array) => Promise<void>;
-  SendReply: (pubkey: Uint8Array, dmToken: number, message: string, replyToId: Uint8Array, leaseTimeMs: number, cmixParams: Uint8Array) => Promise<void>;
-  SendReaction: (pubkey: Uint8Array, dmToken: number, message: string, reactToId: Uint8Array, cmixParams: Uint8Array) => Promise<void>;
-  GetIdentity: () => Uint8Array;
-  SetNickname: (nickname: string) => void;
-  GetNickname: () => string;
-  GetDatabaseName: () => string;
+       GetPublicKey: () => Uint8Array;
+       GetToken: () => number;
+       GetIdentity: () => Uint8Array;
+       ExportPrivateIdentity: (password: string) => Uint8Array;
+       GetNickname: () => string;
+       SetNickname: (nickname: string) => void;
+       BlockPartner: (partnerPubKey: Uint8Array) => void;
+       UnblockPartner: (partnerPubKey: Uint8Array) => void;
+       IsBlocked: (partnerPubKey: Uint8Array) => boolean;
+       GetBlockedPartners: () => Uint8Array;
+       GetDatabaseName: () => string;
+       GetShareURL: (host: string) => Promise<Uint8Array>;
+
+       // DM Sending Methods and Reports
+       SendText: (pubkey: Uint8Array, dmToken: number,
+                  message: string, leaseTimeMs: number,
+                  cmixParams: Uint8Array) => Promise<Uint8Array>;
+       SendReply: (pubkey: Uint8Array, dmToken: number,
+                   message: string, replyToId: Uint8Array,
+                   leaseTimeMs: number,
+                   cmixParams: Uint8Array) => Promise<Uint8Array>;
+       SendReaction: (pubkey: Uint8Array, dmToken: number,
+                      message: string, reactToId: Uint8Array,
+                      cmixParams: Uint8Array) => Promise<Uint8Array>;
+       SendSilent: (pubkey: Uint8Array, dmToken: number,
+                    cmixParams: Uint8Array) => Promise<Uint8Array>;
+       SendInvite: (pubkey: Uint8Array, dmToken: number,
+                    inviteToChannelJson Uint8Array, message: string,
+                    host: string,
+                    cmixParamsJSON: Uint8Array) => Promise<Uint8Array>;
+       DeleteMessage: (partnerPubKeyBytes: Uint8Array, partnerToken: number,
+                       targetMessageIdBytes: Uint8Array,
+                       cmixParamsJSON Uint8Array) => Promise<Uint8Array>;
+       Send: (partnerPubKeyBytes: Uint8Array, partnerToken: number,
+              messageType: number, plaintext Uint8Array, leaseTimeMS: number,
+	      cmixParamsJSON: Uint8Array) => Promise<Uint8Array>;
 }
 
 export type DummyTraffic = {
-- 
GitLab