// #region KeystoneChallengeType
export const KEYSTONE_CHALLENGE_TYPE_HASH_REVEAL_V1 = 'hash-reveal-v1';
export const KeystoneChallengeType = {
    hash_reveal_v1: KEYSTONE_CHALLENGE_TYPE_HASH_REVEAL_V1,
};
export const KEYSTONE_CHALLENGE_TYPE_VALID_VALUES = Object.values(KeystoneChallengeType);
export function isValidKeystoneChallengeType(x) {
    return typeof x === 'string' && KEYSTONE_CHALLENGE_TYPE_VALID_VALUES.includes(x);
}
// #endregion KeystoneChallengeType
// ===========================================================================
// CONFIGURATION
// ===========================================================================
// #region KeystoneReplenishStrategy
/**
 * @see {@link KeystoneReplenishStrategy.topUp}
 */
export const KEYSTONE_REPLENISH_STRATEGY_TOP_UP = 'top-up';
/**
 * @see {@link KeystoneReplenishStrategy.replaceAll}
 */
export const KEYSTONE_REPLENISH_STRATEGY_REPLACE_ALL = 'replace-all';
/**
 * @see {@link KeystoneReplenishStrategy.consume}
 */
export const KEYSTONE_REPLENISH_STRATEGY_CONSUME = 'consume';
/**
 * @see {@link KeystoneReplenishStrategy.deleteAll}
 */
export const KEYSTONE_REPLENISH_STRATEGY_DELETE_ALL = 'delete-all';
/**
 * @see {@link KeystonePoolBehavior.replenish}
 */
export const KeystoneReplenishStrategy = {
    /**
     * replaces each used challenge, "topping up" the pool to the pool's size
     */
    topUp: KEYSTONE_REPLENISH_STRATEGY_TOP_UP,
    /**
     * replaces the entire pool with the new challenges
     */
    replaceAll: KEYSTONE_REPLENISH_STRATEGY_REPLACE_ALL,
    /**
     * do not replenish, only consume
     *
     * ## intent
     * adding this for revocation, though we have added deleteAll for this now.
     * Leaving it in.
     */
    consume: KEYSTONE_REPLENISH_STRATEGY_CONSUME,
    /**
     * Deletes ALL challenges in the pool, regardless of how many were used.
     * The "Nuclear Option" for revocation.
     */
    deleteAll: KEYSTONE_REPLENISH_STRATEGY_DELETE_ALL,
};
export const KEYSTONE_REPLENISH_STRATEGY_VALID_VALUES = Object.values(KeystoneReplenishStrategy);
export function isKeystoneReplenishStrategy(x) {
    return typeof x === 'string' && KEYSTONE_REPLENISH_STRATEGY_VALID_VALUES.includes(x);
}
//# sourceMappingURL=keystone-types.mjs.map