import type { EncryptedMessage, PlaintextMessage } from '../types'; import type { AgentMessage } from './AgentMessage'; import { Key } from '../modules/dids'; import { Wallet } from '../wallet/Wallet'; import { AgentConfig } from './AgentConfig'; export interface EnvelopeKeys { recipientKeys: Key[]; routingKeys: Key[]; senderKey: Key | null; } export declare class EnvelopeService { private wallet; private logger; private config; constructor(wallet: Wallet, agentConfig: AgentConfig); packMessage(payload: AgentMessage, keys: EnvelopeKeys): Promise; unpackMessage(encryptedMessage: EncryptedMessage): Promise; } export interface DecryptedMessageContext { plaintextMessage: PlaintextMessage; senderKey?: Key; recipientKey?: Key; }