package transit

// TransitConfig is the transit engine configuration stored in the barrier.
type TransitConfig struct {
	MaxKeyVersions int `json:"max_key_versions"`
}

// KeyConfig is per-key configuration stored in the barrier.
type KeyConfig struct {
	Name                 string `json:"name"`
	Type                 string `json:"type"` // aes256-gcm, chacha20-poly, ed25519, ecdsa-p256, ecdsa-p384, hmac-sha256, hmac-sha512
	CurrentVersion       int    `json:"current_version"`
	MinDecryptionVersion int    `json:"min_decryption_version"`
	AllowDeletion        bool   `json:"allow_deletion"`
}
