]> zoso.dev Git - libnemo.git/commitdiff
Get type definitions from original source.
authorChris Duncan <chris@zoso.dev>
Sat, 23 Nov 2024 09:02:06 +0000 (01:02 -0800)
committerChris Duncan <chris@zoso.dev>
Sat, 23 Nov 2024 09:02:06 +0000 (01:02 -0800)
src/lib/workers/nano25519.d.ts [new file with mode: 0644]

diff --git a/src/lib/workers/nano25519.d.ts b/src/lib/workers/nano25519.d.ts
new file mode 100644 (file)
index 0000000..78c4f78
--- /dev/null
@@ -0,0 +1,98 @@
+// Type definitions for TweetNaCl.js
+
+export as namespace nacl;
+
+declare var nacl: nacl;
+export = nacl;
+
+declare namespace nacl {
+    export interface BoxKeyPair {
+        publicKey: Uint8Array;
+        secretKey: Uint8Array;
+    }
+
+    export interface SignKeyPair {
+        publicKey: Uint8Array;
+        secretKey: Uint8Array;
+    }
+
+    export interface secretbox {
+        (msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
+        open(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null;
+        readonly keyLength: number;
+        readonly nonceLength: number;
+        readonly overheadLength: number;
+    }
+
+    export interface scalarMult {
+        (n: Uint8Array, p: Uint8Array): Uint8Array;
+        base(n: Uint8Array): Uint8Array;
+        readonly scalarLength: number;
+        readonly groupElementLength: number;
+    }
+
+    namespace boxProps {
+        export interface open {
+            (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array | null;
+            after(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null;
+        }
+
+        export interface keyPair {
+            (): BoxKeyPair;
+            fromSecretKey(secretKey: Uint8Array): BoxKeyPair;
+        }
+    }
+
+    export interface box {
+        (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array;
+        before(publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array;
+        after(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
+        open: boxProps.open;
+        keyPair: boxProps.keyPair;
+        readonly publicKeyLength: number;
+        readonly secretKeyLength: number;
+        readonly sharedKeyLength: number;
+        readonly nonceLength: number;
+        readonly overheadLength: number;
+    }
+
+    namespace signProps {
+        export interface detached {
+            (msg: Uint8Array, secretKey: Uint8Array): Uint8Array;
+            verify(msg: Uint8Array, sig: Uint8Array, publicKey: Uint8Array): boolean;
+        }
+
+        export interface keyPair {
+            (): SignKeyPair;
+            fromSecretKey(secretKey: Uint8Array): SignKeyPair;
+            fromSeed(secretKey: Uint8Array): SignKeyPair;
+        }
+    }
+
+    export interface sign {
+        (msg: Uint8Array, secretKey: Uint8Array): Uint8Array;
+        open(signedMsg: Uint8Array, publicKey: Uint8Array): Uint8Array | null;
+        detached: signProps.detached;
+        keyPair: signProps.keyPair;
+        readonly publicKeyLength: number;
+        readonly secretKeyLength: number;
+        readonly seedLength: number;
+        readonly signatureLength: number;
+    }
+
+    export interface hash {
+        (msg: Uint8Array): Uint8Array;
+        readonly hashLength: number;
+    }
+}
+
+declare interface nacl {
+    randomBytes(n: number): Uint8Array;
+    secretbox: nacl.secretbox;
+    scalarMult: nacl.scalarMult;
+    box: nacl.box;
+    sign: nacl.sign;
+    hash: nacl.hash;
+    verify(x: Uint8Array, y: Uint8Array): boolean;
+    setPRNG(fn: (x: Uint8Array, n: number) => void): void;
+}