import { KeyVerifier, KeyFingerprint, KeyMetadata } from "./interface.js"; /** * In-memory implementation of KeyVerifier that stores and verifies key fingerprints. * Provides functionality to compute and verify cryptographic checksums of keys, storing them * in memory for subsequent verification. This implementation is primarily used for testing * and development purposes where persistence is not required. * * Key features: * - Computes SHA-256 checksums and sizes for key bytes. * - Stores key fingerprints in memory using string locators. * - Verifies key bytes against stored or provided fingerprints. * * @implements {KeyVerifier} */ export declare class MemKeyVerifier implements KeyVerifier { private keyStore; /** * Computes and optionally stores key metadata. If a keyFingerprint is provided, this function will verify the computed checksum against it before storing it. * * @param {KeyMetadata} keyMetadata - Object containing key bytes and optional verification data. * @throws {KeyVerificationError} When provided keyFingerprint doesn't match computed values. * @returns {Promise} Computed key metadata. */ computeKeyMetadata(keyMetadata: KeyMetadata): Promise; /** * Verifies key bytes against stored or provided metadata. Follows a priority verification scheme: * 1. If KeyFingerprint is provided in the metadata, this method verifies against that first. * 2. If a locator is provided, attempts to verify against stored fingerprint. * 3. If neither is available, throws an error. * * @param {KeyMetadata} keyMetadata - Object containing the key bytes and optional verification metadata. * @throws {Error} When neither fingerprint nor valid locator is provided for verification. * @throws {KeyVerificationError} When size or checksum verification fails. * @returns {Promise} Promise that resolves when verification succeeds. */ verifyKeyBytes(keyMetadata: KeyMetadata): Promise; }