declare const PRIVATE_POOL_NOTE_BYTES: { readonly PLAINTEXT_NO_MEMO: 80; readonly PLAINTEXT_WITH_MEMO: 112; readonly CIPHERTEXT_NO_MEMO: number; readonly CIPHERTEXT_WITH_MEMO: number; readonly EPHEMERAL_PK_LEN: 32; readonly COMMITMENT_LEN: 32; readonly NONCE_LEN: 12; readonly TAG_LEN: 16; }; type NoteLayout = 'legacy'; type DecryptedNote = { value: bigint; blinding: Uint8Array; ownerPk: Uint8Array; memo: Uint8Array | null; stealthNonce: null; layout: NoteLayout; }; declare function serializeNotePlaintext(note: DecryptedNote): Uint8Array; declare function parseNotePlaintext(plaintext: Uint8Array): DecryptedNote; type EncryptedNoteBlob = { ephemeralPk: Uint8Array; ciphertext: Uint8Array; commitment: Uint8Array; }; type EncryptArgs = { note: DecryptedNote; recipientViewingPk: Uint8Array; commitment: Uint8Array; ephemeralKeypairOverride?: { sk: Uint8Array; pk: Uint8Array; }; }; declare function encryptNote(args: EncryptArgs): EncryptedNoteBlob; declare function tryDecryptNote(args: { blob: EncryptedNoteBlob; viewingSk: Uint8Array; }): DecryptedNote | null; declare function decryptNote(args: { blob: EncryptedNoteBlob; viewingSk: Uint8Array; }): DecryptedNote; declare function generateX25519Keypair(): { sk: Uint8Array; pk: Uint8Array; }; declare function x25519PublicFromSecret(viewingSk: Uint8Array): Uint8Array; export { type DecryptedNote, type EncryptArgs, type EncryptedNoteBlob, type NoteLayout, PRIVATE_POOL_NOTE_BYTES, decryptNote, encryptNote, generateX25519Keypair, parseNotePlaintext, serializeNotePlaintext, tryDecryptNote, x25519PublicFromSecret };