///
import type { BaseLogger } from 'pino';
export declare enum KmsVariant {
AWS = "aws",
LOCAL = "loc",
NULL = "nil"
}
export interface KmsProviderConfig {
aws?: boolean | {
region: string;
};
local?: Record;
}
export interface CryptoContext {
logger: BaseLogger;
}
export declare type KmsOperationContext = Record;
export interface KmsDataKey {
Plaintext: Buffer;
CiphertextBlob: Buffer;
}
export interface KmsCryptoProvider {
encrypt(keyArn: string, context: KmsOperationContext, plaintext: Buffer): Promise;
decrypt(context: KmsOperationContext, cipherBuf: Buffer): Promise;
generateDataKey(keyArn: string, context: KmsOperationContext): Promise;
}