namespace GoodBooks.PAY.PAYBLL.Vault
{
///
/// KV v2 secret reader with in-process caching.
/// Only VaultService calls HashiCorp Vault — no other class should.
///
public interface IVaultService
{
///
/// Reads a secret from Vault KV v2. Cached for 5 minutes sliding TTL.
///
/// is the mount-relative path stored in
/// MPAYGATEWAYCONFIG (e.g. "pay/razorpay/api_key"). The mount point "secret" is
/// assumed by the implementation.
///
///
Task GetSecretAsync(string vaultKeyPath, CancellationToken ct = default);
}
}