export type ExternalKeyStoreConfig = { endpoint: string; tlsCertPath?: string; apiKey?: string; timeout: number; }; export type ExternalKeyInfo = { keyId: string; location: string; lastAccessedAt: Date; accessCount: number; }; /** * External key store integration (on-premises HSM support) * Phase 3: Integration with external HSM infrastructure */ export declare class ExternalKeyStoreProvider { private readonly config; private readonly keyCache; constructor(config: ExternalKeyStoreConfig); /** * Validate configuration */ private validateConfig; /** * Connect to external key store */ connect(): Promise; /** * Check connectivity */ healthCheck(): Promise; /** * Retrieve key from external store */ getExternalKey(keyId: string): Promise; /** * Store key in external store */ storeExternalKey(keyId: string, _keyMaterial: Uint8Array): Promise; /** * Delete key from external store */ deleteExternalKey(keyId: string): Promise; /** * List keys in external store */ listExternalKeys(): Promise; /** * Perform encryption in external store */ encryptWithExternalKey(keyId: string, _plaintext: Uint8Array): Promise; /** * Perform decryption in external store */ decryptWithExternalKey(keyId: string, _ciphertext: Uint8Array): Promise; /** * Perform signing in external store */ signWithExternalKey(keyId: string, _payload: Uint8Array): Promise; /** * Record key access for audit */ private recordAccess; /** * Get key access statistics */ getKeyStats(keyId: string): ExternalKeyInfo | undefined; /** * Get all access statistics */ getAllStats(): ExternalKeyInfo[]; /** * Verify BYOK (Bring Your Own Key) compliance */ verifyBYOKCompliance(keyId: string): { isCompliant: boolean; reason: string; }; /** * Disconnect from external key store */ disconnect(): Promise; } //# sourceMappingURL=external-kms.d.ts.map