[6a3a178] | 1 | // Type definitions for TweetNaCl.js
|
---|
| 2 |
|
---|
| 3 | export as namespace nacl;
|
---|
| 4 |
|
---|
| 5 | declare var nacl: nacl;
|
---|
| 6 | export = nacl;
|
---|
| 7 |
|
---|
| 8 | declare namespace nacl {
|
---|
| 9 | export interface BoxKeyPair {
|
---|
| 10 | publicKey: Uint8Array;
|
---|
| 11 | secretKey: Uint8Array;
|
---|
| 12 | }
|
---|
| 13 |
|
---|
| 14 | export interface SignKeyPair {
|
---|
| 15 | publicKey: Uint8Array;
|
---|
| 16 | secretKey: Uint8Array;
|
---|
| 17 | }
|
---|
| 18 |
|
---|
| 19 | export interface secretbox {
|
---|
| 20 | (msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
|
---|
| 21 | open(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | false;
|
---|
| 22 | readonly keyLength: number;
|
---|
| 23 | readonly nonceLength: number;
|
---|
| 24 | readonly overheadLength: number;
|
---|
| 25 | }
|
---|
| 26 |
|
---|
| 27 | export interface scalarMult {
|
---|
| 28 | (n: Uint8Array, p: Uint8Array): Uint8Array;
|
---|
| 29 | base(n: Uint8Array): Uint8Array;
|
---|
| 30 | readonly scalarLength: number;
|
---|
| 31 | readonly groupElementLength: number;
|
---|
| 32 | }
|
---|
| 33 |
|
---|
| 34 | namespace box {
|
---|
| 35 | export interface open {
|
---|
| 36 | (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array | false;
|
---|
| 37 | after(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | false;
|
---|
| 38 | }
|
---|
| 39 |
|
---|
| 40 | export interface keyPair {
|
---|
| 41 | (): BoxKeyPair;
|
---|
| 42 | fromSecretKey(secretKey: Uint8Array): BoxKeyPair;
|
---|
| 43 | }
|
---|
| 44 | }
|
---|
| 45 |
|
---|
| 46 | export interface box {
|
---|
| 47 | (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
---|
| 48 | before(publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
---|
| 49 | after(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
|
---|
| 50 | open: box.open;
|
---|
| 51 | keyPair: box.keyPair;
|
---|
| 52 | readonly publicKeyLength: number;
|
---|
| 53 | readonly secretKeyLength: number;
|
---|
| 54 | readonly sharedKeyLength: number;
|
---|
| 55 | readonly nonceLength: number;
|
---|
| 56 | readonly overheadLength: number;
|
---|
| 57 | }
|
---|
| 58 |
|
---|
| 59 | namespace sign {
|
---|
| 60 | export interface detached {
|
---|
| 61 | (msg: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
---|
| 62 | verify(msg: Uint8Array, sig: Uint8Array, publicKey: Uint8Array): boolean;
|
---|
| 63 | }
|
---|
| 64 |
|
---|
| 65 | export interface keyPair {
|
---|
| 66 | (): SignKeyPair;
|
---|
| 67 | fromSecretKey(secretKey: Uint8Array): SignKeyPair;
|
---|
| 68 | fromSeed(secretKey: Uint8Array): SignKeyPair;
|
---|
| 69 | }
|
---|
| 70 | }
|
---|
| 71 |
|
---|
| 72 | export interface sign {
|
---|
| 73 | (msg: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
---|
| 74 | open(signedMsg: Uint8Array, publicKey: Uint8Array): Uint8Array | null;
|
---|
| 75 | detached: sign.detached;
|
---|
| 76 | keyPair: sign.keyPair;
|
---|
| 77 | readonly publicKeyLength: number;
|
---|
| 78 | readonly secretKeyLength: number;
|
---|
| 79 | readonly seedLength: number;
|
---|
| 80 | readonly signatureLength: number;
|
---|
| 81 | }
|
---|
| 82 |
|
---|
| 83 | export interface hash {
|
---|
| 84 | (msg: Uint8Array): Uint8Array;
|
---|
| 85 | readonly hashLength: number;
|
---|
| 86 | }
|
---|
| 87 | }
|
---|
| 88 |
|
---|
| 89 | declare interface nacl {
|
---|
| 90 | randomBytes(n: number): Uint8Array;
|
---|
| 91 | secretbox: nacl.secretbox;
|
---|
| 92 | scalarMult: nacl.scalarMult;
|
---|
| 93 | box: nacl.box;
|
---|
| 94 | sign: nacl.sign;
|
---|
| 95 | hash: nacl.hash;
|
---|
| 96 | verify(x: Uint8Array, y: Uint8Array): boolean;
|
---|
| 97 | setPRNG(fn: (x: Uint8Array, n: number) => void): void;
|
---|
| 98 | }
|
---|