interface secret {
/// Get the secret associated with the specified `key` effective at current timestamp.
/// Returns `ok(none)` if the key does not exist.
get: func(key: string) -> result<option<string>, error>;
/// Get the secret associated with the specified `key` effective `at` given timestamp in seconds.
/// Returns `ok(none)` if the key does not exist.
get-effective-at: func(key: string, at: u32) -> result<option<string>, error>;
/// The set of errors which may be raised by functions in this interface
variant error {
/// The requesting component does not have access to the specified key
/// (which may or may not exist).
access-denied,
/// Decryption error.
decrypt-error,
/// Some implementation-specific error has occurred (e.g. I/O)
other(string)
}
}