import type { CryptoOperations, RequestContext, SignatureOperations } from '../interfaces/core.js'; import type { AuditEvent, DecryptionRequest, EncryptionRequest, EncryptionResult, SignatureRequest, SignatureResult, VerificationRequest } from '../types.js'; import { CryptoOperationsDecorator, SignatureOperationsDecorator } from './base.js'; export type AuditEmitter = (event: AuditEvent) => void | Promise; /** * Audit decorator for CryptoOperations * Centralizes all audit event emission - eliminates 8+ duplications in local.ts * Ensures consistent audit logging across all crypto operations */ export declare class AuditedCryptoOperations extends CryptoOperationsDecorator { private readonly providerName; private readonly emitter; constructor(wrapped: CryptoOperations, providerName: string, emitter: AuditEmitter); encrypt(request: EncryptionRequest & RequestContext): Promise; decrypt(request: DecryptionRequest & RequestContext): Promise; } /** * Audit decorator for SignatureOperations * Centralizes all signature audit event emission */ export declare class AuditedSignatureOperations extends SignatureOperationsDecorator { private readonly providerName; private readonly emitter; constructor(wrapped: SignatureOperations, providerName: string, emitter: AuditEmitter); sign(request: SignatureRequest & RequestContext): Promise; verify(request: VerificationRequest & RequestContext): Promise; } //# sourceMappingURL=audit.d.ts.map