using System; using System.Threading.Tasks; using Bit.Core.Enums; using Bit.Core.Services; namespace Bit.Core.Abstractions { public interface IVaultTimeoutService { long? DelayLockAndLogoutMs { get; set; } Task CheckVaultTimeoutAsync(); Task ShouldTimeoutAsync(string userId = null); Task ExecuteTimeoutActionAsync(string userId = null); Task ClearAsync(string userId = null); Task IsLockedAsync(string userId = null); Task ShouldLockAsync(string userId = null); Task IsLoggedOutByTimeoutAsync(string userId = null); Task ShouldLogOutByTimeoutAsync(string userId = null); Task IsPinLockSetAsync(string userId = null); Task IsBiometricLockSetAsync(string userId = null); Task LockAsync(bool allowSoftLock = false, bool userInitiated = false, string userId = null); Task LogOutAsync(bool userInitiated = true, string userId = null); Task SetVaultTimeoutOptionsAsync(int? timeout, VaultTimeoutAction? action); Task GetVaultTimeout(string userId = null); Task GetVaultTimeoutAction(string userId = null); } }