import type { CryptoOperations, HealthMonitoring, KeyManagement, RequestContext, SignatureOperations } from '../interfaces/core.js'; import type { DecryptionRequest, EncryptionRequest, EncryptionResult, HealthCheck, KeyMetadata, SignatureRequest, SignatureResult, VerificationRequest } from '../types.js'; /** * Base decorator for CryptoOperations * Provides template for adding cross-cutting concerns (logging, metrics, policy, etc.) */ export declare abstract class CryptoOperationsDecorator implements CryptoOperations { protected readonly wrapped: CryptoOperations; constructor(wrapped: CryptoOperations); encrypt(request: EncryptionRequest & RequestContext): Promise; decrypt(request: DecryptionRequest & RequestContext): Promise; } /** * Base decorator for SignatureOperations * Provides template for adding cross-cutting concerns */ export declare abstract class SignatureOperationsDecorator implements SignatureOperations { protected readonly wrapped: SignatureOperations; constructor(wrapped: SignatureOperations); sign(request: SignatureRequest & RequestContext): Promise; verify(request: VerificationRequest & RequestContext): Promise; } /** * Base decorator for KeyManagement * Provides template for adding cross-cutting concerns */ export declare abstract class KeyManagementDecorator implements KeyManagement { protected readonly wrapped: KeyManagement; constructor(wrapped: KeyManagement); generateKey(): Promise; rotateKey(keyId: string): Promise; getKeyMetadata(keyId: string): Promise; } /** * Base decorator for HealthMonitoring * Provides template for adding cross-cutting concerns */ export declare abstract class HealthMonitoringDecorator implements HealthMonitoring { protected readonly wrapped: HealthMonitoring; constructor(wrapped: HealthMonitoring); healthCheck(): Promise; } //# sourceMappingURL=base.d.ts.map