/** * Interface for recipient public key provider. * Implementations can fetch keys from node registry, discovery protocol, etc. */ export interface IPublicKeyProvider { getPublicKey(nodeId: string): Promise; } /** * Manager for recipient public key operations. * * @remarks * Fetches and validates recipient public keys for message encryption. * Handles missing keys gracefully. * * @see Requirements 3.1 */ export declare class RecipientKeyManager { private keyProvider; constructor(keyProvider: IPublicKeyProvider); /** * Fetch public keys for multiple recipients. * @param recipientIds - Array of recipient node IDs * @returns Map of recipient ID to public key * @throws MessageError if any required key is missing */ fetchPublicKeys(recipientIds: string[]): Promise>; /** * Validate public key format and length. * @param publicKey - Public key to validate * @returns True if valid secp256k1 public key */ validatePublicKey(publicKey: Uint8Array): boolean; /** * Fetch public key for single recipient with graceful handling. * @param recipientId - Recipient node ID * @returns Public key or null if not found */ fetchPublicKeyOptional(recipientId: string): Promise; } //# sourceMappingURL=recipientKeyManager.d.ts.map