using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Bit.Core.Enums;
namespace Bit.Core.Abstractions
{
public interface IPlatformUtilsService
{
string GetApplicationVersion();
///
/// Gets the device type on the server enum
///
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 AuthenticateBiometricAsync(string text = null, string fallbackText = null, Action fallback = null);
long GetActiveTime();
}
}