using Bit.Core.Enums;
namespace Bit.Core.Abstractions
{
public interface IPlatformUtilsService
{
string GetApplicationVersion();
///
/// Gets the device type on the server enum
///
Enums.DeviceType GetDevice();
string GetDeviceString();
ClientType GetClientType();
bool IsSelfHost();
bool IsViewOpen();
void LaunchUri(string uri, Dictionary options = null);
Task ReadFromClipboardAsync(Dictionary options = null);
Task ShowDialogAsync(string text, string title = null, string confirmText = null,
string cancelText = null, string type = null);
Task ShowPasswordDialogAsync(string title, string body, Func> validator);
Task<(string password, bool valid)> ShowPasswordDialogAndGetItAsync(string title, string body, Func> validator);
void ShowToast(string type, string title, string text, Dictionary options = null);
void ShowToast(string type, string title, string[] text, Dictionary options = null);
void ShowToastForCopiedValue(string valueNameCopied);
bool SupportsFido2();
bool SupportsDuo();
Task SupportsBiometricAsync();
Task IsBiometricIntegrityValidAsync(string bioIntegritySrcKey = null);
Task AuthenticateBiometricAsync(string text = null, string fallbackText = null, Action fallback = null, bool logOutOnTooManyAttempts = false, bool allowAlternativeAuthentication = false);
long GetActiveTime();
}
}