/**
 * Encrypted envelope implementation
 * Uses AES-GCM for payload encryption with ephemeral symmetric key
 * X25519 for key agreement (encrypting the symmetric key)
 * Ed25519 for envelope signing
 */
import type { EncryptedEnvelope, Ed25519KeyPair } from "./types.js";
/**
 * Encrypt data into an envelope
 * @param plaintext Data to encrypt
 * @param recipientPublicKey X25519 public key of recipient
 * @param signerKeyPair Ed25519 keypair for signing
 * @returns Encrypted envelope
 */
export declare function encryptEnvelope(plaintext: Uint8Array, recipientPublicKey: Uint8Array, signerKeyPair: Ed25519KeyPair): Promise<EncryptedEnvelope>;
/**
 * Decrypt an envelope
 * @param envelope Encrypted envelope
 * @param recipientPrivateKey X25519 private key of recipient
 * @param signerPublicKey Ed25519 public key to verify signature
 * @returns Decrypted plaintext
 */
export declare function decryptEnvelope(envelope: EncryptedEnvelope, recipientPrivateKey: Uint8Array, signerPublicKey: Uint8Array): Promise<Uint8Array>;
//# sourceMappingURL=envelope.d.ts.map